Chapter5虚拟存储器

前一章所介绍的各种存储器管理方式称为传统存储器管理方式,有以下两个特征:
1)一次性。作业必须一次性全部装入内存后才能开始运行。
2)驻留性。作业被装入内存后,就一直驻留在内存中,其中任何部分都不会被换出。即使有的进程被阻塞了,或有的模块运行一次就不需要了。
但这两个特征并不是程序运行时所必须的,因为有局部性原理,所以可以采用虚拟存储器,应用程序在运行之前没有必要将之全部装入内存,而仅须将哪些当前要运行的少数页面或段先装入内存便可运行,其余部分暂留在盘上。程序在运行是,若它所要访问的页(段)已调入内存,便可继续执行下去;若要访问的页(段)尚未调入内存(缺页/缺段),便发出中断请求。


虚拟存储器:具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
具有以下三个特征:1)多次性;2)对换性;3)虚拟性
虚拟性以多次性和对换性为基础,多次形和对换性建立在离散分配的基础上。


请求分页存储管理方式
在分页系统的基础上增加了请求调页功能和页面置换功能。

请求分页中的硬件支持
1.请求页表机制
([页号][物理块号][状态位P][访问字段A][修改位M][外存地址])
状态位P:用于指示该页是否已调入内存,供程序访问时参考。
访问字段A:记录本页在一段时间内被访问次数或最近已有多长时间未被访问。在置换程序中会作为是否被换出的参考。
修改位M:是否被修改过,决定被换出的时候要不要写回到外存。
外存地址:通常是物理块号(外存上的)
2.缺页中断机构
缺页中断作为中断同样需要经历保护CPU现场,分析中断原因,转入缺页中断处理程序,处理完后恢复CPU现场等步骤。但与一般的中断不同的是:
1)在指令执行期间产生和处理中断信号
2)一条指令在执行期间可能会产生多次缺页中断
3.地址变换机构
pic
快表 页:内存块号
快表中没有就去内存中的页表找 页:内存块号
页表中指示该页不再内存中 就根据外存地址(外存物理块号)来调页
然后要修改页表(状态位,物理块号)
修改快表

请求分页中的内存分配
1.最小物理块数的确定
为保证进程能正常运行,最小需要多少物理块。若太少的话,进程执行中的缺页率就会上升。
2.内存分配策略
固定和可变分配策略。
全局和局部置换策略。
1)固定分配局部置换
固定分配:为每个进程分配一组固定数目的物理块,在运行期间不再改变。
局部置换:只能从分配给该进程的n个页面中选出一页换出,然后再调入一页,以保证分配给该进程的内存空间不变。
2)可变分配全局置换
可变分配:先为每个进程分配一定数目的物理块,在运行期间可根据情况适当增加或减少。
全局置换:缺页时给它一个空闲块,或者从所有进程的全部物理块中挑一页换出。
3)可变分配局部置换
若进程在运行中频繁发生缺页中断,则系统须再为该进程分配若干附加的物理块,直至该进程的缺页率减少到适当程度为止。反之,若一个进程在运行过程中缺页率特别低,则此时可适当减少分配给该进程的物理块数,但不引起其缺页率明显增加。
3.物理块分配算法
在采用固定分配策略时,如何将系统中可供分配的所有物理块分配给各个进程。
1)平均分配算法
2)按比例分配算法
进程的页面数/总页面数*总块数(取整并大于最小物理块数)
3)考虑优先权的分配算法
把内存中可供分配的所有物理块分成两部分:一部分按比例分配给各进程;另一部分根据优先权进行分配,为高优先进程适当增加份额。


页面调入策略
1.何时调入页面
1)预调页策略
预计在不久之后便会被访问的页面预先调入内存,但这个预测的成功率不太高。
在采用工作集的系统中,每个进程都具有一张表,表中记录有运行时的工作集,每当程序被调度运行时,将工作集中的所有页调入内存。
2)请求调页策略
发现要访问的页不在时才调。
每次仅调入一页,须花费较大的系统开销,增加了磁盘I/O的启动频率。
2.从何处调入页面
外存被分为两部分:存放文件的文件区,存放对换页面的对换区。
由于对换区采用连续分配方式,文件区采用离散分配方式,所以对换区的数据存取速度比对换区高。
1)系统拥有足够的对换空间。
在进程运行前将与该进程有关的文件从文件区拷贝到对换区,然后全部从对换区调入所需页面。
2)系统缺少足够的对换空间。
凡是不会被修改的文件,都直接从文件区调入,这样换出的时候就不用写回,下次还是从文件区调。对于那些可能被修改的部分,在将它们换出时便须调到对换区,以后需要时从对换区调入。
3)UNIX方式
未运行过的页面从文件区调,曾经运行过又被换出的页面从对换区调。UNIX系统允许页面共享,某进程所请求的页面有可能已被其它进程调入内存,此时也无需从对换区调了。
3.页面调入过程
缺页中断-》保存CPU现场-》缺页中断程序-》从页表找到外存上的物理块-》若内存能容纳新页(若内存不够则要置换出一页并且要考虑是否需要写回),启动磁盘I/O,将所缺之页调入内存,修改页表-》修改块表-》访问内存中的数据
整个过程对用户是透明的
4.缺页率
页面访问次数/(页面访问失败次数+成功次数)
缺页率受以下因素影响
1)页面大小。页面划分较大,缺页率较大。
2)进程所分配物理块的数目越多缺页率越低。
3)页面置换算法。
4)程序固有特性。局部化程度越高,缺页率越低。
缺页中断处理时间:
假设页面被修改的概率为β,缺页中断处理时间为ta,没被修改的话终端处理时间时tb
t=βta+(1-β)tb


woc刚才忘记保存了,哭了orz
页面置换算法
不适当的算法会导致抖动:刚被换出的页很快又要被使用

最佳置换算法
换出距离下一次访问最久的页

先进先出FIFO
把一个进程已调入内存的页面按先后次序链接成一个队列,并设置一个指针,称为替换指针,总是指向最老的页面。

最近最久为使用LRU
距离上一次被访问时间最久
硬件支持(寄存器和栈之一)
1)为内存中的每个页面配一个移位寄存器
访问时把最高位置1,然后定时右移一位,将寄存器数看作整数,数值最小的就是最久未访问的
pic
2)栈
用一个栈保存当前使用的各页面的页面号,某页面被访问时把它从栈中移出放到栈顶。置换栈底的页。

最少使用LFU
移位寄存器,被访问时最高位置一,定时右移,ΣRi最小的就是最少被访问的


访问内存的有效时间
1)页在内存,页表项在快表
EAT=访问快表的时间λ+访问内存的时间t
2)在内存,不再快表
EAT=λ+t+修改快表λ+t
3)不再内存
EAT=λ+t+缺页中断处理β+λ+t(修改页表的时间包含在中断处理了)
综合,假设命中率为a,缺页率为f
EAT=λ+at+(1-a)[t+f(β+λ+t)+(1-f)(λ+t)]
若不考虑命中率仅考虑缺页率,λ=0,a=0


请求分段存储管理方式
在分段系统的基础上增加了请求调段及分段置换功能。
([段名][段长][段基址][存取方式][访问字段A][修改位M][存在位P][增补位][外存始址])
存取方式:段是逻辑单位,所以可以根据信息的属性对其加以保护。只执行,只读,允许读/写
增补位:本段在运行过程中是否做过动态增长

缺页中断机构
pic

地址变换机构
pic

分段的共享
1.共享段表
pic
count:仅当count为0时,系统才能回收内存
不同的进程赋予不同的存取权限
段号:对于一个共享段,在不同的进程中可以用不同的段号去访问它。
2.共享段的分配
在调用进程的段表中增加一项,填写共享段的物理地址;
在共享段的段表中增加一项,填写调用进程的信息,count+1
3.共享段的回收
撤销调用进程段表中该段的表项,count-1,若为0,回收内存,不为0,撤销共享段表项中调用进程的记录。

分段的保护
1.越界检查
段号与段表长度的比较;段内地址与段长的比较
2.存取控制检查
3.环保护机构
一个程序可以访问驻留在相同环或较低特权环(外环)中的数据
一个程序可以调用驻留在相同环或较高特权环(内环)中的服务

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