美文网首页
第六章 用户层的I/O软件与缓冲区管理

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

作者: 杀手的手刹 | 来源:发表于2018-11-24 20:18 被阅读0次

    回顾脱机技术:


    假脱机技术:

    多道程序技术,专门利用程序模拟脱机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)

    相关文章

      网友评论

          本文标题:第六章 用户层的I/O软件与缓冲区管理

          本文链接:https://www.haomeiwen.com/subject/yktyqqtx.html