4、快表的构造与作用
快表 就是页表的一部分克隆,每行中有页号及其对应的块号,整个快表存放在一个小容量的高速缓存中,访问时快表和内存同时进行查找,因为快表速度很快,而常用的页都登记在快表中,因此可以大大加快执行速度。
5、采用页式管理的地址转换过程
(为什么不直接用块分配表来记录而要用位示图呢,因为主存块很多,这样可以节省空间,提高效率。位示图就是用一个位(0或1)来表示一个块的使用状态,一个字32位,可以表示32块。按顺序排列,只需一小段内存就可以记录主存中大量的块状态)
6、利用位示图实现页式存储空间的分配和回收
页式存储管理把主存空间分成大小固定的许多块,在装业作业时,如何知道主存中哪些块已使用,哪些还未用,可以用位示图来表示。
块号=字号×字长+位号
字号=[i/字长](即块号i除以字长取整)
位号=i mod 字长(即块号i除以字长取余)。
五、段式存储管理( 领会 )
1、段式存储中段的划分
段式管理 是根据人们对 程序 中需要 分段编制 的要求出发而提供的。它提供给用户编程时使用的逻辑地址由“段号”和“段内地址”两部分组成,其形式和页式管理相同。但是实际上是不同的:
页式存储管理提供连续逻辑地址由系统自动分页,段式存储管理中的作业分段是由用户决定的,每段独立编程,因此段间的逻辑地址是不连续的。
2、段式存储空间的分配
这种分配方法和可变分区管理方式的分配方法相同,所不同的是:
可变分区管理方式中是为每个作业分一个区,而段式管理是为一个作业中的每个段分一个连续的空间。(段式管理更细)。
3、段表的构造与作用
段表 由 段号 、 本段限长 和 起始地址 三部分组成,由于每一行记录的行号可以对应程序的段号,因此段号实际上被省略,不占存储空间。
与其他管理方式一样,段表记录的信息用于地址转换和存储保护。段表的表目起到了基址/限长寄存器的作用。
4、段式存储管理的地址转换
这个转换过程如同可变分区方式的地址转换,但是由段表的表目替代了基址/限长寄存器。
绝对地址=根据段号找到段表中的起始地址+段内地址 (如果段内地址超过限长则产生“地址越界”程序性中断事件达到存储保护)
多道程序设计系统中,每个进入主存的作业都建立了段表,因此还有一个硬件“段表控制寄存器”来记录每个作业的段表在主存中的位置和长度。
六、虚拟存储器( 领会 )
1、什么是虚拟存储器
虚拟存储器 是为“扩大”主存容量而采用的一种设计技巧,它利用作业在只装入部分信息时就可以执行的特性和程序执行中表现出来的局部性特性,借助于大容量的辅助存储器实现小主存空间容纳大逻辑地址空间的作业。
虚拟存储器的容量 由计算机的 地址结构(总线位数) 决定。
2、虚拟存储器的实现原理
它的工作原理如下:首先把作业信息保留在磁盘上,当作业请求装入时,只将其中一部分先装入主存,作业执行中若要访问的信息不在主存中,则再设法将这些信息装入主存。
3、分页式虚拟存储器的实现
页式虚拟存储管理 是在 页式存储管理 的基础上实现的。首先把作业信息作为副本存放在磁盘上,作业执行时,把作业信息的部分页面装入主存储器,作业执行时若所访问的页面已经在主存中,则进行地址转换,得到绝对地址,否则产生“缺页中断”由操作系统把当前所需的页面装入主存。
4、常用的页面调度算法:FIFO、LRU、LFU
当主页中无空闲块时,为了装入一个页面,就必须按某种算法将主存中某个页调出,调入所需装入的页面。这就是页面调度。常用的算法有:先进先出调度算法( FIFO )、最近最少使用调度算法( LRU )和最近最不常用调度算法( LFU )。
特别要注意掌握的就是 LRU的算法 ,如何进行调度。
5、缺页中断率
如果作页执行中访问页面的总次数为A,其中有F次访问的页面尚未装入主存,则有F次缺页中断,f=F/A,这里的f就称为缺页中断率。影响缺页中断的因素有:
分配给作业的主存块数——块数n↑ f↓
页面的大小——页面大小↑ f↓
程序编制方法——局部化程度↑ f↓
页面调度算法
6、段式虚拟存储器的实现
段式虚拟存储管理 以 段式存储管理 为基础,在磁盘上保留作业的各个分段信息,作业执行时把需要执行的一段或几段装入主存。在实际使用中,也要进行查表和地址转换以及“缺段中断” 和调度(包括调出、装入、移动等)工作。