coursera 《现代操作系统》 -- 第八周 存储模型(2)

名词解释

页面:

页面大小:

页表:

页表项:

以上名词解释见: coursera 《现代操作系统》 -- 第七周 存储模型(1)

页表项大小:

问:以上是怎么计算出来的? 

32位指什么?

页缓冲技术

问:为什么置换出去还要保留到内存,置换不就是为了减少内存的消耗吗?而留在内存中还是消耗的。

快表 (TLB)

引入快表的原因

解决办法

加快地址访问速度,以改善系统性能

程序访问的局部性原理1 -> 引入快表

快表是什么

加入 TLB 后的地址转换过程

首先第一件事是先查 快表 TLB,我们可以看到这张图里头示意出是 并行地去进行比较啊确定 你要访问的这个页表项是不是在 快表里头,当然有两种结果,一种就是命中 叫做 TLB hit,就是命中了。 如果命中了,那我就可以 得到了这个虚页号所对应的页框号,我就可以直接拼接出 物理地址了。 当然也可能会出现没有命中的情况,比如说如果没有命中,那么下面 这个 MMU 继续用这个虚页号去查页表 啊查页表,这就是 TLB miss 的时候就去查页表 那么查了页表,找到了对应的页表项,我们还要看它的这个有效位是不是 0 或还是 1 如果是 1,那么说明这个页框啊内容已经是这个读入内存的内容了,那么这个时候 就需要从页表项当中得到了页框号,也是可以形成物理地址 那么也可能这个有效位是 0,表示这个页面还没有读入 内存,这个时候就要产生一个啊异常,叫做 Page fault 异常 那么 page fault 异常就是转入了操作系统,操作系统就会 做相应的工作。 比如说,到磁盘上把相应的页面 先调入内存,就得到了页框号,再去把页表 填好,然后再重新再进行地址转换 啊,得到了相应的物理地址,来去访问内存 所以这就是加入了快表之后的地址转换的一个过程的一个示意 

页错误 (Page fault)

它通常指的是在地址转换的过程中, 硬件发现了一些问题,然后产生了异常。 那么我们知道第二讲我们讲过,产生异常之后呢就进入了 操作系统,由操作系统呢来处理这样一些 情况啊,所以这个机制呢,大家结合啊第二讲所讲的内容来理解。 

驻留集

置换问题

置换范围

置换策略

页框锁定

为了使进程运行时间更稳定、更好预测

清除策略

保证系统中存在一定的空闲页框数,能提高效率

页缓冲技术

收回页框

页框收回后,数据保存到磁盘,在页表上标记为空闲。但是,直到这个页框被新的数据覆盖之前,这个页框还是保留之前的数据。所以,当一个进程需要使用已经被置换出的页框,但是这个页框还保留有原来的数据,没有被新的数据覆盖,将这个页框从空闲页框中恢复出来即可。

错题

提出存储层次体系的主要依据是

存储保护技术

程序访问的局部性原理

虚拟存储技术

多道程序设计技术


在虚拟页式存储系统中,若页面尺寸为4K,页表项大小为4字节,则采用三级页表结构可以表示多大的虚拟地址空间?

239

220

242

248

 
 

参考:

1.程序访问的局部性原理程序的局部性原理是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。局部性原理又表现为:时间局部性和空间局部性。时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。

原文地址:https://www.cnblogs.com/jay54520/p/6607662.html