赞
踩
设备控制器
与总线、CPU、内存相连程序控制I/O
:CPU忙等I/O结束,串行工作中断驱动I/O
:各种设备通用,中断次数多,CPU负担重直接存储器访问DMA
:速度快,数据量大,在完成一个数据块的I/O之后,向CPU发出一次中断,中断次数少。适合于磁盘
、网络接口等I/O
通道Channel
:比DMA效率更高,通道具有自己的指令系统
和专用的I/O处理器
,专门完成I/O操作
通道程序
控制通道程序中包含多条通道指令
,每条通道指令完成一个连续内存区的I/O。通道在完成多个数据块的I/O之后,才向CPU一次中断中断驱动I/O
:设备每I/O完一批字(这个一批的数量由设备控制器的数据缓冲区长度来决定)后,以中断请求方式通知CPU,再由CPU把这些字送入内存,然后设备再I/O下一批字直接存储器访问DMA
:在内存和设备间直接进行块传送,仅在传送开始和结束时才需要CPU的干预
,整块数据的传送是在DMA控制器的控制下完成的通过窃取总线周期
:在争用总线的时候,DMA控制器的优先级比CPU要高。挪用CPU工作周期
,将缓冲中的数据写入内存单元,或从内存单元读出到写缓冲),传送字节数递减至0课后习题1.8: CPU以每秒100万次的速度取指令。一个 DMA模块从外设向内存传送字符(字节),传送速度为 9600 bps。由于DMA活动,CPU的速度将减慢多少?
答:首先CPU以每秒10^6次的频率取指令,也就是一微秒访问一次内存,传送速度为9600 bit per second,也就是1200 Byte per second(1200Bps),那么其就会在第(1/1200) = 833微秒的时刻占用一次总线
,则CPU减慢约(1/833)=0.12% (注:这是因为原本如果没有DMA存在的话,这第833us的时刻依然是给CPU用的,但是现在是给DMA抢占了,就因此而变慢了)
对磁盘可采用DMA I/O控制方式,对打印机、键盘等大多数设备可以采用什么I/O控制方式?
中断驱动的I/O方式
多道程序设计
,不同I/O设备并行工作设备驱动程序
向OS隐藏了设备的细节和差异I/O系统调用
向应用程序隐藏了不同设备的差异,各种设备和文件都用open(),read(),close(),write()等api进行操作内存区域
或设备专用缓冲
循环缓冲
-生产者/消费者的有界缓冲内存的公用缓冲池
,在内存中事先设置一个缓冲池,包含有一批buffer,任何进程需要用时申请、分配、用完后释放、回收。速度不匹配矛盾
,提高并行性数据大小的差异
(如逻辑记录与磁盘块大小不一致的问题)减少对CPU的中断频率,放宽响应时间限制
最小寻址单位和存取单位
(但不是分配单位)盘块(簇)
为单位,1盘块 = 2^n扇区
磁盘访问时间包括如下三部分:Ta=Ts+Tr+Tt
启动磁盘时间
+横跨n条磁道时间
将待访问扇区转到磁头下的时间
60/15000
=0.004=4ms寻道时间对磁盘访问时间影响最大
磁头移动距离(寻道时间)
例:磁头现位于100# 磁道。收到9个磁盘访问请求, 请求顺序为 55, 58, 39, 18, 90, 160, 150, 38, 184
磁头共移动498条磁道,平均寻道长度=498/9=55.3
最短寻道时间优先算法
。优先选择距当前磁头位置最近的访问请求进行服务。例:磁头现位于100# 磁道。请求顺序为 184, 55, 58, 39, 18, 90, 160, 150, 38
磁头共移动248条磁道,平均寻道长度=27.5
电梯算法
。选择位于磁头移动方向前方
且距磁头位置最近的访问请求
进行服务。 当前方没有访问请求时,立即改变磁头移动方向 (LOOK);或继续扫描到磁盘边界后再转向(SCAN)。例:磁头现位于100# 磁道。请求顺序为 184, 55, 58, 39, 18, 90, 160, 150, 38
1、以下算法中,可能出现饥饿现象的是 。(B)
A.电梯调度 B. 最短服务时间优先 C. 循环扫描算法 D. 先来先服务
2、下列算法中,用于磁盘调度的是 。 ©
A. RR B. LRU C. SSTF D. 优先级
3、对于可随机访问的Flash半导体存储器,例如 U盘和固态硬盘,可以采用什么调度策略来处理 I/O请求?
Flash半导体存储器的物理结构不需要考虑寻道时间 和旋转延迟,故采用先来先服务策略更高效
RAID用多个小容量磁盘代替单个大容量磁盘
。 优势是:增加数据容量,多个磁盘并行I/O
可提高 速度,设置冗余磁盘可提高可靠性
RAID级别:0~6,常用的RAID有0、1、5、6
磁盘条带化
并行访问
块交叉检验技术
组中其余所有数据盘同一位的校验
(如奇偶校验)RAID0
:无冗余
的并行访问,只实现条带化和并行访问。 容量大,快,不容错, 不可靠RAID1
:可并行访问的镜像磁盘(复制每个磁盘
)。 容量大,快,可靠,但磁盘数太多RAID2
:位汉明校验。条带单位是字节或字RAID3
:位交错奇偶校验。条带单位是字节或字。RAID4
:块奇偶校验。校验盘负担重。RAID5
:块分布奇偶校验。校验块分散到各磁盘RAID6
:P+Q 双重冗余。允许两个磁盘错误课后习题11.12:有一个RAID磁盘阵列,包含4个磁盘, 每个磁盘200GB。当RAID级别分别为0、1、3、4、5、 6时,该磁盘阵列的有效存储容量是多少?
预输入
:作业运行前预先将数据输入到磁盘的“输 入井”中,运行时直接取用;缓输出
:作业的运行结果先保存到磁盘的“输出井” 中,稍后成批输出到输出设备1、SPOOLing技术的主要目的是 (D)。
A.提高CPU和和设备交换数据的速度
B. 减轻用户编程负担
C. 提供主存、辅存接口
D. 提高独占设备的利用率
2、采用SPOOLing技术时,用户的打印数据首先 被送到(A)
A. 磁盘固定区域 B. 内存固定区域 C. 终端 D. 打印机
电梯排序
队列、读FIFO
队列、写FIFO
队列。 读(写)请求被同时放入电梯队列和读(写)FIFO队列。 处理完后从两个队列中同时移出。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。