计算机操作系统第9章 设备管理1_第1页
计算机操作系统第9章 设备管理1_第2页
计算机操作系统第9章 设备管理1_第3页
计算机操作系统第9章 设备管理1_第4页
计算机操作系统第9章 设备管理1_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章设备管理在计算机系统中,除了CPU和内存之外,其他的大部分硬件设备称为外部设备;外部设备包括常用的输入输出设备、外存设备以及终端设备等;外部设备种类繁多,特性各异,操作方式的差别也很大,从而使得操作系统的设备管理变得十分复杂;9.1设备管理概述

9。1。1设备分类

计算机设备种类繁多,从不同的角度出发,设备可分成不同的类型。下面列举几种常见的分类方法。按设备从属关系:系统设备和用户设备;按设备使用特性:存储设备和I/O设备;按设备共享属性:独占设备,共享设备,虚拟设备:。

按信息交换单位:字符设备,块设备;9。1。2设备管理的任务和功能

设备管理的两项主要任务是分配设备和实现用户提出的I/O请求,在完成这两项任务时既要兼顾方便用户使用又要提高I/O设备的利用率;为了完成上述任务,设备管理应具备以下功能:

1,设备分配:根据用户的请求,为之分配设备,包括控制器和通道;

2,设备处理:实现具体的I/O操作;

3,缓冲管理:缓冲管理负责I/O缓冲区的分配和释放及有关管理工作;

4,设备独立性:又称设备无关性,是指实现用户编制程序时所使用的逻辑设备与物理设备的无关性。9。1。3设备控制器和I/O通道设备一般由机械和电子两部分组成,电子部分通常称为设备控制器。在微机中,又称为适配器、接口板或设备卡;控制器处于CPU与I/O设备之间,它接收从CPU发来的命令,并控制I/O设备的工作;控制器是一个可编址设备,当它控制一个设备时有一个设备地址,当它控制多个设备则应有多个设备地址;具体地讲,设备控制器有以下功能:

1,接收和识别来自CPU的命令;

2,实现CPU与设备之间的数据交换;

3,记录设备的状态以供CPU查询;

4,识别控制的每个设备地址,以选择设备;设备控制器的组成设备控制器由三部分组成:设备控制器与处理机的接口:实现CPU与设备控制器之间的通信;设备控制器与设备的接口:实现设备与设备控制器之间的通信;I/O逻辑:实现对设备的控制,它负责接收命令、对命令进行译码、再根据译出的命令控制设备。设备控制器组成图CPU与控制器的接口控制器与设备的接口数据寄存器控制/状态寄存器I/O逻辑控制器与设备的接口控制器与设备的接口┆数据状态控制数据状态控制数据线地址线控制线┆I/O通道I/O通道(Channel)是大型机或巨型机上专门负责输入/输出工作的处理机。它具有执行通道指令(在IBM上叫通道命令字CCW)的能力,并通过执行通道程序来控制I/O操作的实现,通道程序是通道指令的序列;根据信息交换方式的不同,可将通道分成以下几种类型:字节多路通道:它通常含有若干个非分配型子通道,每个子通道连接一台低速字符设备,这些子通道按时间片轮转方式共享主通道,每次交换一个字节;数据选择通道:又称数组选择通道,该通道含有一个分配型子通道,子通道连接高速块设备。在一段时间内只能执行一个通道程序,控制一台设备传送一批数据,当一道程序执行完后,再选择与通道相连的另一台设备;数据多路通道:又称数组多路通道,该通道是前两种通道的结合,它以分时方式执行几个通道程序,执行某个通道程序,为某台设备传送一组数据后,就转向另一个通道程序为另一台设备服务;9。1。4I/O系统结构I/O系统结构不尽相同,大致分成两类:无通道的I/O系统结构;有通道的I/O系统结构;无通道的I/O系统结构微型机I/O系统是无通道的,多采用总线I/O系统结构,CPU和内存直接连接到总线上,I/O设备通过设备控制器连接到总线上。磁盘驱动器CPU存储器磁盘控制器打印机控制器其他控制器…打印机有通道的I/O系统结构当系统的设备较多,若所有设备都通过总线与CPU通信则总线的负担过重。为此在I/O系统结构中增加了一级I/O通道。

存储器通道1通道2控制器2控制器3控制器1控制器4设备1设备2设备3设备4设备5设备6设备7设备8多通路I/O系统示意图多通路系统使得设备之间可以与控制器和通道交叉连接,这样每台设备就有多条与主机交换信息的通路,从而减少了通道和控制器的数量和提高了它们的利用率。存储器通道1通道2控制器2控制器1设备1设备3设备5设备79.2I/O控制方式在《计算机组成原理》里已经讲过,常用的I/O控制方式有以下几种:程序直接控制方式;中断控制方式;直接存储器存取(DMA)控制方式;通道控制方式;外围处理机方式;程序直接控制方式流程工作方式简单,但占用了很多CPU机时;向I/O控制器发出读命令读I/O控制器的状态传送完成?检查状态?从I/O控制器中读入数据就绪向存储器中写入数据继续往下未就绪YN出错中断控制方式流程这种方式主要用于字符设备;数据是在中断处理时传送的;CPU可与设备并行工作;向I/O控制器发出读命令读I/O控制器的状态传送完成?检查状态?出错从I/O控制器中读入数据就绪向存储器中写入数据NY执行下条指令CPU做其他事情中断DMA控制方式

DMA控制方式的思想是在设备与内存之间设置一个DMA控制器,在控制器的控制下,设备和内存之间可以成批地进行数据交换,每交换一块中断一次CPU;在一块数据传送期间,CPU并行工作;这种方式主要用于块设备;为实现内存与设备之间成块数据的直接交换,必须在DMA控制器中设置如下寄存器:命令/状态寄存器CR:存放命令及状态;内存地址寄存器MAR:存放内存起始地址;数据寄存器DR:中转传送的数据;数据计数器DC:计数传送的字(节)数;DMA控制器的组成控制器与块设备的接口主机-控制器接口DRI/O控制逻辑系统总线命令CPU内存countMARDCCRDMA控制器DMA工作过程设置MAR和DC初值请求中断启动DMA传送命令挪用存储器周期传送数据字存储器地址加1;字计数寄存器减1NYDC=0?准备又一次传送通道控制方式

通道控制方式是DMA控制方式的发展,它所需的CPU干预更少;通道控制方式与DMA方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式;在通道控制方式中,CPU只需发出启动指令,指出要求通道执行的操作和使用的I/O设备,该指令就可以启动通道并使该通道从内存中调出相应的通道程序执行。以输入为例,其过程为:通道工作过程CPU做其他事情中断向通道发读命令并指明使用的设备进行中断处理读出通道程序并设置控制器中的状态寄存器执行通道程序控制设备输入数据传输结束发中断9.3缓冲技术在现代计算机系统,外部设备与主机的信息交换都是要经过缓冲存储器的,因此,缓存管理也是设备管理的重要组成部分。9。3。1缓冲的引入引入缓冲的主要原因有:缓和CPU及各种设备之间速度不匹配的矛盾;提高CPU与I/O设备并行工作的程度;减少设备对CPU的中断频率,放宽CPU对中断响应时间的限制;实现一次I/O信息的重复使用;缓存使用的说明

缓存使用的说明:左,缓冲设备之间速度不匹配的矛盾;右,一次I/O信息多次使用;内存缓存缓存内存卡片机打印机磁盘进程A进程B缓冲实现技术缓冲的实现技术分为:单缓冲;双缓冲;循环缓冲;缓冲池;1.单缓冲单缓冲是在设备和处理机(或设备)之间设置一个缓冲区;以块设备I/O为例,输入时,先把一块数据输入至缓冲区,然后OS将缓冲区中的数据送到用户区;在块设备输出时,先将要输出的数据从用户区复制到缓冲区,然后再将缓冲区中的数据写到设备上;设从设备输一块信息到缓存的时间为t,OS将缓存的信息传送到用户区的时间为m,CPU计算的时间为c,则系统处理一块信息的时间为max(c,t)+m;磁鼓缓存进程用户区tm进程计算c2.双缓冲引入双缓冲,可以进一步提高处理机与设备的并行操作度;在块设备输入时,可先将第一个缓冲区装满,之后便装填第二个缓冲区,与此同时OS可将第一个缓冲区中的数据传到用户区;当第一个缓冲区中的数据处理完后,若第二个缓冲区已装满,则处理机又可处理第二个缓冲区中的数据,而设备又可装填第一个缓冲区。如此循环;在与前面的假设相同的情况下,此时处理一块信息的时间为:max(t,c);操作系统I/O设备输入用户进程传送3.循环缓冲循环缓冲中包含多个大小相等的缓冲区,每个缓冲区中有一个指针指向下一个缓冲区,最后一个缓冲区的指针指向第一个缓冲区,由此构成一个环形;循环缓冲用于输入/输出时,还需要两个指针in和out;对于输入而言,in指向下一个可用的空缓冲区,out指向下一个可以提取数据的满缓冲区。对输出而言正好相反;由于循环缓冲由多个缓冲区组成,使得用户进程有足够的缓冲区使用,从而提高了运行速度;操作系统I/O设备输入用户进程传送inout4.缓冲池前面三种缓冲技术都是将一个或多个缓存分给一个进程固定使用,当进程较多时,缓存的空间开销很大。缓冲池由多个缓冲区组成,使用的是动态分配策略,即这些缓冲区是所有进程共用的,是动态地分配和回收的。这样就可以有限数量的缓存满足多个进程的需要;缓冲池中有三种类型的缓冲区队列:空缓冲队列:由空闲缓冲区构成的队列;输入队列:装满输入数据的缓冲区队列;输出队列:装满输出数据的缓冲区队列;除上述三个队列之外,还有四种工作缓冲区:用于收容输入数据的工作缓冲区;用于提取输入数据的工作缓冲区;用于收容输出数据的工作缓冲区;用于提取输出数据的工作缓冲区;9.4设备分配在实际系统中,设备分配有多种方式,如人工分配,以作业为单位的静态分配等。这里所说的分配,指的是以进程为单位的动态分配;当进程提出设备请求时,设备分配程序便按照一定的策略为其分配设备,必要时还应分配相应的控制器和通道,以保证信息交换通路的畅通;9。4。1设备分配中的数据结构

设备分配依据的主要数据结构有:设备控制表;控制器控制表;通道控制表;系统设备表;设备控制表(DCT)系统为每个设备配置一张设备控制表,用于记录设备的特性及与I/O控制器连接的情况。设备控制表设备类型设备标识符设备状态:忙/闲指向控制器表的指针设备等待队列指针…控制器控制表(COCT)控制器控制表也是每个控制器一张,它反映I/O控制器的使用状态以及和通道的连接情况。控制器控制表控制器标识符控制器状态:忙/闲指向通道表的指针控制器等待队列指针…通道控制表(CHCT)每个通道都配有一张通道控制表,它反映通道的使用状态。通道控制表通道标识符通道状态:忙/闲通道等待队列指针…系统设备表(SDT)系统设备表整个系统一张,它记录了系统中所有物理设备的情况,每个物理设备占一个表目。系统设备表SDT表目1表目2┆表目n设备类型设备标识符指向设备控制表的指针驱动程序入口9。4。2设备分配策略

系统在进行设备分配时,应考虑以下因素:设备的使用性质;设备分配算法;设备分配的安全性;设备独立性;设备的使用性质设备使用时有三种类型:独占:这种设备在一段时间内只允许一个进程使用;共享:这种设备允许多个进程“同时”使用;虚拟:设备本身虽是独占设备,但经过某种技术处理后可改造成“同时”使用设备。

针对上述三种设备可采用三种不同的分配方式。不同的分配方式独占式分配:在将一个设备分配给某进程后便一直由它独占,直至该进程完成或释放该设备后,系统才能再将该设备分配给其他进程使用;共享式分配:将设备分配给多个进程“同时”使用。但这些进程对设备的使用需要合理调度;虚拟式分配:当进程申请独占设备时,系统给它分配共享设备上的一部分存储空间;当进程要与独占设备交换信息时,系统把要交换的信息存放在这部分存储空间中;在适当的时候,将设备上的信息传输到存储空间中或将存储空间中的信息传送到设备。设备分配算法设备分配通常只采用以下两种算法:先来先服务:根据进程对某设备发出请求的先后次序,将它们排成一个设备请求队列,设备分配程序总是把设备首先分配给队首进程;优先级高者优先:按对某设备提出I/O请求的进程优先级由高到低排队,对优先级相同的I/O请求,按先来先服务的算法排队,设备分配程序总是把设备首先分配给队首进程;设备分配的安全性设备分配的安全性是指在设备分配中应保证不发生进程死锁;显然,设备的静态分配方式是不会产生死锁的;设备的动态分配是在系统的运行过程中,在进程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论