[操作系统] IO管理

IO控制方式

  • 程序直接控制:计算机从外部设备读取数据到存储器,每读一个数据,CPU都要对外设状态进行循环检查,直到确定该数据已经在IO控制器的数据寄存器中。CPU全程参与,利用率极低。
  • 中断驱动方式:允许IO设备主动打断CPU的运行并请求服务,让IO控制器发送读命令后可以继续做其他工作。
  • DMA方式:中断方式IO和内存之间数据必须通过CPU寄存器,DMA方式在IO和内存之间开辟DMA控制器,更好的解放CPU。DMA控制器直接和存储器交互,该过程不需要CPU参与。
  • 通道控制方式:IO通道是专门负责输入输出的处理机,更好解放CPU。

DMA和中断区别是中断驱动方式在每个数据需要传输时中断CPU,而DMA控制方式则是在所要求传送的一批数据全部传送结束时才中断CPU;此外,中断控制方式传送数据是在中断处理是由CPU控制完成的,DMA是在DMA控制器完成的。

IO软件层次结构

  • 硬件层:硬件涉笔
  • 中断处理程序:保存被中断环境,处理程序,恢复被中断环境
  • 设备驱动程序:系统驱动IO设备工作的程序
  • 设备独立性软件:与设备无关的系统软件,用户程序与设备驱动程序的交互程序
  • 用户层IO软件:用户进程,用户与设备的交互程序。

设备分配和回收

  • 独占式使用设备:在申请设备时,如果设备空闲,就将其独占,不允许其他进程申请使用,一直等到该设备呗释放。
  • 分时式共享使用设备:独占式使用设备设备利用率低,当设备没有独占使用时,可以通过分时共享使用。
  • 以SPOOLing方式使用外部设备

SPOOLing技术(假脱机技术)

为了缓和CPU和IO的矛盾,引入了脱机IO方式,该技术是利用专门的外围控制机,将低速IO设备上的数据传送到高速磁盘上;SPOOLing的意思是外部设备同时联机操作,又叫假脱机IO操作,是操作系统采用的一项将独占设备改造成共享设备的技术。

  1. 输入井和输出井:输入井和输出井的存储区域是在磁盘上开辟出来的。输入输出井中的数据一般以文件的形式组织管理,这些文件称之为井文件。一个文件仅存放某一个进程的输入或输出数据,所有进程的数据输入或输出文件链接成为一个输入输出队列。 
  2. 输入缓冲区和输出缓冲区:输入缓冲区和输出缓冲区的存储区域是在内存中开辟出来的。主要用于缓和CPU和磁盘之间速度不匹配的矛盾。输入缓冲区用于暂存有输入设备传送的数据,之后再传送到输入井;输出缓冲区 同理。 
  3. 输入进程和输出进程:输入进程也称为预输入进程,用于模拟脱机输入时的外围控制机,将用户要求的数据从输入设备传送到输入缓冲区,再存放到输入井。当CPU需要的时候,直接从输入井将数据读入内存。反之,输出的同理。 
  4. 井管理程序:用于控制作业与磁盘井之间信息的交换。

特点

  • 提高了I/O的速度:对数据执行的I/O操作,已从对低速I/O设备执行的I/O操作演变为对磁盘缓冲区中数据的存取,如同脱机输入输出一样,提高了I/O速度,缓和了CPU和低速的I/Os设备之间速度的不匹配的矛盾。 
  • 将独占设备改造成了共享设备:因为在假脱机打印机系统中,实际上并没有为任何进程分配设备,而只是在磁盘缓冲区中为进程分配了一个空闲盘块和建立了一张I/O请求表。 
  • 实现了虚拟设备功能:宏观上,对于每一个进程而言,它们认为是自己独占了一个设备,即使实际上是多个进程在同时使用一台独占设备。也可以说,假脱机系统,实现了将独占设备变换为若干台对应的逻辑设备的功能。
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值