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

《操作系统概念(第七版)》第一章作业答案(部分)

个人观点,答案不一定正确,欢迎大家讨论,共同进步!1.2资源利用问题在不同的操作系统中以不同的形式出现。请指出下面哪些资

个人观点,答案不一定正确,欢迎大家讨论,共同进步!

1.2

资源利用问题在不同的操作系统中以不同的形式出现。请指出下面哪些资源必须被仔细地管理:

a.主机系统或微型计算机

b.通过服务器连接的工作站

c.手持计算机

 

解答:

a.主机系统是一类单台可支持8颗以上处理器的高端服务器系统,是包括大型硬件平台和操作系统的一体化方案。微型计算机是由大规模集成电路组成的,体积较小的电子计算机。以微处理器为基础,配以内存储器及输入输出接口电路和相应的辅助电路而构成的裸机。从定义上分析我们可以发现二者在以下资源方面需要被仔细地管理:内存,外存,CPU,I/O设备,网络

b.工作站是一种高端的通用微型计算机,也可以指终端机,所以以下资源方面需要被仔细地管理:内存和CPU

c.手持计算机就是指我们的笔记本电脑,由于笔记本电脑的体积有限,所以散热有限,这就使得我们在以下资源方面需要被仔细的管理:内存,网络,CPU和功率

 

1.10

中断有何作用?陷阱和中断有何区别?用户程序能否有意地生成陷阱?如果是,有什么目的?

 

(1)当CPU中断时,它暂停正在做的事并立即转到固定的位置去继续执行(该固定位置通常是中断服务程序开始位置的地址)。该程序执行完成后,CPU接着执行被暂停的程序。这就是中断的作用。

 

(2)陷阱通常由处理器正在执行的现行指令引起,而中断则是由与现行指令无关的中断源引起的。

         陷阱处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为了当前进程的。

         陷阱是由软件引起的,而中断是由硬件引起的;

         陷阱是同步的,而中断是异步的。

 

(3)用户可以有意地生成陷阱。其目的是为了将用户模式转入内核模式并把控制权移交给操作系统,使得用户程序可以调用内核函数或者相关硬件从而获得操作系统提供的服务。比如说利用网易云音乐播放一首歌曲,软件生成陷阱将控制权给操作系统,从而可以使用输出设备听音乐。

 

 

 

1.11

直接内存访问被用到高速I/O设备中,以避免日益增加的CPU执行负荷。

a.CPU接口与设备如何协作调度?

b.CPU如何知道内存操作何时结束?

c.当DMA控制器在调度数据时,允许CPU执行其他程序。该进程与用户程序的执行会不会冲突?如是,说出将会导致何种冲突。

 

a.设备驱动程序在设备控制器中装载适当的寄存器,在为I/O设备设置好缓冲,指针和计数器之后,设备控制器能在本地缓冲和内存之间传送一整块数据,每块只产生一个中断,从而告知CPU执行中断,提高效率。

 

b. CPU在每个指令结束之后会检测是否产生中断。当操作结束的时候,设备会发出中断指令,这个时候CPU会检测到中断指令,从而执行中断命令,结束内存操作。

 

c.会发生冲突。会导致设备和CPU都可以同时访问内存。那么在DMA控制器调度数据时,CPU执行别的程序访问内存时就可能发生进程切换。这个时候CPU需要抢夺设备使得自己数据存到内存之后,这就会影响CPU的速度,从而可能产生冲突。

 

 

 

1.13

给出高速缓存有用的两个理由。它们解决什么问题?这些问题产生的原因是什么?如果一个高速缓存的容量可以做成和要缓存的设备一样大(如一个和磁盘一样大的缓存),为什么不直接用同样容量的缓存代替该设备呢?

 

1.

理由一:高速缓存可以充分利用时间局部性,信息保存在一个存储系统中,当使用它时,它会被临时复制到更快的存储系统之中,同时其复制的信息下次可以再利用。这样子速度较快的设备下发数据,设备就不用再等待,从而可以大大减少CPU等待时间从而提高运行速度。

理由二:高速缓存的设计原理可以充分利用空间局部性,利用块的设计通常包含有多个数据对象,这样可以避免重复拷贝带来的系统资源浪费,从而提高效率。

2.

为了解决高速缓存一致性问题,这个问题是指如果在一个组成部件中的数据值改变了,缓存中的这个数据也必须更新。但在多进程系统中可能会有多个进程进入同一个数据,这就构成了问题。

原因:这是由于对于层次存储结构,同样的数据可能出现在不同层次的存储系统上。对于多处理器环境,数据的出现和储存十分复杂。所以,保持高速缓存一致性尤为重要。

3.

其一是价格问题,缓存的大小如果和磁盘大小相同,价格会大幅度提升,无法应用于日常生活之中。

其二是技术问题,因为缓存的虚拟地址映射十分复杂,高速缓存带来的速度优势被额外的资源管理开销所抵消,提升效果不明显,所以不直接替换。


推荐阅读
author-avatar
xiaobei爱吃肉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有