计算机操作系统复习之设备管理

第四章 设备管理系统
  设备管理是指计算机系统对除CPU和内存以外的所有输入输出设备的管理。
 
  一、分类:低速设备(键盘、鼠标等外设)
    中速设备(打印机等)
    高速设备(磁带机、磁盘机)
 
    独占设备 共享设备 虚拟设备:通过虚拟技术将一台独占设备变换为若干台供多个用户
共享的逻辑设备。
 
 二、设备控制器
    设备的电子部分叫做设备控制器或适配器
    组成部分:
      1.数据寄存器(存输入输出数据) 2.控制寄存器(存控制信息)
      3.状态寄存器(存设备的状态)
 三、设备管理的目标和功能
    设备管理的目标
      1.提高设备的利用率
      2.为用户提供方便、同一的界面
    设备管理功能
      1.设备分配
      2.缓冲区管理:解决CPU和I/O之间速度不匹配的矛盾
      3.实现物理I/0设备的操作:通道、中断
 
 四、I/O控制方式
    程序I/O方式、中断方式、DMA方式、通道方式
    1.程序I/O方式:早起的计算机操作系统中,由于没有中断机构,处理机对I/O设备直接进行
控制,采取程序I/O方式。
    2.中断控制方式:中断驱动,当你要用I/O设备时,CPU向相应的设备控制器发出I/O指令,然
后立即返回执行其他任务,由设备控制器按照该命令的要求去控制I/O设备。
    3.DMA方式:为了进一步减少CPU对I/O设备的干预,引入了直接存储器访问。需要DMA控制器
(DMAC)。在这种方式中DMAC采用盗窃总线控制权的方法从CPU接管对总线的控制。与CPU分时控制
总线。
    4.通道方式:大中型计算机系统中,普遍采用专用的I/O处理机-通道来接受CPU的委托,独立
执行自己的通道程序来实现I/O设备与内存的信息交换。
      通道是通过通道程序并与设备控制器来共同实现对I/O设备的控制,即(可代替CPU)执行
I/O指令集。
      通道类型:
      (1)字节多路通道:适用于连接低速、中速设备,打印机、终端
      (2)数组选择通道:适用于连接告诉设备,磁盘机、磁带机
      (3)数组多路通道:较高的数据传输速率,令人满意的通道利用率
    
 五、缓冲技术
    解决CPU和I/O设备间速度不匹配的矛盾,提高I/O速度和设备利用率,在I/O设备和处理机(内存)
之间使用缓冲区交换数据。
    引入缓冲技术原因:
    (1)解决CPU和I/O设备间速度不匹配的矛盾
    (2)减少对CPU的中断频率,放款 对中断相应时间的闲置
    (3)提高CPU和I/O设备之间的并行性
   
    缓冲类型:硬件缓冲:专用的寄存器作为缓冲区。软件缓冲:在内存汇总划出若干单元作为
缓冲区。
    相关计算:
      CPU从磁盘上读一块数据进行计算有三步:
        1)从磁盘上把一块数据读入缓冲区(T)
        2)操作系统将缓冲区的数据传到用户区(M)
        3)CPU计算(C)
        总时间为T+M+C
      单缓冲:
        因为读取数据和计算数据(T和M)是可以同时进行的,所以连续处理一个数据时间为
max(T,C) + M。
      双缓冲:为使两者能并行工作。
        读入缓冲区A的时候CPU可以对缓冲区B的数据进行传送和计算,所以双缓冲区连续处理
一个数据时间为max(T, (M + C))
   
      缓冲池:当系统配置较多设备时,使用专用缓冲区就要消耗大量的内存空间,且利用率不
高。目前广泛使用公用缓冲池。三种类型:空缓冲区、装满输入数据的缓冲区、装满输出数据的
缓冲区。按类型分为三个队列。emq(空缓),inq(输入缓)、outq(输出缓)。
    
      设备独立性:用户程序不直接使用物理的设备名,只能使用逻辑设备名,由系统在实际
执行的时候,将逻辑设备名转换为某个具体的物理设备名,实施I/O操作。使得用户所编制的程序
与实际使用的物理设备无关。
      优点(1)设备分配时的灵活性,某设备故障或被使用时,有系统将其他设备分配给进程。
          (2)易于实现I/O重定向,用于I/O操作的设备可以跟换。
   
      设备分配算法:  先来先服务、优先级高者优先
 六、磁盘I/O
    现代OS中,把磁盘作为文件存储器,因为容量大且存取速度快。
    1.磁盘结构:磁盘存储器由磁盘驱动器、磁盘控制器和磁盘三个部分组成。
        活动头磁盘:一个盘面上仅配有一个磁头,所有磁头都安装在一个传动臂上。简单,较慢
        固定头磁盘:每条磁道上都有一个读写磁头,可进行并行读写操作,提高I/O速度。
    2.磁盘的容量:
      磁盘设备中,一般包括一个或多个盘片,每片分两面,每面又可分为若干条磁道(同心圆)
最外边的磁道标为0道,最内边的磁道标为n-1道。磁道又被划分为若干扇区。
      盘片--面--磁道--扇区(存储和传送信息的基本单位512字节
 
    柱面:容量较大的硬盘有多个盘片叠在一起,磁盘中处于相同磁道不懂盘面的位置的集合,
叫做柱面。说白了就是很多个磁道叠在一起。
  
    软盘容量的计算:扇区字节数x扇区数x磁道数x面数
    硬盘容量的计算:扇区字节数x扇区数x柱面数x磁头数   
       
    3.物理与逻辑扇区:
      扇区是磁盘存储和传送信息的基本单位,逻辑扇区就是给出扇区号、磁道号(柱面号)、
面号(磁头号),准确定位扇区,也叫绝对扇区。
      逻辑扇区则是系统为了方便管理,将物理扇区转变成逻辑扇区。在操作系统中,都以逻辑
扇区号为文件分配扇区,也以逻辑扇区来调用设备驱动程序,进行磁盘的读写操作。
    4.磁盘的访问时间:
      寻道时间:把磁头从当前位置移动到指定磁道上所经历的时间。该时间是启动磁盘的时间s
与磁头移动n条磁道所花费的时间之和。T = m * n + s(m是常数与磁盘驱动器的速度有关)
      旋转延迟时间:Tr,指定扇区移动到磁头下所经历的时间。平均旋转延迟时间为转一圈需要
的时间的一半。
      传输时间Tt:指把数据从磁盘中读出或写入。
    在这三部分中寻道时间所占比例最大,旋转延迟时间第二,读写数据很小的比例。
  
    5.磁盘调度算法
      先来先到(FCFS)算法:不讲了
      最短寻道时间优先(SSTF)算法:总是为那些与当前磁头所在的磁道距离最近请求服务。
可能会产生饥饿现象
      扫描算法(SCAN):电梯调度算法,优先考虑磁头当前移动方向,如当磁头正在自里向外
运动时,选择的下一个访问对象是其最近且就在那个方向的。直到五更外的磁道需要访问时,换向
      循环扫描(CSCAN):扫描算法的变种,为了提供更均匀的等待时间,规定磁头只能当向
运动(自里向外),磁头运动到最外面的被访问磁道后,立即返回最里面的欲访问的磁道。
      N-Step-SCAN算法:以上除了FCFS算法都有可能出现磁臂停留在某处不动的情况。如一个或
多个进程对某一磁道有着较高的访问频率,从而垄断了整个磁盘设备,也叫磁臂粘着。N步SCAN
算法使将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法一次处理这些子队列,
又按照SCAN算法处理队列中的每一个请求。这样就可以避免粘着现象。   
      FSCAN算法使N-Step-SCAN算法的简化,只将请求访问队列分成两个子队列。一个队列按SCAN
算法调度,另一个队列则是在扫描期间出现新的磁盘I/O的进程队列,这样所有新的请求都将被
推迟到一下次扫描时处理。
 七、SPOOLing系统
    SPOOLing系统是对脱机输入、输出工作的模拟,他必须有告诉随机外存(硬盘)的支持。
    主要三部分:
      1.输入输出井
      2.输入缓冲区、输出缓冲区
      3.输入输出设备
    实现对I/O设备的虚拟,只要输入设备空闲,SPOOLing系统可预先将输入数据从设备传输到输
入井中供用户程序随时读取。
    用户程序可随时将输出数据送到输出井中,带输出设备空闲时再执行数据输出操作。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页