I/O核心子系统

2016-07-19  本文已影响278人  KevinCool

对设备进行控制的方法组成了操作系统内核的I/O子系统,提供的服务有I/O调度,缓冲与高速缓存,设备分配与回收,假脱机,设备保护,差错处理。

  1. I/O调度
    确定一个好的顺序来执行这些I/O请求,来改善系统整体性能,进程之间公平的共享设备访问,减少I/O完成所需要的平均时间。
    为每个设备维护一个请求队列来实现调度,当一个应用程序执行阻塞I/O系统调用时候,请求加到相应设备的队列上。I/O调度会重新安排队列顺序以改善系统总体效率和应用程序的平均响应时间。
    磁盘调度算法其实就是I/O调度的一种。
  2. 高速缓存和缓冲区
  1. 设备分配与回收
  1. 设备分配的策略
    分配的总原则,避免造成进程死锁,将用户程序和具体设备隔离开
    分配的方式,静态分配,动态分配。
  1. 设备分配的安全性
    指设备分配中应该防止发生进程死锁
  1. 逻辑设备名到物理设备名的映射
    设备独立性是指应用程序独立于具体使用的物理设备
    逻辑设备表,用于将逻辑设备名映射为物理设备名,LUT表项包括逻辑设备名,物理设备名和设备驱动程序入口地址。系统通过查找LUT来寻找相应的物理设备和驱动程序。
  1. SPOOLing技术,假脱机技术
    脱机输入/输出技术,利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘中,或者相反,SPOOLing是外部设备同时联机操作,假脱机输入/输出操作,系统中采用的一项将独占设备改造成共享设备的技术。

SPOOLing系统,提高了I/O速度,将独占设备改造成共享设备,实现了虚拟设备功能。
在SPOOLing技术下,CPU要打印机打印的数据可以先输出到磁盘的输出井里,然后再做其他事情。将打印请求挂到等待队列中,打印机有空的时候再把数据打印出来。

Tips:

  1. 磁盘时共享设备,一个时间间隔内可以被多个进程同时访问。
  2. 缓冲池时系统公用资源,可以供多个进程共享。
  3. 缓冲区是一种临界资源,使用缓冲区时都有申请和释放(互斥)的问题来考虑。
  4. 如果有高优先级的操作,记录鼠标活动情况,必须使用缓冲技术。
  5. 虚拟设备是靠将独占设备改造成共享设备,提高系统资源/独占设备利用率的SPOOLing技术实现的。
  6. SPOOLing系统由预输入程序,井管理程序,缓输出程序组成。
上一篇 下一篇

猜你喜欢

热点阅读