热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

设备管理(加补交作业)

课后练习P294页第5、7题。画出示意图并给出结果。像考试一样写答题方式。5.对磁盘存在如下5个请求,假如当前磁头位于1号柱面,试分析对这5个请求如何调

课后练习P294页第5、7题。

画出示意图并给出结果。

像考试一样写答题方式。

 

5.对磁盘存在如下5个请求,假如当前磁头位于1号柱面,试分析对这5个请求如何调度可使得磁盘的旋转圈数最少?

答:按照次序5、3、2、1、4进行调度可使磁盘的旋转圈数最少。平均用1/2周定位,再加上1/4周读出记录,总处理时间=1/2+1/4+1/2+1/4+1+1/2+1/4+1=4.25圈。

 

7.假定一个磁盘有200个柱面,编号为0一199,在完成了磁道125外的请求后,当前正在磁道143处为一个请求服务。若请求队列的先后顺序为86,147,91,177,94,1 50,102,175,130;试问:为了完成上述请求,下列算法存取臂所以移动的总量是多少?并计算存取臂移动的顺序。(1)FCFS(先来先服务);(2)SSTF(最短寻道时间优先);(3)SCAN(扫描)算法;(4)电梯调度算法。

 

(1)FCFS(先来先服务)算法

磁头移动顺序为:143→86→147→91→177→94→150→102→175→130,

磁头移动总量是:(143-86)+(147-86)+(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(175-102)+(175-130)=565(柱面)

(2)SSTF(最短寻道时间优先)算法

磁头移动顺序为:143→147→150→130→102→94→91→86→175→177,

磁头移动总量是:(147-143)+(150-147)+(150-130)+(130-102)+(102-94)+(94-91)+(91-86)+(175-86)+(177-175)=162(柱面)

(3)SCAN(扫描)算法

磁头移动顺序为:143→147→150→175→177→199→130→102→94→91→86→0,

磁头移动总量是:(199-143)+200=256(柱面)

 

(4)电梯调度算法。

磁头移动顺序为:143→147→150→175→177→130→102→94→91→86,
磁头移动总量是:(177-143)+(177-86)=125(柱面)

 

以下为补交作业:

 补交作业1:虚拟存储管理

P251,习题20

20.在一个分页虚拟存储系统中,用户编程空间为32个页,页长1KB,内存空间为16KB。如果应用程序有10页长,若已知虚页0、1、2、3,已分得页框4、7、8、10,试把虚地址0AC5H和1AC5H转换成对应的物理地址。

答:  (1)先将0AC5H转换为2进制,即:

   0   A    C   5

0000  1010 1100 0101

前六位“000010”为页框号,对应的十进制为2,即虚页号为2,对应的页框号为8,8转换成二进制为“001000”,代替原来的页框号后为“0010001011000101”,转换成十六进制“22C5H”即为对应的物理地址。

(2)同理将1AC5H转换为2进制,即:

   1   A    C   5

0001  1010 1100 0101

前六位“000110”为页框号,对应的十进制为6,即虚页号为6,无对应的页框号,故此题无解!

 

P252,习题31

31.设程序大小为460个字,考虑如下访问序列:55,20,108,180,79,310,170,255,246,433,488,369。试问:(1)设页面大小为100B,给出访问序列页面走向。(2)假设程序可用内存为200个字,采用FIFO、LRU、和OPT淘汰算法,求出缺页中断率。

答:(1)用访问序列除以100取整,即得页面走向为0,0,1,1,0,3,1,2,2,4,4,3。

(2)因为内存为200个字,所以页数为2

FIFO(先进先出)算法如下:

访问序列为:0,0,1,1,0,3,1,2,2,4,4,3

 

0调入内存, 内存结构为:0  缺页次数为1

0存在,内存结构不改变

1调入内存,内存结构为:1,0  缺页次数为2

1存在,内存结构不改变

0存在,内存机构不改变

3调入内存,内存结构为:3,1  缺页次数为3

1存在,内存结构不改变

2调入内存,内存结构为:2,3  缺页次数为4

2存在,内存结构不改变

4调入内存,内存结构为:4,2  缺页次数为5

4存在,内存结构不改变

3调入内存,内存结构为:3,4  缺页次数为6

 

共缺页6次,缺页中断率=缺页次数/总访问次数=6/12=50%

 

LRU(最近最少使用)算法如下:

访问序列为:0,0,1,1,0,3,1,2,2,4,4,3

0调入内存, 内存结构为:0  缺页次数为1

0存在,没有缺页中断,但内存位置要变化,内存结构为:0

1调入内存,内存结构为:1,0  缺页次数为2

1存在,没有缺页中断,但内存位置要变化,内存结构为:1,0

0存在,没有缺页中断,但内存位置要变化,内存结构为:0,1

3调入内存,内存结构为:3,0  缺页次数为3

1调入没存,内存结构为:1,3  缺页次数为4

2调入内存,内存结构为:2,1  缺页次数为5

2存在,没有缺页中断,但内存位置要变化,内存结构为:2,1

4调入内存,内存结构为:4,2  缺页次数为6

3调入内存,内存结构为:3,4  缺页次数为7

 

 

共缺页7次,缺页中断率=缺页次数/总访问次数=7/12=58.3%

 

OPT淘汰算法

共缺页5次,缺页中断率=缺页次数/总访问次数=5/12=41.7%

 

补交作业2:分页存储管理和分段存储管理

1.采用相联存储器后地址转换过程,用图表示

 

2.详述分段管理和分页管理的区别。

答:

分页储存管理允许程序存放到若干不不相邻的空闲块中,既可免除移动信息工作,又可充分利用内存空间,消除动态分区法中的“碎片”问题,从而提高内存空间利用率。有如下基本概念:页面、页框、逻辑地址(页号和页内位移(或叫页内地址))、内存页框表、页表(由操作系统建立的,是程序页面和内存页框的对照表)。

分段存储管理引入的主要目的是满足用户(程序员)编程和使用上的要求 。是基于可变分区存储管理原理,以段位单位来划分和连续存放,为作业的各段分配一个连续内存空间,而各段之间不一定连续。在进行存储分配时,应为进入内存的作业建立段表,各段在内存中的情况可由段表来记录,它指出内存中各分段的段号、段起始地址、和段长度,进程运行时通过段表可将逻辑地址转换成物理地址,由于每个用户作业都有自己的段表,地址转换应按各自的段表来进行。

区别:

分段式信息的逻辑单位,由源程序的逻辑结构和含义所决定,是用户可见的,段长由用户根据需要来确定,段起始地址可从任何内存地址开始。在分段方式中,源程序(段号、段内位移)经链接装配后仍保持二维(地址)结构,引入目的是满足用户模块化程序设计的需要。

 

3.P249 习题11。

答:(1)649;(2)1727;(3)2301;(4)越界;(5)1999。


转:https://www.cnblogs.com/heshaojian/p/11005026.html



推荐阅读
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 微软Exchange服务器遭遇2022年版“千年虫”漏洞
    微软Exchange服务器在新年伊始遭遇了一个类似于‘千年虫’的日期处理漏洞,导致邮件传输受阻。该问题主要影响配置了FIP-FS恶意软件引擎的Exchange 2016和2019版本。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
author-avatar
爱的伤痕累2602882347_111
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有