计算机操作系统期末重点(2)

2019-08-31 21:58

二进制表示虚地址 十六进制表示页号、页内位移

页页内位

(3)地址变换

? 使用二进制方法求物理地址

① 将逻辑地址线性分割求出页号P和页内位移W:

? 若逻辑地址以十六进制、八进制的形式给出,将逻辑地址转换成二

进制;

? 按页的大小分离出页号P和位移量W(低位部分是位移量,高位部

分是页号);

② 将位移量直接复制到内存地址寄存器的低位部分;

③ 以页号查页表,得到对应块号,将块号转换成二进制数填入地址寄存器的高

位部分,从而形成内存地址。

使用十进制方法求物理地址

? 根据逻辑地址求出页号P和页内位移W;

? 页号P=逻辑地址 % 页大小(%表示整除) ? 页内位移W=逻辑地址 mod 页大小

? 根据页号查页表得块号B;

? 物理地址=块号B×页大小+页内位移W

? 公式说明

? 物理地址=块起始地址+块内位移W

? 块起始地址=块长×块号

块长=页长

? 块内位移=页内位移

【例】:有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、A、5块,试将虚地址0AFEH,1ADDH转换成内存地址。 解:

求虚地址0AFEH的物理地址: 0000 1010 1111 1110 P=1 W=010 1111 1110

MR=0100 1010 1111 1110=4AFEH 求虚地址1ADDH的物理地址: 0001 1010 1101 1101 P=3 W=010 1101 1101

?

MR=0010 1010 1101 1101=2ADDH 【例】:有一系统采用页式存储管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、10、5块,试将虚地址7145,3412转换成内存地址。 解:

转换虚地址 3412: P=3412 % 2048 =1

W= 3412 mod 2048 = 1364 MR=9*2048+1364=19796 转换虚地址 7145: P=7145 % 2048 =3

W=7145 mod 2048 =1001 MR=5*2048+1001=11241

问题:块号若为十六进制的字母表示,MR如何计算?(十六进制转换成十进制)

例:考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问:

(1)逻辑地址至少需要多少二进制位表示? (2)物理地址至少需要多少二进制位表示? 分析 :

逻辑地址结构由两个部分组成: 前一部分表示该地址所在页面的页号P; 后一部分表示页内地址(页内位移)W。 物理地址中块号的地址位数决定了块的数量。由于页式存储管理内存空间块的大小与页面大小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同。 解 :

因为页面数为8=2^3,故需要3位二进制数表示。每页有1024个字节,1024=2^10,于是页内地址需要10位二进制数表示。32个物理块,需要5位二进制数表示(32=2^5)。 (1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。 (2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。

? 物理地址计算

? 有一系统采用页式存储管理,某个作业大小是4GB,页大小为4KB,依次

装入内存的第6、5、3、2块, ? (1)画出页表;

? (2)试将虚地址5000,12000转换成内存地址。

? 5.4.3 动态页式管理(请求页式管理) ? 复习: 5.3 覆盖与交换技术

? 实现内存扩充的方法:

? 采用覆盖技术 ? 采用交换技术 ? 采用虚拟存储技术

? 常用的虚拟存储技术

? 请求分页存储管理

?

? ?

?

?

? 请求分段存储管理 ? 请求段页式存储管理

分页内存管理方式

? 静态分页管理 ? 动态分页管理 静态分页管理

? 基本思想:进程开始执行前,将全部页装入内存。 动态分页管理(请求页式管理)

? 基本思想:进程开始执行前,只需装入即将运行的页面,然后根据需要载入

其他页面。

请求页式管理的调入策略

? 预测调页:分析预测,运行前调入

? 系统根据作业运行的情况,预测哪些页将要运行,在其运行之前先

行调入内存,这样在程序运行的过程中就不会出现缺页中断。 ? 缺点:系统无法预计系统中作业的运行情况,难以实现。

? 请求调页(请求分页):缺页请求,运行时调入

? 进程在执行的过程中,发现要执行的程序或处理的数据不在内存,

向系统提出调入相应程序的请求,系统响应用户的请求将它所请求的页调入内存。

请求页式管理的页表结构

? 页表:反映该页是否在内存,在外存的位置,在内存的时间的长短,是否需

要回写等。 ? 页号:

? 块号:

? 中断位:0 表示该页在内存,1示该页不在内存(需要缺页中断) ? 辅存地址:该页在辅存的位置 ? 修改位:0 表示该页调入内存后没有修改,1表示页调入内存后修改

? 引用位:0 表示最近没有被访问,1表示最近被访问过

页号 块号 中断位 辅存地址 修改位 请求分页的页表结

……

? 5.4.4 请求页式管理的页面置换算法

? 当要将辅存中的一页面并送入到全满的内存中时,必须把已在内存中的某一页淘汰

掉。用来选择淘汰哪一页的规则叫做置换算法,也称为淘汰算法。 ? 常用算法:

? 先进先出算法FIFO:淘汰先调入内存的页

? 最久未使用淘汰算法LRU:淘汰未被访问的页中时间最长的页

? 最近未使用淘汰算法NUR:淘汰第1个最近未被访问的页(淘汰页表中第

一个访问位为0的页)

? 最不经常使用页面淘汰算法(LFU):淘汰那些到当前时间为止访问次数最

少的页。页表中增加一个访问记数器。

? 最佳算法:当要调入一新页而必须淘汰一旧页时,所淘汰的页是以后不再使

用的,或者是以后相当长的时间内不会使用的。这种算法是不可能的。

? 页面淘汰算法优劣的衡量标准:缺页中断率f’

? f’=f/a (a是总的页面访问次数,f是缺页中断次数)

【例】一个进程已分到4个页帧(块)(M=4),其页表如下表所示,当进程访问第4页时产生缺页中断,请分别用FIFO、LRU、NRU算法决定将哪一页淘汰?是否需要回写?

页表: 页号 页帧 装入时间 最近访问时间 访问位 修改位

2 0 60 161 0 1

1 1 130 160 0 0

0 2 26 162 1 0

3 3 20 163 1 1

FIFO:淘汰最先调入的页面(页帧为3的页) ∵修改位为1,∴要回写。

LRU:淘汰最久未访问的页(页帧为1的页) ∵修改位为0,∴不要回写。

NRU: 淘汰最近未使用的页,淘汰第一个访问位为0的页(页帧为0的页) ∵修改位为1,∴要回写。

【例】对访问串:1、2、3、4、1、2、5、1、2、3、4、5,指出在驻留集大小分别为3和4时,使用FIFO(先进先出)和LRU(最久未使用)置换算法的缺页率,结果说明了什么? (设驻留集M表示分给该作业的内存块数) 分析:


计算机操作系统期末重点(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:软件工程课后习题答案第五版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: