发布时间 : 星期六 文章诚毅学院操作系统期末复习(2014-2015)答案更新完毕开始阅读
统,一个通道程序可以控制完成任意复杂的I/O传输;而DMA并没有指令系统,一次只能完成一个数据块的传输。
7、 通道是一种特殊的 A ,具有 B 能力。 A:(1)I/O 设备;(2)设备控制器;(3)处理机;(4)I/O控制器。 B:(1)执行I/O指令集;(2)执行CPU指令集;(3)传输I/O命令;(4)运行I/O进程。
8、 请阐述通道程序的执行过程。
9、 常见有哪几类通道?各类通道适合连接哪些设备?
字节多路通道:主要用于连接低速输入输出设备,如:输入机、打印机 数组选择通道:用于连接多台高速设备,如:磁盘 数组多路通道:用于连接多台高速设备,如:磁带
10、 什么叫做设备无关性?引入设备无关性分配方案有什么优点?
设备无关性:系统根据当前请求情况以及资源分配情况在相应类别的设备中选择一个空闲设备并将其分配给申请者 使用设备无关性分配的优点: (1)提高设备资源利用率; (2)程序与设备无关;
11、 下面关于设备独立性的论述中,第 2 条是正确的论述。 (1)设备独立性是I/O设备具有独立执行I/O功能的一种特性。
(2)设备独立性是指用户程序独立于具体使用的物理设备的一种特性。 (3)设备独立性是指能独立实现设备共享的一种特性。
(4)设备独立性是指设备驱动独立于具体使用的物理设备的一种特性。
12、 请说明通道设备的驱动过程。
1) 处理机将通道程序的起始地址放在内存指定单元,然后执行通道启动指令使通道开
始工作
2) 由制定单元取出通道程序的起始地址,送入CAW中?通道执行各条通道指令
13、 假设当前磁头的位置是53号磁道且磁头向下(小磁道号)移动,接下来要访问的
磁道序列是:130,42,180,15,108,68,97。请分别用FCFS、SSTF、SCAN、LOOK、C-SCAN、C-LOOK调度方式,给出磁头移动过程访问的磁道序列,并分别计算其磁头移动量。
14、 假设当前磁头处在45号磁道且向0号磁道移动,磁盘总磁道数为200,当其完成当
前磁道的I/O请求后,已经到达要求访问的磁道序列是: 179,134,32,41,160,122,184,151
请分别用FCFS、SSTF、SCAN、LOOK、C-SCAN、C-LOOK、N-SCAN、N-LOOK磁头调度算法,请分别给出磁头访问磁道的序列和总移动的磁道数。
15、 下面是采用Hansen管程实现SCAN算法,请把它修改成C-SCAN调度算法。
Type diskhead=MONITOR Var busy:boolean; headpos:0..199; direction:(up,down);
cylinder:Array[0..199] Of condition; count:Array[0..199] Of integer;
Define require, release;
Procedure require(dest:0..199); Begin
If busy Then Begin
count[dest]:=count[dest]+1; wait(cylinder[dest]) End busy:=true;
If dest Else If dest>headpos Then direction:=up; headpos:=dest End; Procedure upscan; Var I:0..200; Begin I:=headpos; C-LOOK插入一段: While (I<=199)and(count[I]=0) Do Else I:=I+1; Begin If I<=199 Then I=headpos; Begin direction=down; count[I]:=count[I]-1; end signal(cylinder[I]) End C-SCAN算法: End; headpos=0; Procedure downscan; direction=up; Var I:-1..199; if count[0]>0 then Begin begin I:=headpos; count[0]=count[0]-1; While (I>=0)and(count[I]=0) Do signal(cylinder[0]); I:=I-1; end If I>=0 Then Begin count[I]:=count[I]-1; C-LOOK算法: Var I:-1..199; signal(cylinder[I]) K: integer; End Begin End; I=headpos; Procedure release; While(I>=0) Do Begin Begin busy:=false; If count[I]>0 then If direction=up Then K=I; Begin I=I-1; upscan; downscan End End If K<>headpos then Else Begin Begin direction=up; downscan; upscan count[K]=count[K]-1; End signal(cylinder[K]); End; end Procedure initialize; Var I: 0..199; Begin busy:=false; headpos:=0; direction:=up; For I:=0 To 199 Do count[I]:=0; End Begin initialize End; 16、 在磁盘的输入输出中,读写一个磁盘块由哪些时间组成?磁头优化调度主要减少那 部分时间? 寻道时间、旋转延迟、传输时间 减少寻道时间 17、 为什么要引入缓冲?软缓冲区设在内存什么区域? 为了缓解处理器与设备之间速度不匹配的矛盾,从而提高资源利用率和系统效率 软缓冲区通常设在内存系统空间中 18、 在系统缓冲池管理中,请给出用信号量和PV操作实现缓冲区申请和释放的过程。 1. 申请 2. 释放 (1) P(buf_num) (1) P(mutex) (2) P(mutex) (2) 空缓冲区入链头 (3) 取链头空缓冲区 (3) V(mutex) (4) V(mutex) (4) V(buf_num) 19、 P276图8-19给出输入型设备缓冲实现算法。请问: (1) 进程方面的算法中,处于等待状态的进程如何被唤醒? (2) 中断程序何时执行? 20、 何谓RAID技术? RAID:独立磁盘冗余阵列,是一个物理磁盘的集合,作为一个逻辑磁盘被管理和使用 21、 请用图形表示RAID0、RAID 1、RAID 5数据在各个磁盘的存放规则。 RAID0: RAID1: