输入输出系统教学内容_第1页
输入输出系统教学内容_第2页
输入输出系统教学内容_第3页
输入输出系统教学内容_第4页
输入输出系统教学内容_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、输入输出系统3.操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O4.理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键5.I/O技术很实用6.与其他功能联系密切,特别是文件系统6.1.2 设备的分类1.按使用特性分 存储型设备 输入型设备(外设主机) 输出型设备(主机外设) 输入输出型设备(交互型设备)2.按数据组织分 块设备 以数据块为单位存储、传输信息 字符设备 以字符为单位存储、传输信息3.按外部设备的从属关系分 系统设备 指操作系统生成时,登记在系统中的标准设备 (如终端、打印机、磁盘机等)用户设备 指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理

2、程序由用户提供,并将其纳入系统,由系统代替用户实施管理。 (如A/D,D/A转换器,CAD所用专用设备)4. 按资源分配角度分按资源分配角度分 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等) 共享设备 在一段时间内可有多个进程以交叉的方式来共同使用的设备,其资源利用率高。(如硬盘) 虚设设备 在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备。目的是将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率。(实例:SPOOLing技术,利用虚设备技术 用硬盘模拟输入输出设备)5.从程序使用角度分

3、逻辑设备 物理设备6.按数据传输率分 高速设备 低速设备 中速设备6.1.3 设备管理的目标和任务 按照用户的请求, 控制设备的各种操作, 完成I/O设备与内存之间的数据交换, 最终完成用户的I/O请求完成功能:(1) 设备分配与回收 记录设备的状态 根据用户的请求和设备的类型, 采用一定的分配算法, 选择一条数据通路 (2) 建立统一的独立于设备的接口(3) 完成设备驱动程序,实现真正的I/O操作(4) 处理外部设备的中断处理(5) 管理I/O缓冲区2. 向用户提供使用外部设备的方便接口,屏蔽了硬件细节(设备的物理细节, 错误处理, 不同I/O的差异性)使用户摆脱繁琐的编程负担。 方便性、

4、友好界面、 透明性3. 利用各种技术(通道, 中断, 缓冲等)提高CPU与设备、设备与设备之间的并行工作能力, 提高资源利用率 并行性 均衡性(使设备充分忙碌)4. 保证在多道环境下, 多个进程竞争使用设备时, 按一定策略分配和管理各种设备,使系统能有条不紊的工作5. 保护 设备传送或管理的数据应该是安全的、不被破坏的、保密的6. 与设备无关性(设备独立性) 用户在编制程序时, 使用逻辑设备名, 由系统实现从逻辑设备到物理设备(实际设备)的转换。 用户能独立于具体物理设备而方便的使用设备,用户申请使用设备时, 只需要指定设备类型, 而无须指定具体物理设备, 系统根据当前的请求, 及设备分配的情

5、况, 在相同类别设备中, 选择一个空闲设备,并将其分配给一个申请进程。7. 统一性: 对不同的设备采取统一的操作方式, 在用户程序中使用的是逻辑设备。优点是:设备忙碌或设备故障时,用户不必修改程序改善了系统的可适应性和可扩展性6.1.4典型的外部设备一一. .磁盘磁盘几乎所有计算机都使用磁盘来存储信息。从存储角度,与内存比较起来,磁盘有三个主要的优点:1. 可用的存储容量非常大2. 每位的价格非常低3. 电源关掉后信息不会丢失实际的硬盘都组织成许多柱面,每一个柱面上的磁道数和垂直放置的磁头个数相同磁道又被分成许多扇区,每条磁道上扇区数目典型为8至32,每个扇区包含相同的字节数磁盘驱动程序有重要

6、设备特性:控制器可以同时控制两个或多个驱动器进行寻道,这就是重叠寻道(overlapped seeks)当控制器和软件等待一个驱动器完成寻道时,控制器可以启动另一个驱动器进行寻道。许多控制器也可以在对一个或多个其他驱动器寻道的同时在一个驱动器上进行读写操作但是控制器不能同时读写两个驱动器(读写数据要求控制器在微秒级范围传输数据,所以一个传输就基本用完了所有的计算能力)二二. .时钟时钟 时钟(时钟(clockclock),又称为定时器(),又称为定时器(timertimer) (1) (1) 时钟负责提供一天的时间时钟负责提供一天的时间 (2) (2) 防止一个进程垄断防止一个进程垄断CPUC

7、PU 时钟既不是块设备,也不是字符设备,但时钟软件通常也时钟既不是块设备,也不是字符设备,但时钟软件通常也采用设备驱动程序的形式。采用设备驱动程序的形式。两种类型:两种类型:比较简单的时钟被连到比较简单的时钟被连到110V110V或或220V220V的电源线上,每个电压周的电源线上,每个电压周期产生一个中断,频率是期产生一个中断,频率是50Hz50Hz或或60Hz60Hz另一种时钟由三个部件构成:晶体振荡器、计数器和存储寄另一种时钟由三个部件构成:晶体振荡器、计数器和存储寄存器存器 石英晶体产生的精确的周期信号,典型的范围是石英晶体产生的精确的周期信号,典型的范围是5 5到到100MHz100

8、MHz 信号送到到计数器,使其递减计数至信号送到到计数器,使其递减计数至0 0。当计数器变为。当计数器变为0 0时时,产生一个,产生一个CPUCPU中断信号中断信号可编程时钟操作方式:在单脉冲方式(one-shot mode)下,当时钟启动时,它把存储寄存器的值拷贝到计数器中,然后,晶体的每一个脉冲使计数器减1。当计数器为0时,产生一个中断,并停止工作,直到软件再一次显式启动它在方波方式(square-wave mode)下,当计数器为0并产生中断时,存储寄存器的值自动拷贝到计数器,这个过程不断地重复下去。周期性的中断称为时钟滴答(clock tick )可编程时钟的优点是其中断频率可由软件控

9、制时钟硬件所做的工作是每隔一定的时间间隔产生一个中断涉及时间的其他所有工作都必须由软件时钟驱动程序完成时钟软件的功能: 1维护日期时间 2防止进程超时运行 3对CPU的使用情况记帐 4处理用户进程提出的ALARM系统调用 5为系统本身各部分提供监视定时器 6绘制CPU运行直方图,完成监视和统计信息收集三三. .终端终端每台计算机都配有一个或多个终端与之通信为了使操作系统中与设备无关部分和用户程序对于不同型号的终端不必重写,终端驱动程序隐藏了各种类型终端的差异根据与操作系统的通信方法将终端分为两大类: (1)RS232标准接口 (2)存储映像终端 RS232终端由键盘和显示器构成,通过串行接口一

10、次一位地与计算机系统进行通信。这些终端使用25针的连接器,其中一针用于发送数据,一针用于接收数据,一针接地,其余22针用于各种控制功能(大部分未使用)存储映像终端存储映像终端本身是计算机的组成部分通过专用存储器接口与计算机通信,称为视频RAM(video RAM),是计算机地址空间的一部分,CPU对它的寻址与对其他存储器的寻址是一样视频控制器(video controller),从视频RAM中取出字符,产生用于驱动显示器视频信号当CPU将一个字符写到视频RAM时,在一帧显示周期内显示在屏幕上6.2 I/O软件的组成IO软件的基本思想是按分层的思想构成,较低层软件要使较高层软件独立于硬件的特性,

11、较高层软件则要向用户提供一个友好的、清晰的、简单的、功能更强的接口I/O软件的层次结构及功能IO软件的目标软件的目标 设备独立性 是设计IO软件时的关键概念。用户在编写使用软盘或硬盘上文件的程序时,无需为不同的设备类型而修改程序。 统一命名 文件或设备有统一命名, 名字只应是一个简单的字符串或一个整数, 不应依赖于设备。 出错处理 数据传输中的错误应尽可能在接近硬件层上处理 可共享设备和独占设备的处理中断处理程序每个进程在启动一个IO操作后阻塞 直到IO操作完成并产生一个中断 由操作系统接管CPU后唤醒该进程为止设备驱动程序与设备密切相关的代码放在设备驱动程序中, 每个设备驱动程序处理一种设备

12、类型 每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。设备驱动程序负责释放这些命令, 并监督它们正确执行。 一般, 设备驱动程序的任务是接收来自与设备无关的上层软件的抽象请求, 并执行这个请求 在设备驱动程序的进程释放一条或多条命令后,系统有两种处理方式, 多数情况下, 执行设备驱动程序的进程必须等待命令完成, 这样, 在命令开始执行后, 它阻塞自已, 直到中断处理时将它解除阻塞为止。而在其它情况下, 命令执行不必延迟就很快完成与设备无关的I/O软件虽然IO软件中一部分是设备专用的,但大部分软件是与设备无关的。设备驱动程序与设备独立软件之间的确切界限是依赖于具体系统的。

13、 独立于设备的软件的基本任务是实现所有设备都需要的功能,并且向用户级软件提供一个统一的接口。主要功能:设备命名;设备保护;与设备无关的块大小;数据缓冲;数据块的分配;对独占设备的分配与释放;错误处理等。6.3 I/O硬件特点硬件特点IO设备一般由机械和电子两部分组成1.物理设备 机械部分是设备本身(物理装置)2.设备控制器 电子部分叫做设备控制器或适配器。 在小型和微型机中,它常采用印刷电路卡插入计算机中控制器卡上通常有一个插座,通过电缆与设备相连 控制器和设备之间的接口是一个标准接口,它符合ANSI、IEEE或ISO这样的国际标准一一.DMA.DMA(直接存储器访问)方式(直接存储器访问)方

14、式为了进一步减少CPU对I/O的干预引入DMA控制方式, 它有以下特点: 数据在内存与I/O设备之间传送的基本单位是数据块。 数据是直接在设备内存之间传送的。 仅在传送一个或多个数据块的开始和结束时才需要CPU对I/O的干预, 传送工作本身是由DMA控制器完成的。DMA需要附加的辅助硬件,且该DMA硬件属于设备的电子部分的功能(由控制器实现)。许多控制器,尤其是块设备控制器都支持DMA。DMA控制器的组成 主机与DMA控制器的接口数据寄存器(DR) 内存地址寄存器(MAR)数据计数器(DC) 命令/状态寄存器(CR) DMA控制器与块设备的接口1) I/O控制逻辑DRMARDCCRI/O控制逻

15、辑 块设备接口控制器与内存CPUcoutDMA方式的工作流程(1)设置AR和DC初值;(2)启动DMA传送命令;(3)挪用存储器周期传送数据字;(4)存储器地址增加1, 字计数器DC减1;(5)DC=0 则到(6), 否则到(3)(6)请求中断CPU向控制器发出启动向控制器发出启动DMA通知和有关参数通知和有关参数控制器向内存发出询问请求控制器向内存发出询问请求访问内存(读、写)访问内存(读、写)计数器减计数器减1结束否结束否发中断发中断NYDMA的实现流程的实现流程二二. . 通道技术通道技术1.定义:通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替C

16、PU对输入/输出操作进行控制,从而使输入、输出操作可与CPU并行操作。2.引入通道的目的 为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力 3. 3. 分类分类1) 1) 字节多路通道字节多路通道 字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息。 主要连接以字节为单位的低速I/O设备。如打印机,终端。 以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节 2) 2)选择通道选择通道 选择通道是以成组方式工作的,即每次传

17、送一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序 主要连接磁盘,磁带等高速I/O设备 选择通道选择通道 3) 3)成组多路通道成组多路通道 它结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令 主要连接高速设备 这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现4.硬件连

18、接结构 交叉连接5. 5. 通道工作原理通道工作原理 通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序 通道运算控制部件:通道地址字 CAW:记录通道程序在内存中的地址通道命令字 CCW:保存正在执行的通道指令通道状态字 CSW:存放通道执行后的返回结果通道数据字 CDW:存放传输数据通道和CPU共用内存,通过周期窃取方式取得 工作原理 CPU:执行用户程序,当遇到I/O请求时,可根据该请求生成通道程序放入内存(也可事先编好放入内存),并将该通道程序的首地址放入CAW中;之后执行“启动I/O”指令,启动通道工作。通道:接收

19、到“启动I/O”指令后,从CAW中取出通道程序的首地址,并根据首地址取出第一条指令放入CCW中,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程序,完成传输工作(通道程序完成实际I/O,启动I/O设备,执行完毕后,如果还有下一条指令,则继续执行, 否则表示传输完成) 当通道传输完成最后一条指令时,向CPU发I/O中断,并且通道停止工作。CPU接收中断信号,从CSW中取得有关信息,决定下一步做什么 6.3 6.3 缓冲技术缓冲技术1. 缓冲技术的引入 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。 在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部

20、设备之间速度不匹配的矛盾,提高资源利用率缓冲技术 减少了I/O设备对处理器的中断请求次数 简化了中断机制 节省了系统开销2.缓冲区设置 硬缓冲:在设备中设置缓冲区,由硬件实现 软缓冲:在内存中开辟一个空间,用作缓冲区3.缓冲区管理 单缓冲:操作系统中设置一个缓冲区 双缓冲:操作系统中为某一设备设置两个缓冲区 缓冲池:多个缓冲区连接起来统一管理,常采用多缓冲管理缓冲池的组成缓冲池的组成 空缓冲链队列空缓冲链队列emp:由空缓冲区组成由空缓冲区组成 输入缓冲链队列输入缓冲链队列inq:由装满输入数据的缓冲区组成由装满输入数据的缓冲区组成 输出缓冲链队列输出缓冲链队列out:由装满输出数据的缓冲区组

21、成由装满输出数据的缓冲区组成 4种工作缓冲区种工作缓冲区 收容输入、提取输入、收容输出、提取输出。收容输入、提取输入、收容输出、提取输出。 从某队列上取下来操作完后再挂到另一队列上从某队列上取下来操作完后再挂到另一队列上2.对缓冲池队列操作的两个过程对缓冲池队列操作的两个过程 缓冲池中的队列是临界资源要考虑互斥与同步缓冲池中的队列是临界资源要考虑互斥与同步3.缓冲区工作方式缓冲区工作方式提取输出提取输出收容输入收容输入提取输入提取输入收容输出收容输出缓冲池缓冲池hinsinsouthout用用户户程程序序empinqout收容输入的工作方式收容输入的工作方式:当输入进程需要输入数据时当输入进程

22、需要输入数据时(调用调用Getbuf(emp,hin)过程过程, 从从emp队列首摘下空缓队列首摘下空缓 冲区作为收容输入工作缓冲区冲区作为收容输入工作缓冲区hin(2) 把数据输入到工作缓冲区把数据输入到工作缓冲区hin(3) 调用调用Putbuf(inq,hin),将将hin挂到挂到inq队列尾队列尾提取输入工作方式:提取输入工作方式:当计算进程需要提取输入数据时当计算进程需要提取输入数据时(1) 调用调用Getbuf(inq, sin)过程过程,从从inq队列头摘下缓冲区队列头摘下缓冲区作为提取输入工作缓冲区作为提取输入工作缓冲区sin(2) 计算进程从工作缓冲区计算进程从工作缓冲区si

23、n中提取数据中提取数据(3) 调用调用Putbuf(emp,sin), 将将sin挂在挂在emp队列尾队列尾Procedure Getbuf(q,buf); 从从q队列头摘下缓冲区队列头摘下缓冲区buf begin Wait(RS(q); 信号量信号量RS(q)是队列是队列q的长度的长度 Wait(MS(q); MS(q)是对是对q操作的互斥信号量操作的互斥信号量 buf:=Takbuf(q); Signal(MS(q); endProcedure Putbuf(q,buf); buf加到加到q队列的队尾队列的队尾 begin Wait(MS(q); Addbuf(q,buf); Signal

24、(MS(q) Signal(RS(q); end6.5 磁盘调度磁盘调度 当多个进程都需要访问磁盘时当多个进程都需要访问磁盘时, 访盘请求在等待访盘请求在等待, 应采用一定的策略应采用一定的策略, 对这些请求的服务顺序调整安排对这些请求的服务顺序调整安排,旨在降低平均磁盘服务时间旨在降低平均磁盘服务时间, 达到公平、高效。达到公平、高效。公平:一个公平:一个I/O请求在有限时间内满足。请求在有限时间内满足。高效:减少设备机械运动所带来的时间浪费。高效:减少设备机械运动所带来的时间浪费。 磁盘调度考虑的问题磁盘调度考虑的问题:一次访盘时间一次访盘时间 = 寻道时间寻道时间+旋转延迟时间旋转延迟时

25、间+存取时间存取时间 磁盘调度算法磁盘调度算法:1. 先来先服务先来先服务FCFS(First-Come First Served) 按访问请求到达的先后次序服务按访问请求到达的先后次序服务优点:简单优点:简单, 公平;公平;缺点:效率低缺点:效率低, 相邻两次请求可能会造成最内到最外的相邻两次请求可能会造成最内到最外的柱面寻道柱面寻道, 使磁头反复移动使磁头反复移动, 增加了平均寻道时间增加了平均寻道时间设磁盘访问序列设磁盘访问序列: 80, 55, 58, 39, 18, 90,160,150, 38,18418 38 39 55 58 80 90 150 160 184 2. 最短寻道时

26、间优先最短寻道时间优先SSTF(Shortest Seek Time First)优先选择距当前磁头最近的访问请求进行服务,主要优先选择距当前磁头最近的访问请求进行服务,主要考虑寻道优先考虑寻道优先 优点:磁盘的平均寻道时间最小优点:磁盘的平均寻道时间最小 缺点:进程缺点:进程饥饿饥饿现象现象, 有时会造成与当前磁道距离有时会造成与当前磁道距离远的访问请求长期等待得不到服务远的访问请求长期等待得不到服务(不公平不公平) 磁盘访问序列磁盘访问序列: 80, 55, 58, 39, 18, 90,160,150, 38,18418 38 39 55 58 80 90 150 160 184 3.

27、扫描算法扫描算法SCAN电梯调度算法电梯调度算法 克服最短寻道优先的缺点克服最短寻道优先的缺点,既考虑距离既考虑距离,又考虑方向又考虑方向 具体做法具体做法: 当设备无访问请求时当设备无访问请求时, 磁头不动磁头不动;当有访当有访问请求时问请求时, 磁头按一个方向移动磁头按一个方向移动, 在移动过程中对遇到在移动过程中对遇到的访问请求进行服务的访问请求进行服务, 然后然后, 判断该方向上是否还有访判断该方向上是否还有访问请求问请求,如果有则继续扫描如果有则继续扫描; 否则改变移动方向否则改变移动方向,并为经并为经过的访问请求服务过的访问请求服务, 如此反复。如此反复。18 38 39 55 5

28、8 80 90 150 160 184 4. 循环扫描循环扫描(CSCAN)算法算法 SCAN算法算法对两端磁道请求不利对两端磁道请求不利, 可改进为循环扫可改进为循环扫描算法描算法CSCAN。 本算法规定磁头单向移动本算法规定磁头单向移动(如向外如向外), 移动到最外磁移动到最外磁道后立即返回最里面要访问的磁道道后立即返回最里面要访问的磁道, 构成循环扫描。构成循环扫描。18 38 39 55 58 80 90 150 160 184 6.6 设备分配设备分配多道程序环境下多道程序环境下 用户进程提出用户进程提出I/O请求,设备分配程序按一定请求,设备分配程序按一定策略把用户所需的设备分配给

29、用户进程策略把用户所需的设备分配给用户进程。OS是怎样对设备进行分配的?是怎样对设备进行分配的?采用了哪些数据结构?采用了哪些数据结构?6.6.1 设备分配中的数据结构设备分配中的数据结构具有通道的具有通道的I/O系统结构系统结构存储器存储器通道通道1 1通道通道2 2控制器控制器1 1控制器控制器2 2设备设备1 1设备设备2 2设备设备3 3设备设备4 41. 设备控制表(设备控制表(DCT)表目表目1.表目表目i.设备类型设备类型设备标识符设备标识符设备状态设备状态:忙忙/闲闲指向控制器表的指针指向控制器表的指针设备队列首指针设备队列首指针重复执行次数或时间重复执行次数或时间设设备备控控

30、制制表表DCT 每个设备一张每个设备一张DCT2.控制器控制表、通道控制表控制器控制表、通道控制表COCTCHCT每个控制器设一张每个控制器设一张COCT, 每个通道设一张每个通道设一张CHCT控制器标识符控制器标识符控制器状态控制器状态:忙忙/闲闲指向相连通道表的指针指向相连通道表的指针控制器队列的首指针控制器队列的首指针控制器队列的尾指针控制器队列的尾指针通道标识符通道标识符通道状态通道状态:忙忙/闲闲相连控制器表的指针相连控制器表的指针通道队列的首指针通道队列的首指针通道队列的尾指针通道队列的尾指针 系统设一张系统设备表系统设一张系统设备表,纪录系统中全部设备的纪录系统中全部设备的情况情

31、况, 每个每个设备设备占一个表目。占一个表目。SDT设备类型设备类型设备标识符设备标识符设备控制表的入口设备控制表的入口驱动程序入口驱动程序入口6.6.2 I/O调度程序调度程序1.设备的固有属性设备的固有属性 独占、共享、虚拟独占、共享、虚拟2.设备分配算法设备分配算法 先来先服务、优先级高者优先先来先服务、优先级高者优先3. 设备分配的安全性设备分配的安全性安全分配方式安全分配方式: 进程发出进程发出I/O请求便被阻塞直到请求便被阻塞直到I/O完成完成.优点优点:破坏了请求保持条件破坏了请求保持条件,不会死锁不会死锁;程序编写简单程序编写简单缺点缺点:进程推进速度缓慢进程推进速度缓慢不安全

32、分配方式不安全分配方式: 进程发出进程发出I/O请求后继续执行请求后继续执行, 需要时需要时又发出第二个、第三个又发出第二个、第三个I/O请求请求.优点:进程推进速度块优点:进程推进速度块。缺点:可能引起死锁。缺点:可能引起死锁。4.设备的独立性设备的独立性单通路单通路I/O系统的设备分配系统的设备分配:(1) 分配设备分配设备: 根据物理设备名根据物理设备名, 查找系统设备表查找系统设备表SDT, 找出该设备的设备控制表找出该设备的设备控制表DCT, 再根据再根据DCT中的设备中的设备状态字忙否执行状态字忙否执行,若忙将请求若忙将请求I/O的进程挂在设备等待的进程挂在设备等待队列上队列上,

33、否则检查安全性否则检查安全性, 安全则分配。安全则分配。(2) 分配控制器分配控制器: 分配了设备之后分配了设备之后,再到再到DCT中找出与中找出与之连接的控制器控制表之连接的控制器控制表COCT,再根据再根据COCT中的状态中的状态字忙否执行等待或分配控制器。字忙否执行等待或分配控制器。(3) 分配通道分配通道: 在在COCT中找到与之连接的通道控制表中找到与之连接的通道控制表CHCT, 再根据再根据CHCT中的状态字忙否执行等待或分中的状态字忙否执行等待或分配通道。配通道。6.6.3 设备的分配设备的分配多通路多通路I/O系统的设备分配系统的设备分配:(1) 分配设备分配设备: 根据设备类

34、型根据设备类型, 查找系统设备表查找系统设备表SDT, 找找出第一个该类设备的设备控制表出第一个该类设备的设备控制表DCT, 再根据再根据DCT中中的设备状态字忙否的设备状态字忙否,若忙将检查第二个设备的若忙将检查第二个设备的DCT,若若设备全部忙碌,请求设备全部忙碌,请求I/O的进程挂在设备等待队列上的进程挂在设备等待队列上, 否则检查安全性否则检查安全性, 安全则分配,分配的设备假设为安全则分配,分配的设备假设为i。(2) 分配控制器分配控制器: 分配设备分配设备i之后之后,再到再到DCT中找出与之中找出与之连接的控制器控制表连接的控制器控制表COCT,再根据再根据COCT中的状态字中的状态字忙否,若忙,则检查下一个忙否,若忙,则检查下一个COCT,若所有控制器都忙若所有控制器都忙,则表明没有控制器可分配,只要设备,则表明没有控制器可分配,只要设备i不是该类设不是该类设备的最后一个,便返回到步骤备的最后一个,便返回到步骤(1).否则,将进程插入否则,将进程插入控制器的等待队列,分配的控制器假设为控制器的等待队列,分配的控制器假设为j.(3) 分配通道分配通道: 在在COCT中找到与之连接的通道控中找到与之连接的通道控制表制表CHCT, 再查看再查看CHCT中的状态字忙否,若中的状态字忙否,若与此控制器相连的通道全忙,只要控制器与此控制器相连的通道全忙,只要控制器

温馨提示

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

评论

0/150

提交评论