第七章思考与练习题1.数据传输控制方式有哪几种?是比较他们的优缺点.答:数据转送控制方式有程序直接控制方式、中断控制方式、DMA控制方式和通道方式四种。2.何为设备的独立性?如何实现设备的独立性?答:设备的独立性是指应用程序独立于具体使用的物理设备。此时,用户使用逻辑设备名申请使用某类物理设备。当系统中有多台该类的设备时,系统可将其中的任意一台分配给请求进程,而不局限于某一台特定的设备。这样,可显著的改善资源的利用率,即可使用性。设备独立使用用户独立于设备。如进行输出时,亦可以使用现实终端,也可以使用打印机。有了这种独立性,就可以很方便的进行输入/输出重定向。3.什么是缓冲?为什么要引入缓冲?操作系统如何实现缓冲技术。答:缓冲是在两个不同速度设备之间传输信息时,用于平滑传输过程的一种手段。(1)换届CPU与I/O设备之间的速度不匹配的矛盾。(2)减少中断CPU的次数。(3)提高CPU与I/O设备之间的并行性。4.设备分配中为什么会出现死锁?答:在某些操作系统中,一个进程只能提供一个I/O请求。也就是说,执行进程向系统提出I/O请求后边立即进入等待状态,直到I/O请求完成后才被唤醒。这样系统对设备的分配比较安全,不会出现死锁。但这种方式对进程来说,因CPU与I/O设备是串行工作的,这使得该进程的推进速度缓慢。为了加快进程执行时的推进速度,当需要是有可能接着发出第二个、第三个I/O请求,当所请求的I/O设备已被另一个进程占用是,进程才进入等待状态。这种一个进程同时可以使用多个I/O设备的方式提高了系统的资源利用率,但也带来了一种危险,即如果两个进程都提出请求使用对方占有的I/O设备时,就会出现死锁。5.已打印机为说明SPOOLing技术的工作原理。答:当用户进程请求打印输出时,操作系统接受用户的打印请求,但并不真正把打印机分配给该用户进程,二十为进城再次攀上输出井中分配一空闲块区,并将要打印的数据送入其中,同时还为用户进程申请一张用户请求打印表,将用户的打印要求填入其中,再将该表挂在请求打印队列上。如果还有进程要求打印输出,系统仍可以接受请求,也可以进城完成上述操作。6.假设一个磁盘有200个柱面,编号为0~199,当前存取臂的位置是在143号面上,并刚刚完成125号柱面的请求,如果存在以下请求序列:86、147、91、177、94、150、102、175、130,试问:为完成上述请求,采用下列算法时存取臂的顺序是什么?移动总量是多少?(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、130、102、94、91、86移动总量是:(147-143)+(150-147)+(175-150)+(177-175)+(177-130)+(130-102)+(102-94)+(94-91)+(91-86)=125(4).循环扫描算法(C—SCAN)答:移动顺序是:143、147、150、175、177、86、91、94、102、130移动总量是:(147-143)+(150-147)+(175-150)+(177-175)+(177-86)+(91-86)+(94-91)+(102-94)+(130-102)=169.7.磁盘访问时间分为三部分:寻道时间、旋转时间和数据传输时间。而优化磁盘磁道的信息分布能减少输出输入服务的总时间。例如,有一个文件有10个记录A.B.C.D.E·····J存放在磁盘的某一磁道上,假定该磁盘共有10个扇区,每个扇区存放一个记录,安排如表,现在要从这个磁道上顺序的将A~J这10个记录读出,如果磁盘的速度为20ms转一周,处理程序每读出一个记录要花4ms进行处理,试问:扇区号记录号12345678910ABCDEFGHIJ(1).处理完这10个记录的总时间多少?答:有题目所列条件可知,磁盘的旋转速度为20ms转一周,每个此道有10个记录,因此读出1个记录的时间为20ms/10=2ms。对于表中记录的初始分布,读出并处理记录A需要20ms+4ms=60ms。6ms后读/写头急转到了记录D出,为了读出记录B必须再转8个山区,急需要8*2ms=16ms,记录B的读取时间为2ms,处理时间为4ms,股处理记录B共花时间为:16ms+2ms+4ms=22ms。后续8个记录的读取时间与记录B相同。所以处理10记录的总时间是:9*22ms+6ms=204ms。(2).为优化分布缩短处理时间,如何安排这些记录,并计算处理总时间。答:为了缩短处理时间应按图琐事安排这些记录。经优化处理后,读出并处理记录A后,读/写头刚好转到记录B的开始出,因此立即可读取并处理记录B,后续记录的读取与处理情况相同。股处理10个记录的总时间为10*(2ms+4ms)=60ms。8.假设一个磁盘有100个柱面,每个柱面有10个磁道,每个磁道有15个扇区。当进程的访问磁盘的12345扇区时,计算该扇区在磁盘的第几柱面?第几磁道?第几扇区?答:每个柱面上有150个扇区,12345/150等于82余45,,45/15等于3,即第82个柱面,第3个磁道,第15号扇区。9.一个文件记录大小为32B,磁盘输入输出以磁块为单位,一个磁块的大小为512B.当用户进程顺序读文件的各个记录时,计算实际启动磁盘I/O占用整个访问请求时间的比例。答:有题目可知,盘块的大小为512B,一个文件记录大小为32B故一个盘块包含的记录数为:512/32=16。显然在访问16个记录中,只需要一次启动磁盘,故启动磁盘I/O占用整个访问请求的比例为1/16=6.25%10.如果磁盘扇区的大小固定为512B,每个磁道有80个扇区,一共有4个可用的磁盘。假设磁盘的转速时360rpm,处理机使用中断驱动方式,从磁盘读取数据,每字节产生一次中断,,如果处理中断需要2.5ms,问:(1).处理机花费在处理I/O操作上的时间占整个磁盘的访问时间百分比是多少?(忽略寻道时间)答:(512*2.5)/((1/12+1/480)+(512*2.5))*100%=99.9%(2).采用DMA方式,每个扇区产生一次中断,处理机花费在处理I/O上的时间占整个磁盘访问时间的百分比又是多少?答:2.5/((1/12+1/480)+2.5)*100%=96.7%