操作系统第五章答案.doc
《操作系统第五章答案.doc》由会员分享,可在线阅读,更多相关《操作系统第五章答案.doc(4页珍藏版)》请在冰豆网上搜索。
第五章设备管理
1、试说明设备控制器的组成。
P163
答:
设备控制器的组成由设置控制器与处理机的接口;设备控制器与设备的接口;I/O逻辑。
2、为了实现CPU与设备控制器间的通信,设备控制器应具备哪些功能?
P162-P163
答:
基本功能:
接收和识别命令;数据交换;标识和报告设备的状态;地址识别;数据缓冲;差错控制。
3、什么是字节多路通道?
什么是数组选择通道和数组多路通道?
P164-P165
答:
1、字节多路通道:
这是一种按字节交叉方式工作的通道。
它通常都含有许多非分配型子通道,其数量可从几十到数百个,每个子通道连接一台I/O设备,并控制该设备的I/O操作。
这些子通道按时间片轮转方式共享主通道。
只要字节多路通道扫描每个子通道的速率足够快,而连接到子通道上的设备的速率不是太高时,便不致丢失信息。
2、数组选择通道:
字节多路通道不适于连接高速设备,这推动了按数组方式进行数据传送的数组选择通道的形成。
3、数组多路通道:
数组选择通道虽有很高的传输速率,但它却每次只允许一个设备数据。
数组多
路通道是将数组选择通道传输速率高和字节多路通道能使各子通道(设备)分时并行操作的优点相结合而形成的一种新通道。
它含有多个非分配型子通道,因而这种通道既具有很多高的数据传输速率,又能获得令人满意的通道利用率。
4、如何解决因通道不足而产生的瓶颈问题?
P166
答:
解决“瓶颈”问题的最有效的方法,便是增加设备到主机间的通路而不增加通道,就是把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。
多通路方式不仅解决了“瓶颈”问题。
而且提高了系统的可靠性,因为个别通道或控制器的故障不会使设备和存储器之间没有通路。
5、试对VESA及PCI两种总线进行比较。
P167
答:
1、VESA该总线的设计思想是以低价位迅速点领市场。
VESA总线的带宽为32位,最高传输速率为132Mb/s。
VESA总线仍存在较严重的缺点,它所能连接的设备数仅为2—4台,在控制器中无缓冲,故难于适应处理器速度的不断提高,也不能支持后来出现的Pentium微机。
2、PC随着Pentium系列芯片的推出,PCI在CPU和外设间插入一复杂的管理层,用于协调数据传输和提供一致的接口。
在管理层中配有数据缓冲,通过该缓冲可将线路的驱动能力放大,使PCI最多能支持10种外设,并使高时钟频率的CPU能很好地运行,最大传输速率可达132Mb/s。
PCI即可连接ISA、EISA等传统型总线,又可支持Pentium的64位系统,是基于奔腾等新一代微处理器而发展的总线。
6、试说明推动I/O控制发展的主要因素是什么?
P167
答:
在I/O控制方式的整个发展过程中,始终贯穿着这样一条宗旨,即尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事务中解脱出来,以便更多地去完成数据处理任务。
7、有哪几种I/O控制方式?
各适用于何种场合?
P167-P170
答:
1、程序I/O方式:
2、中断驱动I/O控制方式:
3、直接存储器访问(DMA)4、I/O通道控制方式:
8、试说明DMA的工程流程。
P170图要画
答:
当CPU要从磁盘读入一数据块时,便向磁盘控制器发送一条读命令。
该命令被送到其中的命令寄存器(CR)中。
同时,还须发送本次要将数据读入的内存起始目标地址,该地址被送入内存地址寄存器(MAR)中;本次要读数据的字(节)数则送入数据计数器(DC)中,还须将磁盘中的源地址直接送至DMA控制器的I/O控制逻辑上,然后启动DMA控制器进行数据传送,以后CPU便可去处理其它任务。
此后,整个数据传送过程便由DMA控制器进行控制。
当DMA控制器已从磁盘中读入一个字(节)的数据送入数据寄存器(DR)后,再挪用一个存储器周期,将该字(节)传送到MAR所指示的内存单元中。
按着便对MAR内容加1,将DC内容减1.若减1后,DC内容不为0,表示传送未完,便继续传送下一个字(节);否则,由DMA控制器发出中断请求。
9、引入缓冲的主要原因是什么?
P172
答:
1、缓和CPU和I/O设备间速度不匹配的矛盾。
2、减少对CPU的中断次数。
3、提高CPU和I/O设备之间的并行性。
10.在单缓冲情况下,为什么系统对一块数据的处理时间为max(C,T)+M?
?
答:
在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T;操作系统将缓冲区数据传送给用户区的时间为M;而CPU对这一块数据进行计算得时间为C。
在单缓冲情况下,由于设备的输入操作和CPU的处理操作可以并行,所以系统对每一整块数据的处理时间为max(C,T)+M。
11.为什么在双缓冲情况下,系统对一块数据的处理时间为max(C,T)?
答:
该方式又称缓冲对换方式,在设备输入时,先将数据送入第一缓冲区,装满后便转向第二缓冲区。
此时操作系统可以从第一缓冲区移出数据,并送入用户进程。
接着由CPU对数据进行计算。
在双缓冲区中,不仅设备的输入操作和CPU的处理操作可以并行,设备的输入操作和数据的传送操作也可以并行,因此耗时大约为max(C+M,T)。
考虑到M是内存中数据块的“搬家”耗时,非常短暂可以省略,因此近似地认为是:
max(C,T)。
12、试绘图说明把多缓冲用于输出时的情况?
P174
答:
图略。
13、试说明收容输入工作缓冲区和提取输出工作缓冲区的工作情况?
P177
答:
收容输入:
在输入进程需要输入数据时,变调用Getbuf(emq)过程,从空缓冲队列emq的队首摘下一空缓冲区,把它作为收容输入工作缓冲区hin。
然后,把数据输入其中。
提取输出:
由输出进程调用Getbuf(outq)过程,从输出队列的队首取得一装满输出数据的缓冲区,作为提取输出工作缓冲区sout。
在数据提取完后,再调用Putbuf(emq,sout)过程,将该缓冲区挂在空缓冲队列末尾。
14、何谓安全分配方式和不安全分配方式?
P188
答:
安全分配方式:
在这种方式中,每当进程发出I/O请求后,便进入阻塞状态,直到其I/O操作完成时才被唤醒。
即CPU与I/O设备是串行工作。
不安全分配方式:
在这种分配方式中,进程在发出I/O请求后仍继续运行,需要时又发出第二个I/O请求,第三个I/O请求等。
从而可能造成死锁。
15、为何要引入设备独立性?
如何实现设备的独立性?
P184-P185
答:
应用程序独立于具体使用的物理设备。
为了实现设备独立性而引入逻辑设备和特理设备这两个概念。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。
因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。
在应用程序中的使用的是逻辑地址,而系统在分配和使用内存时,必须使用物理地址。
1、对独立设备的分配与回收;2、将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序;3、对设备进行保护,禁止用户直接访问设备;4、缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高I/O的效率;5、差错控制,由于在I/O操作中的绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件只处理那些设备驱动程序无法处理的错误;6、提供独立于设备的逻辑块,不同类型的设备信息交换单位是不同的,读取和传输速率也各不相同,即使同一类型的设备,其信息交换单位大小也是有差异的,如不同磁盘由于扇区大小的不同,可能造成数据块大小的不一致,因此设备独立性软件应负责隐藏这些差异,对逻辑设备使用并向高层软件提供大小统一的逻辑数据块。
16、在考虑到设备的独立性时,应如何分配独享设备?
P189
答:
1、分配设备;分配控制器;分配通道;2、增加设备的独立性;考虑多通路情况;
17、何谓设备虚拟?
实现设备虚拟时所依赖的关键技术是什么?
P187—P188
答:
设备虚拟是指设备本身虽是独占设备,但经过某种技术处理,可以把它改造成虚拟设备。
实现设备邪虚拟:
由于可虚拟设备是指一台物理设备在采用虚拟技术后,可变成多台逻辑上的所谓虚拟设备,因而说,一台可虚拟__设备是可共享的设备,可以将它同时分配给多个进程使用,并对这些访问该(物理)设备的先后次序进行控制。
18、试说明SPOOLing系统的组成。
P190
答:
1、输入井和输出井:
这是在磁盘上开辟的两个大存储空间。
2、输入缓冲区和输出缓冲区:
为了缓和CPU和磁盘之间速度不匹配的矛盾,在内存中要开辟两个缓冲区,输入缓冲区和输出缓冲区。
3、输入进程SPi和输出进程SP0:
这里利用两个进程来模拟脱机I/O时的外围控制机。
19.在实现后台打印时,SPOOLING系统应为请求I/O的进程提供哪些服务?
答:
在实现后台打印时,SPOOLing系统应为请求I/O的进程提供以下服务:
(1)由输出进程在输出井中为之申请一空闲盘块区,并将要打印的数据送入其中;
(2)输出进程再为用户进程申请一张空白的用户打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。
(3)一旦打印机空闲,输出进程便从请求打印队列的队首取出一张请求打印表,根据表中的要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印。
20、试说明设备驱动程序具有哪些优点?
P182
答:
1、设备驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转移程序。
2、驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。
3、驱动程序与I/O设备所采用的I/O控制方式紧密相关。
4、由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。
5、驱动程序应允许可重入。
21、试说明设备驱动程序应完成哪些功能?
P182
答:
1、接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为具体要求。
2、检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。
3、发出I/O命令。
4、及时响应由控制器和通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。
5、对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动的构成通道程序。
22、设备中断处理程序通常需完成哪些工作?
P180
答:
1、唤醒被阻塞的驱动进程。
2、保护被中断进程的CPU环境。
3、转入相应的设备处理程序。
4、中断处理。
5、恢复被中断进程的现场。
23、磁盘访问时间由哪几部分组成?
每部分时间应如何计算?
P193
答:
1、寻道时间Ts:
Ts=m*n+s.
2、旋转延迟时间Tr:
3、传输时间Tt:
Tt=b/rN
24、目前常用的磁盘调度算法有哪几种?
每种算法优先考虑的问题是什么?
P194
答:
1、先来先服务,公平简单。
2、最短寻道时间优先,访问的磁道与当前磁头所在的磁道距离。
3、扫描算法,防止老进程出现“饥饿”现象。
4、循环扫描算法,磁头自里向外移动,到达最外的并访问后,立即返回到嘴里的欲访问的磁道。
25、为什么要引入磁盘高速缓冲?
何谓磁盘高速缓冲?
P197
答:
磁盘的I/O已成为计算机系统的瓶颈。
于是,人们便千方百计地去提高磁盘I/O的速度,其中最主要的技术便是采用磁盘高速缓存。
26、在设置磁盘高速缓冲时,如何实现数据交付?
P198
答:
由核心先去查看磁盘高速缓冲器,看其中是否存在进程所需访问的盘块数据的拷贝。
若有其拷贝,便直接从高速缓存中提取数据交付给请求者进程,这样,就避免了访盘操作,西欧那个人使本次访问速度提高4-6个数量级;否则,应先从磁盘中将要访问的数据读入并交付给请求者进程,同时也将数据送高速缓存。
27、何谓提前读、延迟写、虚拟盘?
P199
答:
提前读:
在读当前块的同时,还要求将下一个盘块中的数据也读入缓冲区。
延迟写:
是指在缓冲区A中的数据,本应立即写回磁盘,但考虑到该缓冲区中的数据在不久之后可能还会再被本进程或其它