《操作系统》第八、九章课堂小测解析(重点学习内容)

贵 州 大 学 计 算 机 科 学 与 技 术 学 院

操作系统第08、09章课堂小测

1. 假设有一个请求调页存储器,页表放在寄存器中 。处理一个页错误,当有空的帧或被置换的页没有 被修改过时要用8ms,当被置换的页被修改过时要 用20ms,存储器访问时间为100ns。假设被置换 的页中有 70% 被修改过,页错误率为0.006‰ (即0.000006),则有效访问时间不超过( C)。

A. 100ns

B. 150ns

C. 200ns

D. 250ns

【解析】 有效访问时间 = (1 − P) × 0.1 µs + 0.3P × 8 ms + 0.7P × 20 ms ≈ 200ns

2. 假设一个请求调页系统具有一个平均访问和传输时间为 20ms 的分页磁盘。地址转换是通过在主存中的页表来进行的 ,每次内存访问时间为 1µs。这样,每个通过页表进行的内存 引用都要访问内存两次。为了提高性能,加入一个相关内存 TLB,当页表项在相关内存中时,可以减少内存引用的访问次 数。假设 80%的访问发生在相关内存中,而且剩下中的 10% (总量的 2%)会导致页错误。则访问在相关存储器中时的有 效访问时间为:         1              µs;TLB命中失败但页表查询未缺页时的 有效访问时间为          2           µs;TLB命中失败且页表查询产生缺页中 断时的有效访问时间为:          20002           µs;综合以上3种情况的概 率,总体有效访问时间为:       401.2              µs。

【解析】 80%的访问在相关存储器中,耗时1µs; 18%(20%*90%)的访问需在页表和内存中进行,两次访问内存总共耗时2µs ; 2%的访问在页表中产生页错误(1µs),经调页系统工作后(20ms)再访问内存 (1µs),共耗时20002µs; 有效访问时间为:0.8×1µs+0.18×2µs+0.02×20002µs=401.2µs。

3.某请求分页式存储管理系统,接收一个共7页的作 业。作业运行时的页面引用如下:1,2,3,4,1 ,2,5,1,2,3,4,5。假定系统为该作业分配 了3个页框,采用请求调页,局部置换策略。

①采用FIFO算法时,发生缺页的次数为        9             次。

②采用LRU算法时,最后一次页面引用(5)时,被 换出的是        2             号页。

③采用OPT算法时,发生缺页的次数为        7             次。

【解析】

4. 有一距阵按先行后列次序存储: int A[ ][ ] = new int[100][100]; 在一虚存系统中,使用LRU淘汰算法,一个进程有3页内存 空间,每页可以存放200个整数,其中第一页存放程序, 且假定程序已在内存,其它2个页框初始为空,系统采用 按需调页策略。

程序A:

for (i=0; i < 100; i++)

        for (j=0; j < 100; j++)

                A[i, j] = 0

程序B:

for (j=0; j < 100; j++)

        for (i=0; i < 100; i++)

                A[i, j] = 0

 则程序A执行过程中将产生        50         次缺页;程序B执行过程中 将产生       5000        次缺页。

【解析】

 由于每一进程在内存中有3个页,且其中的1页用于存 放程序,所以可用作存放数据的页面只有2个。

 由题目中的定义可知,数组A中有10000个整数,每页 存放200个整数,数组占用空间50页。

 假设数据从该作业的第M页开始存放,则数组分布在第 M页到第M+49页中。因数据是按先行后列次序存储, 它的存储顺序为:

A[1,1],…,A[1,100],A[2,1] ,…,A[2,100] 第M页 A[3,1],…,A[3,100],A[4,1],…,A[4,100]第M+1页 …… A[99,1],…,A[99,100],A[100,1],…,A[100,100] 第M+49页

【对于程序A】 由于程序A对矩阵A的访问是按行进行,即按照存储顺序 进行。因此每次缺页中断调进一页后,位于该页内的数 组元素全部赋予0值,然后再调入下一页,所以涉及的 页面走向为M,M+1,…,M+49,缺页次数为50次。

【对于程序B】 由于程序B对矩阵A的访问是按列进行,而矩阵A每行有 100个数据,每页可以存放200个数据,因此每页中有2个 数据属于同一列,每次缺页中断调进一页时,只有其中的 2个数据被赋予0值,即程序B对矩阵A每两次访问会遇到一 次缺页。所以波及的页面走向为: M, M+1,….,M+49 处理1列 M, M+1,….,M+49 处理2列 …… M, M+1,….,M+49 处理100列 故缺页次数为:100 x 50=5000次

5.总体上说,“按需调页”(Demand-Paging)是 个很好的虚拟内存管理策略。但是,有些程序设计技 术并不适合于这种环境,例如(  D  )。

A.堆栈

B.线性搜索

C.数组运算

D.二分法搜索

【解析】 按需调页被提出的前提是程序运行的局部性原理。 选项A,堆栈只能在栈顶进行操作,栈底的元素很久都用不着,显然对数据 的访问具有局部性。 选项B,线性搜索是按顺序搜索下来,显然也具有局部性。 选项C,数组存放是连续的,所以数组运算就是邻近的数据的运算,也满足 局部性。 选项D,二分法搜索是跳跃式的,每次从下一步探索空间的中间值开始对比 ,每次搜寻的元素不都是相邻的,所以不具有局部性,不适合按需调页的环 境,故答案应该选D

6.请求分页管理系统中,假设某进程的页表内容如下表所示:

页面大小为4KB,一次内存的访问时间是100ns,一次快表( TLB)的访问时间是10ns,处理一次缺页的平均时间是108ns (已含更新TLB和页表的时间),进程的驻留集大小固定为2, 采用最近最少使用置换算法(LRU)和局部淘汰策略。假设:

①TLB初始为空;

②地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访 问页表之后的TLB更新时间);

③有效位为0表示页面不在内存,产生缺页中断,缺页中断处 理后,返回到产生缺页中断的指令处重新执行。 则访问虚地址2362H需要       210        ns;之后再访问虚地址1565H 需要      318        ns,虚地址1565H对应的物理地址是        101565         H ;最后再访问虚地址25A5H需要    110     ns。

【解析】

根据页式管理工作原理,应先考虑页面大小,以便将页号和 页内位移分解出来。页面大小为4KB,即212,则得到页内位 移占虚地址12位,页号占剩余高位。可得三个虚地址的页号 P如下: 2362H: P=2,访问快表10ns,因初始为空,访问页表100ns 得到页框号,合成物理地址后访问主存100ns,共计 10ns+100ns+100ns=210ns。

1565H:P=1,访问快表10ns,落空,访问页表100ns,落 空,进行缺页中断处理108ns,合成物理地址后访问主存 100ns,共计10ns+100ns+108ns+100ns=318ns。

当访问虚地址1565H时,产生缺页中断,合法驻留集为2, 必须从页表中淘汰一个页面,根据LRU置换算法,应淘汰0 号页面,因此1565H的对应页框号为101H。由此可得 1565H物理地址为101565H。

25A5H:P=2,访问快表,因第一次访问已将该页号放入 快表,因此花费10ns便可合成物理地址,访主存100ns, 共计10ns+100ns=110ns。

7.设某计算机的逻辑地址空间和物理地址空间均为64KB,按 字节编址。若某进程最多需要6页数据存储空间,页的大小 为1KB,操作系统采用固定分配局部置换策略为此进程分配 4个页框。在时刻260前的进程访问情况见下表:

当该进程执行到时刻260时,要访问逻辑地址为17CAH的数 据。则:

1)该逻辑地址对应的页号是        5        。

2)若采用FIFO置换算法,该逻辑地址对应的物理地址是       1FCA        H。

3)若采用LRU置换算法,该逻辑地址对应的物理地址是       0BCA/BCA        H。

【解析】

1)逻辑地址空间和物理地址空间均为64KB=2^16B,按字节 编址,且页的大小为1KB= 2^10B,故逻辑地址和物理地址的 地址格式均为:页号/页框号(6位) 页内偏移量(10位) 17CAH=0001 0111 1100 1010,可知该逻辑地址的页号 为000101=5。

2)根据FIFO算法,需要替换装入时间最早的页,故需要置 换装入时间最早的0号页,即将5号页装入7号页框中,所以 物理地址为0001 1111 1100 1010=1FCAH。

3)根据LRU算法,需要替换最久没有用过的2号页,即将5 号页装入2号页框中,所以物理地址为0000 1011 1100 1010=0BCAH。

所有资料均来自老师课件!!!

  • 8
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值