第四章 设备管理课后题答案.docx
《第四章 设备管理课后题答案.docx》由会员分享,可在线阅读,更多相关《第四章 设备管理课后题答案.docx(7页珍藏版)》请在冰豆网上搜索。
第四章设备管理课后题答案
第四章设备管理课后题答案
D
⑶输入设备不断地窃取CPU工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。
⑷DMA控制器在传送完所有字节时,通过中断请求线发出中断信号。
CPU在接收到中断信号后,转入中断处理程序进行后续处理。
⑸中断处理结束后,CPU返回到被中断的进程中,或切换到新的进程上下文环境中,继续执行。
3、简述通道工作的原理。
CPU在执行用户程序时遇到I/O请求,操作系统根据该请求生成通道程序放入内存,并将该通道程序的首地址放入通道地址字CAW中。
之后执行“启动I/O”指令,启动通道工作。
通道接收到“启动I/O”指令后,从CAW中取出通道程序的首地址,并根据首地址取出第一条指令放入通道命令字CCW中,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程序,与CPU并行完成I/O设备数据传输工作。
通道程序完成实际I/O,启动I/O设备,执行完毕后,如果还有下一条指令,则继续执行。
当通道传输完成最后一条指令时停止工作,向CPU发I/O中断。
CPU接收中断信号,执行中断子程序,从通道状态字CSW中取得有关通道状态信息,决定下一步做什么。
4、引入缓冲的主要原因是什么,缓冲分为哪几种类型?
在操作系统中,引入缓冲的主要原因,可归结为以下几点:
(1)改善CPU与I/O设备间速度不匹配的矛盾
(2)可以减少对CPU的中断频率,放宽对中断响应时间的限制
(3)提高CPU和I/O设备之间的并行性
缓冲有硬件缓冲和软件缓冲之分。
硬件缓冲是指以专用的寄存器作为缓冲器。
软件缓冲是指在操作系统的管理下,在内存中划出若干个单元作为缓冲区。
软件缓冲的好处是易于改变缓冲区的大小和数量,但占用了一部分内存空间。
软件缓冲根据缓冲区设置个数的多少,可分为单缓冲、双缓冲和多缓冲。
根据缓冲区的从属关系,可以分为专用缓冲区和缓冲池。
5、简述UNIX的缓冲池技术
UNIX系统采用缓冲池技术,来平滑和加快文件信息从内存到磁盘的传输,并充分利用以前从磁盘读入已传入用户区、但仍在缓冲区的数据。
当从磁盘上读数据时,如果数据已经在缓冲区中,则核心就直接从缓冲区中读出,而不必从盘上读;当数据不在缓冲区时,核心先把数据从磁盘传送到缓冲区,再由缓冲区读出。
目的在于尽可能减少磁盘I/O的次数,提高系统运行的速度
6、为什么要引入设备独立性?
如何实现设备独立性?
在现代操作系统中,为了提高系统的可适应性和可扩展性,都毫无例外地实现了设备独立性,也即设备无关性。
其基本含义是,应用程序独立于具体使用的物理设备,即应用程序以逻辑设备名称来请求使用某类设备。
进一步说,在实现了设备独立性的功能后,可带来两方面的好处:
(1)设备分配时的灵活性;
(2)易于实现I/O重定向(指用于I/O操作的设备可以更换即重定向,而不必改变应用程序)。
为了实现设备的独立性,应引入逻辑设备和物理设备两个概念。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统执行时,是使用物理设备名称。
鉴于驱动程序是一个与硬件(或设备)紧密相关的软件,必须在驱动程序之上设置一层软件,称为设备独立性软件,以执行所有设备的公有操作、完成逻辑设备名到物理设备名的转换(为此应设置一张逻辑设备表)并向用户层(或文件层)软件提供统一接口,从而实现设备的独立性。
7、说明I/O系统的层次结构和每层的功能
I/O软件一般共分四层:
中断处理程序,设备驱动程序,与设备无关的操作系统软件,以及用户级软件(指用户空间的I/O软件),如图所示。
•用户程序的I/0软件是有关实现I/O系统调用的库函数和SPOOLing系统等。
•与设备无关的系统软件实现的功能有:
设备驱动程序的统一接口,设备命名,设备保护,提供一个与设备无关的逻辑块,缓冲,存储设备的块分配,独占设备的分配和释放,错误处理等。
•设备驱动程序的主要功能将来自上层软件的与设备无关的的抽象请求转为具体请求,向有关的输入输出设备的各种控制器的寄存器发出控制命令,并监督它们的正确执行,进行必要的错误处理。
还要对各种可能的有关设备排队、挂起、唤醒等操作进行处理,执行确定的缓冲区策略等。
•中断处理程序首先检查响应中断的条件是否满足,如果响应中断,则关中断,保存被中断进程现场,分析中断原因,调用并执行中断处理子程序,最后退出中断,恢复现场,开中断。
8、试说明SPOOLING系统的基本思想和组成。
在联机情况下实现的同时与外围设备联机操作的技术称为SPOOLing(SimultaneousPeripheralOperationOnLine),或称为假脱机技术。
SPOOLing技术:
就是用于将一台独占设备改造成共享设备的一种行之有效的技术。
当系统中出现了多道程序后,可以利用其中的一道程序,来模拟脱机输入时的外围控制机的功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。
这样,便可在主机的直接控制下,实现脱机输入、输出功能。
SPOOLing系统是对脱机I/O工作的模拟,其必须有高速随机外存(通常采用磁盘)的支持。
SPOOLING系统主要有以下四个部分:
(1)输入井和输出井,为磁盘上开辟的两大存储空间,分别模拟脱机输入/出时的磁盘,并用于收容I/O设备输入的数据和用户程序的输出数据;
(2)输入缓冲区和输出缓冲区,在内存中开辟,分别用于暂存由输入设备和输出井送来的数据;(3)输入进程SPi和输出进程SPo,分别模拟脱机输入/出时的外围控制机,用于控制I/O过程;(4)I/O请求队列,由系统为各个I/O请同达程建立的I/O请求表构成的队列。
9、影响磁盘访问的时间的主要因素是什么?
(1)寻道时间(Seektime)TS
这是把磁头从当前位置移动到指定磁道上所经历的时间。
该时间是启动磁盘的时间s与磁头移动n条磁道所花费的时间之和。
即TS=m×n十s
(2旋转延迟时间(Rotationaldelayorrotationallatency)Tr
Tr是指定扇区移动到磁头下所经历的时间。
(3)传输时间Tt
Tt是指把数据从磁盘读出,或向磁盘写人数据所经历的时间,它的大小与每次所读/写的字节数b及旋转速度r(/秒)有关:
Tt=b/(r*N)式中N为一条磁道上字节数。
当一次读/写的字节数相当于半条磁道上的字节数时,Tt与Tr相同。
10、比较6种磁盘调度算法的性能
先来先服务FCFS(FirstComeFirstServed)
是一种最简单的磁盘调度算法。
它根据进程请求访问磁盘的先后次序进行调度。
此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况。
但此算法由于未对寻道进行优化,致使平均寻道时间可能较长,(平均响应时间长),各进程响应时间变化幅度较小,公平,进程响应时间可预测。
最短寻道时间优先SSTF算法
该算法总是为那些与当前磁头所在的磁道距离最近请求服务,也就是执行寻道时间最短的那个I/O请求。
这种调度算法有较好的平均寻道时间。
SSTF较之FCFS有较好的寻道性能,故曾被广泛采用。
SSTF算法虽然获得较好的寻道性能,但它可能导致某些进程长时间的得不到服务(称之为饥饿现象)。
因为只要不断有新进程到达,且其所要访问的磁道与磁头当前所在磁道的距离较近,这种新进程的I/O请求必被优先满足。
对中间磁道访问服务比内、外两侧磁道服务好,造成响应时间变化幅度大,在服务请求多时,内外边缘请求被无限期延迟,不可预期。
扫描(SCAN)算法
该算法不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。
即当磁头正在自里向外运动时,SCAN算法要选择的下一个访问对象是其欲访问的磁道在当前磁道之外,又是距离最近的。
直至再无更外的磁道需要访问时,才将磁臂换向,自外向里运动。
从而避免了饥饿现象的出现。
由于这种算法中磁头移动的规律象电梯的运行,所以又称为电梯调度算法。
克服SSTF服务集中中间磁道和响应时间变化较大缺点,两侧磁道的访问的频率低于中间磁道。
循环扫描CSCAN算法
这是SCAN算法的一种变种算法,是为了提供更均匀的等待时间而设计的。
CSCAN算法规定磁头只能单向运动(自里向外),当磁头运动到最外面的被访问磁道时,磁头立即返回到最里面的欲访的磁道,即将最小磁道号紧接着最大磁道号构成循环,进行扫描
N步SCAN算法
是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列,又按SCAN算法处理队列中的每一个请求,这样就可避免出现粘着现象。
当N值取得很大时,会使其性能接近于SCAN算法;当N=1时,该算法退化为FCFS算法。
FSCAN算法
实质上是N-Step-SCAN算法的简化。
它只将磁盘请求访问队列分成两个子队列。
一个是当前所有请求磁盘I/O的进程队列,由磁盘调度按SCAN算法进行处理。
另一个队列则是在扫描期间,新出现的所有请求磁盘I/O的进程队列,这样所有的新请求都将被推迟到下一次扫描时处理。
11、简述在使用中断的系统中,执行输入请求的处理步骤。
在使用中断的微机系统中,执行输入请求的处理步骤。
(1)应用进程请求读操作。
(2)设备启动程序(设备驱动程序的上半部分)查询设备控制器的状态寄存器,确定设备是否空闲;如果设备忙,则设备启动程序等待,直到它变为空闲为止。
(3)设备启动程序把输入命令存人设备控制器的命令寄存器中,从而启动设备。
(4)设备启动程序将相应信息写入到设备状态表的设备对应表项中,如最初调用的返回地址,以及I/O操作的一些特定参数等。
然后CPU就可以分配给其他进程使用了,因此设备管理器调用进程管理器的调度程序执行,原进程的执行就被暂停了。
(5)经过一段时间设备完成了I/O操作后,设备控制器发出中断请求,中断CPU上运行的进程,从而引起CPU运行中断处理程序。
(6)中断处理程序确定是哪个设备引起的中断,然后转移到该设备对应的设备处理程序(设备驱动程序的下半部分)执行。
(7)设备处理程序重新从设备状态表中,找到等待I/O操作的状态信息。
(8)设备处理程序拷贝设备控制器的数据寄存器的内容到用户进程的内存区。
(9)设备处理程序返回给应用进程控制权,从而继续运行。
12、简述Windows2000注册表的功能及结构
注册表是Windows2000的核心数据库,它在配置和管理Windows2000系统的机制中扮演着关键的角色。
它存储着所有关于软、硬件系统、应用程序和每个用户的有关信息。
我们可以利用注册表来:
在系统引导期间提供启动信息,存储通用的系统配置数据,管理设备驱动程序的配置参数,为新添加的应用程序和系统工具存储新的配置数据,帮助系统管理员修改Windows2000系统配置。