码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统概述

时间:2016-08-23 16:20:11      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

1.进程与线程

  • 进程是系统进行资源分配和调度的一个独立单位。线程是CPU进行资源分配和调度的基本单位。
  • 引入线程有以下的优点:易于调度;提高并发性;开销小;有利于发挥多处理器的功能。
  • 进程与线程的区别:一个进程可以包含多个线程,但一个线程只能属于一个进程;一个进程的所有线程共享该线程的所有资源;线程是轻量级的进程,其切换代价小;每个进程都有自己独立的空间。

2.线程同步的机制

  • 临界区
  • 互斥量
  • 信号量
  • 事件

3.内核线程和用户线程

  根据操作系统内核是否对线程可感知,将线程分为内核线程和用户线程。

  • 内核线程又叫守护线程,其建立、销毁和维护是由操作系统负责、通过系统调度完成。操作系统在调度时参考各进程内的线程运行状况作出调度决定,如果一个进程中没有就绪的线程,那么这个进程就不会占用CPU。
  • 用户线程不需要内核支持而在用户程序中实现的线程,其不依赖与操作系统核心,用户进程利用线程库提供创建、同步。调度和管理线程的函数。

4.内存管理的几种方式?

  • 块式管理
  • 页式管理
  • 段式管理
  • 段页式管理

5.分段和分页的区别

  • 页是信息的物理单位,分页实现了离散分配方式;段是信息的逻辑单位,它含有一组有意义且相对完整地信息。
  • 页的大小固定且由系统确定,段的长度不确定。
  • 分页的作用空间是一维的,即是单一的现行空间,程序员只需利用一个记忆符,即可表示一段地址;分段的作业空间是二维的,程序员在标识一个地址的时候,既需要给出段名,又需要给出段内地址。

6.什么是虚拟内存?

  相对于物理内存而言的,可以理解为“假的”内存,它使得应用程序认为他拥有连续可用的内存,允许程序员编写并运行比实际系统拥有的内存大得多的程序,这使得许多大型软件能在内存有限的系统上实现。

虚存的优点:扩大地址空间;内存保护;公平分配内存;便于进程通信

       缺点:需要额外的数据结构,会占用额外的内存;虚拟地址与物理地址转换的时候会增加指令的执行时间;页面的换入换出需要磁盘I/0;页面只有一部分内容的时候,会浪费内存。

7.内存碎片?内碎片?外碎片?

  • 内存碎片是由于多次进行内存分配造成的
  • 内碎片:分配给程序的存数空间没有用完,有一部分没有用完,但其他程序也无法使用的空间。
  • 外碎片:由于空间太小,小到无法给任何程序分配的存数空间。

8.虚拟地址、逻辑地址、线性地址、物理地址

  • 虚拟地址是由程序产生的由段内选择符和段内便宜地址组成的地址;
  • 逻辑地址是由程序产生的段内偏移地址;
  • 线性地址是指虚拟地址到物理地址之间的中间层,是处理器可寻址的内存空间。若没有分页机制,线性地址就是物理地址。
  • 物理地址是CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。

9.Cache(缓存)替换算法

  1. RAND随机算法
  2. FIFO先进先出算法
  3. LRU近期最少使用算法
  4. LFU近期最少使用算法
  5. OPT最优替换算法

10.库函数与系统调用?

库函数调用是语言或应用程序的一部分,他是高层的,完全运行在用户空间,为程序员提供调用真正的在幕后完成实际事务的系统调用接口;

系统函数是内核提供给应用程序的接口,属于系统的一部分。

11.静态链接与动态链接

静态连接是指把要掉用的函数或者过程直接连接到可执行文件中,成为可执行文件的一部分。

动态链接所调用的函数代码并没有复制到应用程序的可执行文件中,而是仅仅在其中加入了所调用函数的描述信息。

12.静态链接库与动态链接库

静态链接库就是使用.lib文件

动态链接库是一个包含可由多个程序同时使用的代码和数据的库。

13.用户态和核心态

 

14用户栈与核心栈

 

操作系统概述

标签:

原文地址:http://www.cnblogs.com/xiaoxiaohui2015/p/5799370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!