操作系统学习笔记(11)——设备管理和I/O控制的方式



1、设备管理的概念

  • 设备管理是指操作系统对计算机系统中除CPU和内存以外的设备的管理。
  • 设备管理的主要任务是完成用户提出的输入输出请求,提高输入输出的速率,以及改善输入输出设备的利用率。
  • 设备不但种类繁多,而且它们的特性和操作方式相差很大,因此,设备管理是操作系统资源管理中最为复杂、最多样化,且与硬件密切相关的部分。
  • 设备的分类
    • 传输速率分类
    1. 低速设备:低速设备是指每秒传输几B~几百B的一类设备。这类设备中典型的如键盘、鼠标器、语音的输入和输出等设备。
    2. 中速设备:中速设备是指每秒传输几千B~数十千B的一类设备。这类设备中典型的如行式打印机、激光打印机等设备。
    3. 高速设备:高速设备是指每秒数传输几百KB~数十MB的设备。这类设备中典型的如磁带机、磁盘机、光盘机等。
    • 信息交换的单位分类
    1. 块设备:块设备用于存储信息。由于信息的存取是以数据块为单位,故称块设备,它属于有结构设备。块设备的基本特征是可寻址,可随机地读/写任意一块;块设备的另一特征是其输入/输出采用DMA方式。典型的块设备是磁盘。
    2. 字符设备:字符设备用于数据传输的基本单位是字符,它属于无结构设备。其基本特征是不可寻址。此外,字符设备在I/O时常采用中断驱动方式。字符设备的种类较多,如交互式终端、打印机等。
    • 资源分配角度分类
    1. 独占设备:独占设备是指在一段时间内只允许一个用户(进程)使用的设备。独占设备的分配可能会引起进程死锁。
    2. 共享设备:共享设备是指在一段时间内允许多个进程同时访问的设备。典型的共享设备是磁盘。
    3. 虚拟设备:虚拟设备是指通过某种技术将一台独占设备变换为能供若干个用户共享的设备,从而提高设备的利用率。
  • 设备管理的功能
    • 提高系统的利用率的关键之一是实现设备的并行性。
    • 为了提高设备的利用率,在进行设备分配时系统通常采
    • 用动态分配方式。对于独占设备往往采用虚拟技术将其改造为共享设备。
    • 设备的速率相对CPU而言要慢得多。为了平滑两者之间的差异,在设备管理中采用多种缓冲技术。
    • 设备管理还要方便用户的使用。


2、I/O控制方式

  • 选择和衡量数据传输控制方式的原则有:
    • 数据传输速度足够高,既能满足用户的要求,又不 会丢失数据;
    • 系统开销小,需要的处理控制程序少;
    • 充分发挥主机和设备的功能,提高两者并行的程度。
  • 程序直接查询控制方式
    • 用户进程直接控制主机和外围设备之间的数据传输。用户进程与外围设备读取数据时,主机向设备控制器发出读指令后进入测试等待状态。在等待时间内,主机重复查询外设的准备状态直至外设准备就绪。外设就绪,数据传送开始,主机从设备控制器读取一个字,再向内存写一个字。如果传送还未结束,再次向设备控制器发出读指令,直到全部数据传输完成再返回现行程序执行。用户进程向外设写数据与读数据基本类似。

    • 程序查询方式中,一旦主机启动外设,便不断查询外设的准备情况,终止了原程序的执行,浪费了宝贵的主机时间;另一方面,外设准备就绪后,主机参与数据的传送工作,此时主机也不能执行原程序。可见这种方式中,主机和外设串行工作,使主机不能充分发挥效率。


  • 中断方式
    • 仅当操作正常或异常结束时才中断CPU。实现了一定程度的并行操作,这叫中断方式。在主机启动外设后,不必查询外设是否就绪,而是继续执行现行程序,对设备是否就绪不加过问。此时主机和外设并行操作。外设准备完毕,将数据传送至设备控制器的寄存器后,外设向主机发出中断请求,主机从设备控制中将数据读入内存指定单元。

    • 在中断方式中,外设输入每个数据的过程中,无需主机的干预,因而可使得主机与外设并行工作。仅当输完一个数据时,才需要主机花费时间中断处理。中断方式在一定程度上提高了主机和外设的并行程度,提高计算机系统资源的利用率。

 

  • DMA(直接内存存取)方式
    • DMA方式的引入
    1. 中断方式中数据传输是以字节为单位进行的。如果采用中断方式进行数据传输,传输一个1KB的数据块时,系统需要中断1024次,显然这也要花费主机的时间。如果外设能直接与内存交换数据而不占用主机,那么,主机资源的利用率还可提高。这就出现了DMA方式。
    2. 在DMA方式中,内存和外设之间有一条数据通路,在内存和外设之间成块传送数据过程中,由DMA控制器取代主机来控制数据传输,直接执行到数传输完成。
    3. 特点:①  数据传输的基本单位是数据块,即在主机与外设之间传送一个数据块;②  传送的数据直接从外设到内存,或者相反;③  仅在传送一个数据块或多个数据块的开始和结束时才需要主机的干预。
    • DMA控制器的组成
    1. DMA控制器由三个部分组成:主机与DMA的接口DMA控制器与设备的接口I/O逻辑。
    • 为实现CPU与控制器之间成块的进行数据传输,必须在DMA控制器中设置如下4类寄存器。
      • 命令/状态寄存器(CR):用于接收从CPU发出来的I/O命令或有关控制信息,或设备的状态。
      • 内存地址寄存器(MAR):在输入时,存放把数据从设备传送到内存的起始目标地址;在输出时,存放由内存到设备的内存源地址
      • 数据寄存器(DR):用于暂存从设备到内存,或从内存到设备的数据。
      • 数据计数器(DC):存放本次CPU要读写的字节数。
    • DMA的工作过程
      • CPU要从磁盘读数据时,便向磁盘发一条指令。该命令被传送到CR中。同时,将本次数据存放在内存中的起始地址送给MAR,将要读取数据的字节数传送给DC,还要将磁盘中的源地址送给DMA中的I/O逻辑。

      • 启动DMA控制器进行数据传送,CPU可以处理其他任务。此后,整个传输过程中均由DMA进行控制。每传送一个字,DC计数器减1,直至DC计数器为0,整个传输过程结束。

 

    • 通道方法
      • 通道的概念:通道是独立于CPU的专门实现输入输出工作的处理机。通道支持控制设备和内存之间进行数据传送,把CPU从琐碎的输入输出操作中解放出来。此外,外围设备和CPU能实现并行操作;通道和通道之间能实现并行操作;各通道上的外围设备也能实现并行操作,以达到提高整个系统效率这一根本目的。
      • 通道号和一般处理机的区别(通道是一种特殊的处理机):
      1. 通道指令单一。通道硬件比较简单,其所能执行的指令主要是与输入输出操作有关的指令。
      2. 通道没有自己的内存。通道所执行的通道程序是放在计算机内存中的,也就是说通道与CPU共享系统的内存。
      • 通道的分类:(1)字节多路通道;(2)数组选择通道;(3)数组多路通道


 

posted @ 2021-12-11 10:36  从未想过的想  阅读(911)  评论(0编辑  收藏  举报