第六章 用户层的I/O软件与缓冲区管理

回顾脱机技术:


假脱机技术:

多道程序技术,专门利用程序模拟脱机I/O的外围机,完成设备I/O操作。

称这种联机情况下实现的同时外围操作为SPOOLing 技术(Simultaneaus Periphernal Operating On—Line,或称为假脱机操作)

一般进程对独占设备的需求被假脱机模拟到磁盘上。所以实现设备虚拟,多道是前提,还需高速、大容量、可随机存取的外存支持。

SPOOLing系统的组成:

主要有三大部分

1.输入井和输出井:磁盘上开辟两大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。

2.输入缓冲区和输出缓冲区:为缓解速度矛盾,内存中开辟两大缓冲空间,输入缓冲区暂存输入设备送来的数据,再送给输入井;输出缓冲区暂存输出井送来的数据,再送输出设备。

3.输入进程和输出进程。

     用一进程模拟脱机输入时外围设备控制器的功能,把低速输入设备上的数据传送到高速磁盘上;

     用另一进程模拟脱机输出时外围设备控制器的功能,把数据从磁盘上传送到低速输出设备上。



SPOOLing系统的特点:

1.提高了I/O的速度。利用输入输出井模拟成脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾。

2.将独占设备改造为共享设备。并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表。

3.最终,实现了虚拟设备功能。多个进程可“同时”使用一台独占设备。



缓冲管理:


I/O控制方式减少CPU对I/O的干预提高利用率;

缓冲则通过缓和CPU和I/O设备速度不匹配矛盾,增加CPU和I/O设备的并行性,提高利用率。

现代OS中,几乎所有的I/O设备与处理机交换数据时,都用了缓冲区。


引入缓冲区的主要原因:

1、缓和CPU与I/O设备间速度不匹配的矛盾。

2、缓冲区数据成批传入内存,也可进一步减少对CPU的中断频率

3、最终目的:提高CPU和I/O设备的并行性。

使用缓冲区的方式:

1)单缓冲、多缓冲

2)循环缓冲

3)缓冲池(Buffer Pool)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,389评论 1 22
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 12,006评论 3 34
  • 对设备进行控制的方法组成了操作系统内核的I/O子系统,提供的服务有I/O调度,缓冲与高速缓存,设备分配与回收,假脱...
    KevinCool阅读 1,637评论 0 2
  • 假如人生可以重新来过,你还会选择现在的模样吗? 假如人生可以重新来过,你还会选择现在的生活吗? 假如人生可以重新来...
    玖玖1212阅读 678评论 0 0
  • 自己的抽象画, 在想象中,一位女子在一块冰上站立着, 漂浮着,不符合科学的安全性, 但是她却在思索着哲学的含义。 ...
    悬崖水滴阅读 454评论 0 1