块设备:按块存储(磁盘)速度高、可寻址,可随机读写一块
字符设备:传输单位为字符(终端机、打印机)速率低、不可寻址,采用中断驱动
I/O控制方式
1、程序直接控制方式(轮询
每次读一个字的数据
2、中断驱动方式
每次传一个字,传大量数据会不停中断,耗时大
3、DMA方式
DMA(直接存储器存取)
基本单位是数据块
4、IO通道方式
分配共享设备不会引起死锁
通道控制设备控制器,设备控制器控制设备
高速缓存与缓冲区
1、磁盘高速缓存
2、缓冲区
T:从磁盘把一块数据输入缓冲区的时间
M:操作系统将缓冲区的数据传送到用户区
C:CPU对一块数据处理的时间
3)循环缓冲
4)缓冲池
设备分配与回收
设备分为:
1)独占式使用设备:设备被使用时不再允许其他进程使用该设备
2)分时式共享使用设备:设备没有独占使用的要求时,可以分时共享
3)以SPOOLing方式使用外部设备:将独占设备改造为共享设备
设备独立性:用户在变成时使用的设备与实际设备无关。一个程序应独立于分配给他的某类设备,即在用户程序中只指明IO使用的设备类型即可。
设备独立性优点:
1、方便用户编程
2、使程序运行不受具体机器环境的限制
3、便于程序移植
分配原则:既要充分发挥设备的使用效率,又要避免造成进程死锁,还要将用户程序和具体设备隔离开
分配方式:
1、静态分配:在用户作业开始执行前,由系统一次性分配该作业所要求的的全部设备
2、动态分配:在进程执行过程中根据执行需要分配