操作系统(第四版)-------虚拟存储器

 

 

1)常规存储器管理方式的特征

  一次性:作业在运行前一次性的全部装入内存

  驻留性:作业装入内存后,便一直驻留在内存,直至作业运行结束

2)局部性原理  

  时间局部性:被引用过一次的存储器位置很可能在不远的将来再被多次引用

  空间局部性:如果一个存储器的位置被引用过一次,那么程序很可能在不远的将来引用附近的一个存储器位置

    基于局部性原理:程序运行前,不需要全部装入内存

            缺页/段时,如果内存已满,无法再装入新的段/页时,通过置换功能将内存中暂时不用的调至外存,腾出足够的内存空间

 

3)虚拟存储器的定义

    是指具有请求调入功能和置换,能从逻辑上对内存容量加以扩充的一种存储器系统

 

4)虚拟存储器的实现

    虚拟存储管理:  

      允许将一个作业分多次调入内存

         若采用连续分配方式,需申请足够空间,在分多次装入,造成内存资源浪费,并不能从逻辑上扩大内存容量

    所以,虚拟的实现建立在离散分配存储管理基础上

 

5)虚拟存储器的特征

    离散分配方式是基础

    多次性:一个作业被分成多次调入内存运行

    对换性:允许作业在运行的过程中进行换出,换进

    最终体现虚拟性

 

            具体实现:请求分页存储管理方式

              基本分页+请求调页+页面置换功能

              换入和换出基本单位都是长度固定的页面

①页表的基本功能不变:逻辑地址映射为物理地址  

(1) 状态位P :指示该页是否已调入内存。

(2) 访问字段A :用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问。(置换时考量的参数)

(3) 修改位M :该页在调入内存后是否被修改过。(关系到置换时调出的具体操作)

(4) 外存地址:用于指出该页在外存上的地址。

 

②缺页中断机构

  每当要访问的页面不在内存中时,便产生一缺页中断通知OS,OS则将所缺之页调入内存。作为中断,需经历几个步骤

    保护CPU环境     分析中断原因       转入缺页中断处理程序     恢复CPU环境等

作为一种特殊中断,与一般中断有明显区别:

  1)在指令执行期间产生和处理中断信号

  2)一条指令在执行期间,可能产生多次缺页中断

 

③地址变换机构

分页系统地址变换机构+  产生和处理缺页中断(请求调入) + 从内存中换出一页的功能(置换)

 

 

 

 

 

    

 2)内存分配

    三个问题:最小物理块数的确定      物理块的分配策略      物理块的分配算法

    分配策略      固定分配局部置换   

                为每个进程分配一定数目的物理块,在整个运行期间不再改变(基于进程的类型,或根据程序员、程序管理员的建议) 运行中缺页时,只能从该进程内存中n个页面中选出一页换出,然后再调入一页。

           可变分配全局置换

                先为每个进程分配一定数目的物理块 OS管理一个空闲物理块队列,发生缺页时,系统从队列中取出一块分配给该进程,将欲调入的页装入(动态增长型,全局空闲空间都可分配使用) 空闲空间不足时,可与其他任何进程页面置换。

                “会使其他进程缺页率提高,影响运行”

           可变跟配局部置换

             为每个进程分配一定数目的物理块 缺页时,只允许换出该进程在内存的页面,不影响其他进程执行。

                 根据缺页率增减进程的物理块数:若频繁缺页中断,则系统再为进程分配若干物理快;若缺页率特别低,则适当减少分配给该进程的物理块。

 

③物理块的分配算法

  平均分配算法

      将所有可供分配的物理块平均分配给各进程

  按比例分配算法

      根据进程的大小按比例分配物理块

  考虑优先权的分配算法

      实际应用中,要照顾重要,急迫的作业尽快完成,为它分配较多的内存空间

 

 

3)调页策略

    ①何时调入页面 

      预调页策略

      请求调页策略

    ②从何处调入页面

        在请求分页系统中的外存分为:

          对换区:连续存放数据,读写速度较快

          文件区:离散分配方式,i/o速度相对慢

发生缺页时,系统应从何处将缺页调入内存,分为三种情况

系统拥有足够的对换区空间: 进程运行前所有页面由文件区拷贝到对换区; 运行需要的页面全部从对换区调入内存,提高调页速度。 系统缺少足够的对换区空间: 不会被修改的部分,在文件区操作(即:直接从文件区调入,换出时不用写入文件,再调入时仍从文件区调入) 可能被修改的部分,在对换区操作。 UNIX方式:(随运行数据逐渐从文件区转到对换区) 未运行的页面从文件区调入; 曾经运行,但又被换出的页面放在对换区,下次调入应从对换区调入。 进程请求的共享页面

 

3页面置换算法:选择换出哪些页面的算法,其好坏直接影响系统的性能

    应具有较低的缺页率

 

1)最佳置换算法:理论上的算法

  优点:保证获得最低的缺页率

  不足:无法实现     作为标准,评价其他算法

2)先进先出置换算法

  先进入的先淘汰,既选择内存中驻留时间最久的页面予以淘汰

 

 

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

  选择最近最久未使用的页面予以淘汰

 

4)轮转算法

 

posted @ 2018-11-24 19:34  yanbinging  阅读(302)  评论(0)    收藏  举报