题目1:有一个计算机的虚存系统采用请求式分页机制。其中,从内存读/写一个单元需要花费100ns。该虚存系统由内存和硬盘组成,硬盘具有以下参数:转速7200RPM,磁盘块大小4KB,平均寻道时间5ms,传输率1Gb/s,控制开销为0.1ms。请回答以下问题:

(1)假如缺页率为0,则该虚存系统的有效访问时间是多少?

(2)从硬盘读或写出一个磁盘块的时间是多少?

(3)如果缺页率为1%,缺页时页面被修改的比例是20%,不考虑缺页时的系统开销,则该虚存系统的有效访问时间是多少?

解答:(1)假如缺页率为0,则该虚存系统的有效访问时间是200ns(访问页表1次,访问有效内存一次)。

(2) 按照题意,磁盘控制开销时间为0.1ms,所以磁盘访问时间=

寻道时间+旋转延迟时间+传输时间+控制开销

平均寻道时间=5ms

平均旋转延迟时间=60×1000ms/7200/2=4.167ms

传输时间=(4KB/1Gb)s=4Kb×8×1000ms/(1024×1024Kb) = 0.0305ms

从硬盘读或写出一个磁盘块的平均时间是:

5ms+4.167ms+0.0305ms+0.1ms = 9.2975ms

(3) 不考虑缺页时的系统开销,99%的命中率,每次需要时间:200ns

1%的缺页率中80%未修改页,直接调入所需页即可,所需时间:

100ns + 9.2975ms + 200ns=9297800ns

1%的缺页率中20%修改页,需要保存页面然后调入所需页,所需时间:

100ns +2× 9.2975ms + 200ns =18595300ns

该虚存系统的有效访问时间是:

200ns×99% + 9297800ns×1%×80% + 18595300ns×1%×20% =

111771ns。

上面分析的是否正确?请留言讨论。

题目2. 在请求分页系统中,设某进程共有9个页,分配给该进程的主存块数为5(即工作集为5),进程运行时,实际访问页面的次序是0, 1, 2, 3, 4, 5, 0, 2, 1, 8, 5, 2, 7, 6, 0, 1, 2。试用FIFO、LRU、CLOCK、OPT等页面调度算法,列出其页面淘汰次序和缺页中断次数,以及最后留驻主存的页号顺序。

解答:FIFO页面调度算法。

FIFO页面调度算法:

页面淘汰的次序为0,1,2,3,4,5,0,1,8。

缺页中断次数:14

最后驻留主存的页号顺序为7,6,0,1,2LRU页面调度算法:页面淘汰的次序为0,1,3,4,5,0,1,8。缺页中断次数:13最后驻留主存的页号顺序为7,6,2,0,1CLOCK页面调度算法:淘汰页面的次序为0,1,3,4,5,0,2,8。缺页中断次数:13最后驻留主存的页号顺序为7,6,0,1,2OPT页面调度算法:页面淘汰的次序为3,5,4,8缺页中断次数:9最后驻留主存的页号顺序为0,1,2,6,7注:OPT页面淘汰次序不唯一,同理后驻留主存的页号顺序也不唯一。

题目3.在某一采用固定分配局部置换策略的请求分页系统中,有一进程逻辑地址空间有10个页,分得了4个页框,每页的装入时间、最后访问时间、访问位R如下表所示(时间用时钟点数表示)。

假设页的大小为4KB,当进程执行到时刻300时,要访问逻辑地址6AB8H的数据,请回答下列问题:(1)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(2)若采用最近最久未使用(LRU)页面置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(3)若采用时钟(CLOCK置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页,示意图如下)。

解答:(1)采用FIFO置换算法。逻辑地址6AB8H,其对应的二进制的低12位为页内偏移值=0AB8H,剩余的高位为页号=6,但第6页不在内存中,按照FIFO算法需要淘汰最早进入的页,即第2页,将第6页装到260号的页框。260的十六进制表示为104H,则逻辑地址6AB8H对应的物理地址为:104AB8H。(2)采用LRU置换算法。第6页不在内存中,按照LRU算法需要淘汰最近最久未用页面,即第1页,将第6页装到120号的页框。120的十六进制表示为78H,则逻辑地址6AB8H对应的物理地址为:78AB8H。(3)采用CLOCK置换算法。第6页不在内存中,按照CLOCK算法,依次搜索2号页、1号页、0号页,0号页满足淘汰条件,将第6页装到100号的页框。100的十六进制表示为64H,则逻辑地址6AB8H对应的物理地址为:64AB8H。

问题4: 某系统采用页式存储管理策略,拥有逻辑空间32页,每页为2KB,拥有物理空间1MB。

1)写出逻辑地址的格式。2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?3)如果物理空间减少一半,页表结构应该做怎样的改变?

答:1)该系统拥有逻辑空间32页,故逻辑地址中页号至少用5位二进制来描述,而每页2KB,因此页内位移必须用11位二进制来描述。这样,可得到逻辑地址格式如下图所示。

2) 每个进程最多有32个页面,因此进程的页表项最多有32项。若不考虑访问权限等,则页表项中需要给出页所对应的物理块号。1MB的物理空间可分成512个内存块,故每个页表项至少有9位。

3) 如果物理空间减少一半,页表结构可以不改变,也可以将每个页表项的位数定义为8位。

注:题目要求“某系统采用页式存储管理策略,拥有逻辑空间32页,每页为2KB”,这就说明这个系统可以执行最大的进程为32页。即该存储管理策略可以管理逻辑空间为32页。

问题5:某分页式虚拟存储系统,用于页面交换所需时间是20ms,页表保存在主存,访问时间为1μs,即引用一次指令或数据,需要访问两次内存。为改善性能,可以增设一个关联寄存器,如果页表項在关联寄存器里,則只要访问一次内存就可以。假设80%的访问其页表项在关联寄存器中,剩下的20%中,10%的访问(即总数的2%)会产生缺页。请计算有效访问时间。

解:已知访问关联寄存器的命中率为80%,只需要访问一次主存,每次所需时间1μs。

访问关联寄存器的失败率为20%,其中有10%会产生缺页,则产生缺页时需要的时间总和为:访问页表失败,页表在主存中,需要1μs;用于页面交换所需时间是20ms,一般情况下,缺页中断处理程序会更新页表,但不会更新快表;访问页表需要1μs,同时更新关联寄存器;访问内存需要1μs。访问关联寄存器的失败率为20%,其中有90%访问页表成功,则每次需要访问2次主存。所以,有效访问时间为:1μs×80% +(1μs+20ms+1μs+1μs)×20%×10% + 2μs×20%×90% = 401.22μs

问题6: 在分页存储管理系统中,存取一次内存的时间是8ns,查询一次快表的时间是1ns,缺页中断的时间是20ns。假设页表的查询与快表的查询同时进行,当查询页表时,如果该页在内存但快表中没有页表项,系统将自动把该页页表项送入快表。一个作业最多可保留3个页面在内存。现在开始执行一作业,系统连续对作业的2,4,5,2,7,6,4,8页面的数据进行一次存取,如分别采用FIFO算法和最优页面置换算法,求每种算法在存取这些数据时需要的总时间。

解:已知:内存访问时间:8ns查询一次快表的时间:1ns缺页中断的时间是:20ns页表的查询与快表的查询同时进行。FIFO算法:

2 8+20+8+8

4 8+20+8+8

5 8+20+8+8

2 1+8

7 8+20+8+8

6 8+20+8+8

4 8+20+8+8

8 8+20+8+8

采用FIFO算法时存取这些数据时需要的总时间为:7×44+9=317ns。

最优页面置换算法:

2 8+20+8+8

4 8+20+8+8

5 8+20+8+8

2 1+8

7 8+20+8+8

6 8+20+8+8

4 1+8

8 8+20+8+8

采用最优页面置换算法时存取这些数据时需要的总时间为:6×44+2×9=282ns。

问题7Virtual Memory:the following page table is for a process on a system with 12-bit virtual and physical addresses and pages that are 256 bytes each. The list of free frames in the order in which they would be allocated if needed is as follows: D. E. The process access the following virtual addresses in the following order: Read(0x0FE), Write(0x855), Write(0x100),Read(0x47F), Write(0x7F0). Update the bits in the page table to reflect these accesses and determine the physical address corresponding to each virtual address accessed. If a page must be replaced, used the reference and dirty bit to decide which one must be replaced and replace the page with the lowest number with the most appealing bits.

Page

Page Frame

Referenced Bit

Dirty Bit

Valid Bit

0

-

0

0

0

1

2

0

0

1

2

C

0

0

1

3

A

0

0

1

4

-

0

0

0

5

4

0

0

1

6

3

0

0

1

7

-

0

0

0

8

B

0

0

1

9

0

0

0

1

Virtual Address

Physical Address

0x0FE

0x855

0x100

0x47F

0x7F0

注:The Referenced bit is set whenever a page is referenced, either for reading or for writing. Its value is used to help the operating system choose a page to evict when a page fault occurs.

The Dirty bit keeps track of page usage. When a page is written to, the hardware automatically sets the Dirty bit. This bit is of value when the operating system decides to reclaim a page frame. If the page in it has been modified, it must be written back to the disk. If it has not been modified (i.e., is ‘‘clean’’), it can just be abandoned, since the disk copy is still valid. The Dirty bit it reflects the page’s state.  The Valid bit Indicates page is in main memory

解答:

Page

Page Frame

Referenced Bit

Dirty Bit

Valid Bit

0

-

D

0

1

0

0

1

1

2

0

1

0

1

1

2

C

0

0

1

0

3

A

0

0

1

4

-

E

0

1

0

0

1

5

4

0

0

1

6

3

0

0

1

7

-

C

0

1

0

1

0

1

8

B

0

1

0

1

1

9

0

0

0

1

Virtual Address

Physical Address

0x0FE

0xDFE

0x855

0xB55

0x100

0x200

0x47F

0xE7F

0x7F0

0xCF0

问题8可变分区存储中,空闲分区大小按地址顺序,其大小分别是10KB,4KB,20KB,18KB,7KB,9KB,12KB和15KB,现在依次有三个存储要求:12KB,10KB,9KB.试问使用最先适应算法的分配情况如何?那么最佳适应、最坏适应呢?

答:最先适应算法:

12KB:20KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是10KB,4KB,8KB,18KB,7KB,9KB,12KB和15KB。

10KB:10KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是4KB,8KB,18KB,7KB,9KB,12KB和15KB。

9KB:18KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是4KB,8KB,9KB,7KB,9KB,12KB和15KB。

最佳适应算法:

12KB:12KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是10KB,4KB,20KB,18KB,7KB,9KB和15KB。

10KB:10KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是4KB,20KB,18KB,7KB,9KB和15KB。

9KB:9KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是4KB,20KB,18KB,7KB和15KB。

最坏适应算法:

12KB:20KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是10KB,4KB,8KB,18KB,7KB,9KB,12KB和15KB。

10KB:18KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是10KB,4KB,8KB,8KB,7KB,9KB,12KB和15KB。

9KB:15KB满足,分配。分配后空闲分区大小按地址顺序,其大小分别是10KB,4KB,8KB,8KB,7KB,9KB,12KB和6KB。

python实现使用最近最久未使用算法的请求分页存储管理_答疑(存储管理)之一...相关推荐

  1. 操作系统-先进先出和最近最久未使用算法-C语言

    先进先出(FIFO) 按调用顺序依次把页面调入内存,当内存还没满时,直接调入:当内存满了再调入时,如果需要置换页面,被置换的页面权值为最小值,则修改页面的权值,刚调入的页面权值为最大值,其他页面的权值 ...

  2. 请求页式存储管理中页面置换算法的模拟设计_操作系统-存储管理与文件管理-笔记...

    存储管理 一.页式存储 将各进程的虚拟空间划分成若干个长度相等的页,页式管理把内存空间按页的大小划分成片或者页面,然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地 ...

  3. vb未找到方法或数据成员_答疑 | VB首行的Option Explicit有何作用?

    当我们用VB软件来写程序时,每次进入代码窗口都会自动出现Option Explicit这一句代码,这句代码的作用是是强制声明变量,也就是当我们在程序代码中,用到了没有定义的变量,程序就会自动给出警告提 ...

  4. 最不常用置换算法LFT 最久未使用置换算法LRU 操作系统 C语言链表实现

     经过读题,我觉得这两个题目要表达的意思应该是完全相同的,当然也可能是我的理解出现了偏差.所以就把LRU 和 LFT 当作是一个.  当然,因为这个缘故,我把最近最久未使用的LRU当作了最久未使用写到 ...

  5. 3.2.3 OS之页面置换算法(最佳置换算法、先进先出置换算法、最近最久未使用置换算法、普通时钟置换算法、改造型时钟置换算法)

    文章目录 0.思维导图 1.最佳置换算法---OPT 2.先进先出置换算法---FIFO 3.最近最久未使用置换算法---LRU 4.时钟置换算法---CLOCK 5.改造型时钟置换算法 0.思维导图 ...

  6. 最近最久未使用页面置换算法C语言,LRU页面置换算法模拟-最近最久未使用置换算法...

    LRU页面置换算法模拟-最近最久未使用置换算法 LRU页面置换算法模拟-最近最久未使用置换算法|课程设计|计算机数据库课程设计 一.设计目的 1.用C语言实现最近最久未使用(LRU)置换算法. 2.了 ...

  7. 页面置换之最近最久未使用置换算法

    LRU(Least Recently Used)置换算法 LRU置换算法是选择最近最久未使用的页面予以淘汰.该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,当须淘汰一个 ...

  8. 最近最久未使用页面置换算法

    在一个请求分页系统中,采用最近最久未使用页面置换算法时,假如一个作业的页面走向为4.3.2.1.4.3.5.4.3.2.1.5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页 ...

  9. 操作系统-最近最久未使用置换算法

    思想:赋予每个页面一个访问字段,用来记录相应页面自上次被访问以来所经历的时间t,当淘汰一个页面时,应选择所有页面中其t值最大的页面,即内存中最近一段时间内最长时间未被使用的页面予以淘汰 优点:由于考虑 ...

最新文章

  1. JDK(JAVA)的安装和配置
  2. 欧几里德投影(Euclidean projection)
  3. 洛谷 - P1028 数的计算(线性dp)
  4. 知识图谱论文阅读(十八)【KDD2019】AKUPM: Attention-Enhanced Knowledge-Aware User Preference Model for Recommend
  5. MySQL性能调优与架构设计——第11章 常用存储引擎优化
  6. python基础30个常用代码-Python基础30道测试题(字符串相关)
  7. my ReadBook_4juan / zikao / zixuekaoshi
  8. 【中间件】pika安装及性能测试
  9. 029:vue+openlayers:使用MVT格式读取瓦片数据(示例代码)
  10. 制作京东首页右侧固定层练习
  11. forEach空指针异常问题
  12. Mybatis 任务二:配置文件深入
  13. 算法模型评价详解:confusion matrix Accuracy Precision Recall F1 调和平均 加权F1 Micro-F1 Macro-F1 PRC ROC AUC
  14. 用OBS直播时麦克风有杂音,求怎么取消。
  15. 微信小程序地图(二) 跑步路线展示
  16. PBO是OpenGL最高效的像素拷贝方式吗?
  17. 《数据结构——C++实现》(第二版)课后答案(缪淮扣 沈俊)
  18. LTspice仿真杂谈
  19. 拼多多新店前期如何开始?哪里有拼多多运营工具?
  20. 直销银行二三事之敏捷开户

热门文章

  1. linux mount 日志,mount
  2. python读取txt文件为字典username_如何使用txt和ids将.txt文件内容解析为python中的字典?...
  3. python如何处理spark上的数据_Pyspark获取并处理RDD数据代码实例
  4. antimalware service executable占用内存过高_SQLServer占用服务器内存过高,更改这个设置就能降低内存使用率
  5. java编程int和byte的用法_Java中的Byte Array和Int转换
  6. oracle查询表字段横向排序,sql 查询 - 横着走的螃蟹 - OSCHINA - 中文开源技术交流社区...
  7. python 爬虫_BeautifulSoup详细用法
  8. Springboot-实现热部署
  9. [SDOI2015]序列统计
  10. 第三章:使用 FildElements 来练习元素定位