|
|
51CTO旗下网站
|
|
移动端

习题(2)

《现代操作系统(原书第4版)》第3章内存管理,本章我们会研究几个不同的存储管理方案,涵盖非常简单的方案到高度复杂的方案。由于最底层的高速缓存的管理由硬件来完成,本节为习题。

作者:陈向群 等译来源:机械工业出版社|2017-07-28 12:53

习题(2)

26. 一个学生在编译器设计课程中向教授提议了一个项目:编写一个编译器,用来产生页面访问列表,该列表可以用于实现***页面置换算法。试问这是否可能?为什么?有什么方法可以改进运行时的页面置换效率?

27. 假设虚拟页码索引流中有一些重复的页索引序列,该序列之后有时会是一个随机的页码索引。例如,序列0,1,…,511,431,0,1,…,511,332,0,1,…中就包含了0,1,…,511的重复,以及跟随在它们之后的随机页码索引431和332。

(a) 在工作负载比该序列短的情况下,标准的页面置换算法(LRU,FIFO,Clock)在处理换页时为什么效果不好?

(b) 如果一个程序分配了500个页框,请描述一个效果优于LRU、FIFO或Clock算法的页面置换方法。

28. 如果将FIFO页面置换算法用到4个页框和8个页面上,若初始时页框为空,访问序列串为 0172327103,请问会发生多少次缺页中断?如果使用LRU算法呢?

29. 考虑图3-15 b中的页面序列。假设从页面B到页面A的R位分别是11011011。使用第二次机会算法,被移走的是哪个页面?

30. 一台小计算机有4个页框。在***个时钟周期时R位是0111(页面0是0,其他页面是1),在随后的时钟周期中这个值是1011、1010、1101、0010、1010、1100、0001。如果使用带有8位计数器的老化算法,给出***一个时钟周期后4个计数器的值。

31. 请给出一个页面访问序列,使得对于这个访问序列,使用Clock算法和LRU算法得到的***个被置换的页面不同。假设一个进程分配了3个页框,访问串中的页号属于集合0,1,2,3。

32. 在图3-20 c的工作集时钟算法中,表针指向那个R=0的页面。如果t=400,这个页面将被移出吗?如果t=1000呢?

33. 假如工作集时钟页面置换算法使用的t为两个时钟周期,系统状态如下:

其中,标志位V代表有效位,R代表访问位,M代表修改位。

(a) 如果时钟中断发生在时钟周期10,请给出新的表项内容并给出解释(可以忽略没有改变的表项)。

(b) 假如没有时钟中断,在时钟周期10,因为向页4发出了一个读请求而发生了缺页中断。请给出新的表项内容并解释(可以忽略没有改变的表项)。

34. 一个学生声称:“抽象来看,除了选取替代页面使用的属性不同外,基本页面置换算法(FIFO,LRU,***算法)都相同。”

(a) FIFO、LRU、***算法使用的属性是什么?

(b) 请给出这些页面置换算法的通用算法。

35. 从平均寻道时间10ms、旋转延迟时间10ms、每磁道32KB的磁盘上载入一个64KB的程序,对于下列页面大小分别需要多少时间?

(a) 页面大小为2KB。

(b) 页面大小为4KB。

假设页面随机地分布在磁盘上,柱面的数目非常大,以致于两个页面在同一个柱面的概率可以忽略不计。

36. 一个计算机有4个页框,载入时间、最近一次访问时间和每个页的R位和M位如下所示(时间以一个时钟周期为单位):

(a) NRU算法将置换哪个页面?

(b) FIFO算法将置换哪个页面?

(c) LRU算法将置换哪个页面?

(d) 第二次机会算法将置换哪个页面?

37. 假设有两个进程A和B,共享一个不在内存的页。如果进程A在共享页发生缺页,当该页读入内存时,A的页表项必须更新。

(a) 在什么条件下,即使进程A的缺页中断处理会将共享页装入内存,B的页表更新也会延迟?

(b) 延迟页表更新会有什么潜在开销?

38. 有二维数组:

int  X[64][64];

假设系统中有4个页框,每个页框大小为128 个字(一个整数占用一个字)。处理数组X的程序正好可以放在一页中,而且总是占用0号页。数据会在其他3个页框中被换入或换出。数组X为按行存储(即,在内存中,X[0][0]之后是X[0][1])。下面两段代码中,哪一个会有最少的缺页中断?请解释原因,并计算缺页中断的总数。

A段

  1. for (int j=0; j<64; j++)  
  2.    for (int i=0; i<64; i++)X[i][j]=0; 

B段

  1. for (int i=0; i<64; i++)  
  2.    for (int j=0; j<64; j++)X[i][j]=0; 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Linux环境下C编程指南

本书系统地介绍了在Linux平台下用C语言进行程序开发的过程,通过列举大量的程序实例,使读者很快掌握在Linux平台下进行C程序开发的方法和技...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客