第五章 虚拟存储器

一、虚拟存储器的基本概念

1、程序执行的特点:

1)多数情况下仍是顺序执行。

2)少部分的转移和过程调用指令会使程序执行由一部分区域转至另一部分区域

3)许多由少数指令构成的循环结构会多次执行。

4)对许多数据结构的处理(如数组)往往局限于很小的范围内。

2、程序执行的局部性:

1)时间局部性

2)空间局部性

3、交换技术与虚存使用的调入调出技术有何相同和不同之处?

1)主要相同点是都要在内存与外存之间交换信息;

2)主要区别在于交换技术换出换进一般是整个进程(proc结构和共享正文段除外),因此一个进程的大小受物理存储器的限制;

3)而虚存中使用的调入调出技术在内存与外存之间来回传递的是存储页或存储段,而不是整个进程,从而使得进程映射具有了更大的灵活性,且允许进程的大小比可用的物理存储空间大的多 。

4、虚拟存储器:具有请求调入功能置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。

5、虚拟的实现建立在离散分配存储管理基础上

1)方式:请求分页/请求分段系统

2)细节:分页/段机构、中断机构、地址变换机构、软件支持

6、虚拟存储器的特征

1)多次性

2)对换性

3)虚拟性


二、请求分页存储管理方式

1、基本分页 +“请求调页”和“页面置换”功能。

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

增加虚拟功能后需记录的页表项信息有变化

3、缺页中断机构:

每当要访问的页面不在内存时,便产生一缺页中断通知OS,OS则将所缺之页调入内存。

4、地址变换机构:

5、内存分配

(一)最小物理块数的确定

1、少于此数量进程将不能运行

2、与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式

(二)物理块的分配策略

1、固定分配、局部置换

为每个进程分配一定数目的物理块,在整个运行期间不再改变

2、可变分配、全局置换

OS管理一个空闲物理块队列,发生缺页时,系统从队列中取出一块分配给该进程,将欲调入的页装入

3、可变分配、局部置换

缺页时,只允许换出该进程在内存的页面,不影响其他进程执行。

(三)物理块的分配算法

1、平均分配算法

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

2、按比例分配算法

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


6、调页策略

(一)何时调入页面

1、预调页策略

以预测为基础,将预计不久后便会被访问的若干页面,预先调入内存。

2、请求调页策略

运行中需要的页面不在内存,便立即提出请求,由OS将其调入内存。

(二)从何处调入页面

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

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

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

(三)页面调入过程

1、程序运行前需要装入内存:上述的②步策略处理何处调入;

2、开始运行:先预调入一部分页面;

3、运行中:需要的页面不在内存时,向CPU发出一缺页中断,“中断处理程序”开始工作


三、页面置换算法

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

2、最佳Optimal置换算法、

换出以后永不再用的,或在最长(未来)时间内不再被访问的页面。

3、先进先出FIFO置换算法

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

4、最近最久未使用(LRU)置换算法

LRU置换算法选择最近最久未使用的页面予以淘汰。

5、CLOCK置换算法

每个页设一个使用标志位,若该页被访问则将其置为1。

设置一个指针,从当前指针位置开始按地址先后检查各页,寻找use bit=0的页面作为被置换页。

6、最少使用置换算法

页设置访问计数器,每当页面被访问时,该页面的访问计数器加1;缺页中断时,淘汰计数值最小的页面,并将所有计数清零;

7、页面缓冲算法PBA

系统将页面放入两个链表之一:如果页面未被修改,就将其归入到空闲页面链表的末尾;否则将其归入到已修改页面链表。


四、虚拟存储管理下访问内存的有效时间

请求分页管理方式下,存在三种方式的内存访问

1、页在内存,且快表检索命中

EAT= l + t

2、页在内存,但快表检索没有命中

EAT=快表检索时间+访问页表时间+修改更新快表时间+访问页面物理内存时间=l +t+ l +t=2*(l +t)

3、页面不在内存

EAT=快表检索时间+访问页表时间+缺页中断处理时间+修改更新快表时间+访问页面物理内存时间

  =l + t + e + l  + t

4、加入概率的综合公式(a是快表命中率,f是缺页率)

EAT= l  + a*t +(1-a)*{    }

         =l  +a*t +(1-a)*{t + f*(e+l+t) +(1-f)*(l+ t)}


五、影响缺页率的主要因素

(1)分配给作业的主存块数:

  多则缺页率低,反之则高。

(2)页面大小:

  大则缺页率低;反之则高。

(3)页面调度算法:

  对缺页中断率影响很大,但不可能找到一种最佳算法。

(4)程序编制方法:

  以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;反之,按列处理各元素,则缺页中断率高。


六、抖动

1、系统抖动:

为了提高处理机利用率,可增加多道程序并发度;

但进程数目增加过多,每个进程分配得到的物理块太少,在某个临界点上,会出现刚被淘汰的页很快又需重新调入;而调入不久又被淘汰出去;出现频繁缺页

大部分处理器时间都用在来回的页面调度上,这种局面称为系统抖动或颠簸(thrashing)

2、抖动的后果:

缺页率急剧增加

内存有效存取时间加长,

系统吞吐量骤减;系统已基本不能完成什么任务,而是忙于页面对换操作,cpu虽然忙,但效率急剧下降。

3、根本原因:

页面淘汰算法不合理;分配给进程的物理页面数(驻留集)太少。


七、请求分段存储管理方式

1、请求分段中的硬件支持

①段表机制

(1)存取方式:用于标识本分段的存取属性。R,R/W,W

(2)访问字段A:用于记录本段被访问的频繁程度。

(3)修改位M:表示该段在调入内存后是否被修改过。

(4) 存在状态位P :指示该段是否已调入内存。

(5)增补位:特有字段,表示该段运行中是否做过动态增长

(6)外存地址:用于指出该段在外存上的起始地址(盘块号)。

②缺段中断机构

缺段中断同样在一条指令的执行期间产生和处理中断,一条指令执行可能产生多次缺段中断。但不会出现一条指令被分割在两个分段中或一组信息被分割在两个分段中的情况。

③地址变换机构

增加了缺段中断的请求及处理等功能

2、分段的共享和保护

1)实现共享:共享段表

在内存中配置一张共享段表,每个共享段都占有一表项

2)共享段如何分享与回收

第一个请求使用该共享段的进程A:系统为该共享段分配一物理区,再把共享段装入该区

包括撤消在进程段表中共享段所对应的表项,执行count:=count-1

如果count为0,则由系统回收该共享段的物理内存,并取消共享段表中该段所对应的表项

3)分段保护

越界检查

存取控制检查

环保护机构

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容

  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,108评论 1 22
  • 8.1虚拟存储的需求背景 虚拟内存是非连续内存分配的一个延续,非连续内存分配在存储空间内可以连续也可以不连续。虚拟...
    龟龟51阅读 5,745评论 2 6
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 11,750评论 3 34
  • 中国文学史上有着不少“龙生龙,凤生凤”的文坛住话,比如“三曹”(曹操与他的儿子曹丕、 曹植),“三苏”(苏洵与他的...
    仰望xing晨阅读 2,033评论 2 6
  • 让我重新认识了5S,以及何谓管理。5s包括:整理。针对的是空间。是5s的基础。主要通过区分要与不要。对现...
    唐玉泉阅读 253评论 0 0