操作系统常考点准备一

133 阅读4分钟

这是我参与更文挑战的第12天,活动详情查看: 更文挑战

一、虚拟存储机制

1.1 传统存储管理

特性:

  1. 一次性:作业必须一次性全部装入内存才能开始运行。

    导致:(1)大作业无法运行;(2)大量作业要求运行时,程序并发度下降

  2. 驻留性:一旦作业被装入内存,就会一直驻留在内存中,直至作业运行结束。事实上,在一段时间内只需访问作业的一小部分数据即可正常运行。

高速缓冲技术

思想:将近期会频繁访问到的数据存放到更高的存储器中,暂时用不到的数据放在更低速的存储器中。

img

1.2 虚拟内存的运行

  • 基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存暂时用不到的部分留在外存,就可以让程序开始执行。

    在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。

    若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存

  • 在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存

  • 虚拟内存是操作系统虚拟性的一个体现,实际的物理内存大小没有变,只是在逻辑上进行了扩充。

  • 虚拟内存最大容量是由计算机的地址结构(cpu寻址范围)确定的

1.3 虚拟存储器的特征

  1. 多次性

    无需在作业运行是全部装入内存,而是允许被多次调入内存

  2. 对换性

    在作业运行时无需常驻内存,而是允许在作业运行过程中,将作业换入、换出

  3. 虚拟性

    在逻辑上扩充了内存的容量,是用户看到的内存容量远大于实际容量

1.4 虚拟存储器的实现方法

  1. 分页请求系统

    (1)请求分页的页表机制

    (2)缺页中断机构

    (3)地址变换机构

  2. 请求分段系统

    (1)请求分段的段表机制

    (2)缺页中断机构

    (3)地址变换机构

1.5 页面置换算法

  1. 最佳置换算法

  2. 先进先出置换算法(FIFO)

  3. 最近最久未使用置换算法(LRU)

  4. 最少使用置换算法(LFU)

  5. Clock置换算法以及改进型Clock置换算法

    1类(A=0,M=0):表示该页最近既未被访问,又未被修改,是最佳淘汰页。 2类(A=0,M=0):表示该页最近未被访问,但已被修改,并不是很好的淘汰页。 3类(A=1,M=0):表示该页最近已被访问,但未被修改,该页有可能在被访问。 4类(A=1,M=1):表示该页最近已被访问且被修改,该页可能再被访问。

1.6 抖动和工作集

  • 抖动原因:运行的进程太多,分配给每一个进程的物理块太少,频繁的出现缺页。不断的换进换出
  • 工作集:某段时间间隔里,进程实际所要访问页面的集合。

二、分段管理和分页管理

共同点

  • 两者都采用离散分配方式
  • 都要通过地址映射机构来实现地址变换

不同点

  • 页是信息的物理单位,用户透明,长度固定,分页是由于系统管理的需要而不是用户的需要

    段是信息的逻辑单位,用户课件,长度可变,为了能更好地满足用户的需要

  • 页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分。

    段的长度却不固定,决定于用户所编写的程序,通常由编译程序根据信息的性质来划分。

  • 分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址

    分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。