IO设备概念
IO控制器
IO控制方式
程序直接控制方式
不断的读取IO的状态,判断IO内容,按照块读取,cpu利用率低
中断驱动方式
相对于程序直接控制方式,可以让cpu放手去计算其他内容,IO操作之后可以通过中断来让CPU读取IO数据
DMA(直接存储器存取)
通道控制方式
总结
IO软件的层次结构
用户层软件
独立性设备软件
设备驱动程序
每台设备,不同型号,不同品牌的电子特性可以是完全不一样的,cpu想控制这些不同设备,就需要通过驱动程序来控制这些设备
中断处理程序
总结
假脱机技术(spooling)
设备的分配与回收
分配管理中的数据结构
设备控制表(DCT)
控制器控制表(COCT)
通道控制表(CHCT)
系统设备表(SDT)
分配步骤
传统分配方式
改进分配方式
通过逻辑设备名来选择设备,需要添加一个逻辑设备表
缓冲区管理
单缓冲
输入时间大于处理时间
输入时间小于处理时间
比较
双缓冲
输入时间大于处理时间和传送时间
工作区空,其中一个缓冲区满,另外一个缓冲区空
如果输入时间小于传送时间和处理之间的话
比较
单缓冲和双缓冲在通信时的区别
循环缓冲区
缓冲池
总结
真题
2020:就有设备独立性的系统,把设备视为一种文件,在更换了物理设备时候,需要修改驱动程序,但是不需要修改访问该设备的程序
2017:系统数据通过DMA方式从磁盘读取到内存的过程,初始化DMA并启动磁盘,从磁盘传输一块数据到内存缓冲区,DMA控制器发出中断请求,系统执行DMA结束中断服务指令。
2016:spooling,技术是由系统控制设备属于输入输出井之间的数据传送。
2013:
中断I/O方式请求是CPU处理时间,DMA方式请求的总线是用权
中断响应发生在一条指令执行之后,DMA响应发生在一个总线事务完成后
中断方式下数据传送通过软件完成,DMA方式下数据传送又硬件完成。
2013:
外设传入缓冲区的时间是100,缓冲区传送工作区的时间是5,cpu处理时间是90,问执行两个数据块的最短时间是多少?
第一个数据块经过缓冲区到达工作区的时间是105,这个之后第二个数据块就可以往缓冲区里面传输数据了,第一个数据块的处理时间和第二个数据块传入缓冲区的时间重叠,当第二个数据块传送完成之后,第一个数据块也处理完成了,这时候105+100=205,所以第二个数据块直接进入工作区交给cpu处理,205+105=300
2012:
改善I/O设备的性能:
重排I/O请求次序,可以减少I/O完成所需要的平均等待时间
预读和滞后写
优化物理块的分布
注意:磁盘上设置多个分区,是方便使用者管理文件,反而会对设备的性能造成负担。