第七章 IO设备管理
IO管理
t
磁头总共移动632个磁道,平均寻道长度79
示例:假定开始磁头位于168号磁道,有如下的 请求序列:201,288,140,225,117,227,168,170
117 140 168 170 201 225 227 288
t
公平、简单,但是平均寻道时间较长
最短寻道时间优先SSTF 优先选择请求队列中柱面离磁头最 近的请求,使每次寻道时间最短。
输入输出(I/O)管理
操作系统原理
主要内容
I/O控制方式
高速缓存与缓冲区
假脱机技术(spooling) 磁盘组织与管理
I/O控制方式
1. 程序I/O方式
处理机向控制器发出一条I/O指令启动输入设备输入数据 时,同时把状态寄存器中的忙/闲标志busy臵为1,然后便不 断地循环测试busy。 当busy=1时,表示输入机尚未输完一个字(符),处理机 应继续对该标志进行测试,直至busy=0,表明输入机已将输 入数据送入控制器的数据寄存器中。于是处理机将数据寄存 器中的数据取出,送入内存指定单元中,这样便完成了一个 字(符)的I/O。接着再去启动读下一个数据,并臵busy=1。
示例:假定开始磁头位于168号磁道,有如下的请 求序列:201,288,140,225,117,227,168,170
117 140 168 170 201 225 227 288
t
磁头总共移动226个磁道,平均寻道长度28.3
示例:假定开始磁头位于168号磁道,有如下的请 求序列:201,288,140,225,117,227,168,170
在I/O设备输入每个数据的过程中,由于无需CPU干预, 因而可使CPU与I/O设备并行工作。仅当输完一个数据时,才 需CPU花费极短的时间去做些中断处理。可见,这样可使CPU 和I/O设备都处于忙碌状态,从而提高了整个系统的资源利 用率及吞吐量。
计算机四级操作系统-7-IO设备管理
计算机四级操作系统-7-IO设备管理第7章I/O设备管理设备管理是操作系统的主要功能之⼀,它负责管理所有输⼈输出设备以完成期望的数据传设备管理可能是操作系统设计中最凌乱的部分,这主要是由于计算机系统中存在着⼤量的输⼊/输出设备,其性能和应⽤特点可能完全不同。
所以要建⽴⼀个通⽤的、⼀致的设备访问接⼝,使⽤户和应⽤程序开发⼈员能够⽅便地使⽤输⼊/输出设备,⽽⽆须关⼼每种设备各⾃的特性,这正是设备管理的主要⽬的。
本章⾸先讲述设备管理的基本概念,然后讨论I/O硬件组成、I/O软件结构、设备管理的相关技术,最后阐述I/O性能问题及解决⽅案。
7.1设备与设备分类输⼊/输出设备(I/O设备)也称为外部设备(Peripheral Device),有时简称为设备或外设,包括计算机系统中除CPU和内存储器以外的所有的设备和装置,还包括所有外部存储设备。
在不同的上下⽂中,I/O设备⼀词有⼴义和狭义两种含义,⼴义的I/O设备即上述定义,狭义的I/O设备不包括外存设备。
可见,计算机系统中外部设备⾮常多,并且这些设备在功能、速度和控制⽅式等⽅⾯都有较⼤的差异,本节将讨论这些问题。
7.1.1设备管理的重要性为了理解操作系统中设备管理的重要性,⾸先要了解I/O设备在计算机系统中所起的作⽤。
如果说处理器和内存是计算机系统的⼤脑部分的话,那么I/O设备就是计算机系统的五官和四肢。
各种需要处理的信息和操作⼈员对计算机系统的操作命令,都要通过输⼊设备进⼊计算机系统,处理后的信息和结果也要通过输出设备从计算机系统输出。
计算机系统中的I/O设备种类繁多,从简单的键盘到⿏标、打印机、图形显⽰终端、磁盘驱动器以⾄于⽹络设备,变化万千,造就计算机应⽤的多样性和普及性。
可以说没有I/O设备,就没有计算机的应⽤。
然⽽,正如⼈们已经认识到的,操作系统复杂和庞⼤的主要原因是它所管理的资源的庞杂和并发技术的采⽤,⽽I/o设备的庞杂正是操作系统所管理的资源庞杂的主要原因,I/O设备的速度远低于处理器的速度正是导致并发技术产⽣的直接原因。
精选计算机软件基础之操作系统设备管理
缓冲的实现方式(a)硬件方式 一般是采用专用硬件缓冲器,如I/O控制器中的数据缓冲寄存器等。(b)软件方式 开辟出一个具有N个单元的专用缓冲区,以便临时存放I/O操作期间的数据。操作系统为每一个缓冲区建立一个数据结构,称为缓存控制块BCB(buffer control block)。操作系统通过BCB对每一个缓存实施具体的管理。常用的缓冲技术有三种:单/双缓冲、环形缓冲、缓冲池
Байду номын сангаас
3.SPOOLing 系统的组成1.输入井和输出井这是在磁盘上开辟的两大存储空间。输入井是模拟脱机输入时的磁盘,用于收容外部设备(I/O)输入的数据。输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。2.输入缓冲区和输出缓冲区在主存中要开辟两个缓冲区;暂时存放来自输入井或要进输出井的数据。
三、设备独立性的优点1.方便用户编程2.使用户程序运行不受具体的机器环境的限制。系统提供标准输入和输出,在用户程序中的输入输出都使用这两个标准的I/O,实际运行时,根据具体情况而定。如果配备打印机,则将输出信息送到打印机打印,如果没有配备打印机,就把输出重向到某个指定文件,把要打印的信息送到该文件中。3.便于程序移植
I/O控制 方式
一、循环测试I/O方式早期的设备控制方式采用。二、I/O中断方式 为了提高CPU和设备的利用率,就应使CPU与设备并行工作,采用I/O中断方式。采用这种方式要求控制寄存器中有一个中断位。
CPU通过I/O控制器与物理设备打交道,按I/O控制器智能化高低将I/O设备分类。
I/O控制功能
设计目标:1.方便性:为用户提供友好的使用环境2.设备独立性:用户的程序与设备要互相独立3.并行性:各设备充分并行工作,同时防止死锁产生4.有效性与均衡性:避免各设备忙闲不均分类:1、独享设备、共享设备、虚拟设备2、逻辑设备、物理设备
设备管理IO设备
向I/O控制器 CPU→I/O 发读命令
读I/O控 制 器 未 的状态
就 绪
检查
状态?
I/O→CPU 出错
就绪
从I/O控 制 器 中读入字
I/O→CPU
向存储器 中写字
CPU→内 存
未完
传送 完成?
完成 下条指令
(a) 程序I/O方式
向I/O控 制 器 发读命令
CPU→I/O CPU做 其 它 事
3. “瓶颈”问题
存储器
通道1
控制器1 控制器2
通道2
控制器3
控制器4
图 5-4 单通路I/O系统
设备1 设备2 设备3 设备4 设备5 设备6 设备7
存储器
通 道1 通 道2
控 制 器1 控 制 器2
图 5-5 多通路I/O系统
I/O设 备 I/O设 备 I/O设 备 I/O设 备
5.1.4 总线系统
current
2. (1) Getbuf过程。 (2) (2) Releasebuf过程。
3. 进程同步 (1) Nexti指针追赶上Nextg指针。 (2) (2) Nextg指针追赶上Nexti指针。
5.3.4 缓冲池(Buffer Pool)
1. 缓冲池的组成
1. 缓冲池的组成 对于既可用于输入又可用于输出的公用缓冲池, 其中 至少应含有以下三种类型的缓冲区:① 空(闲)缓冲区; ② 装满输入数据的缓冲区; ③ 装满输出数据的缓冲区。 为了 管理上的方便,可将相同类型的缓冲区链成一个队列,于是 可形成以下三个队列:
5.2.3 直接存储器访问DMA I/O控制方式
1. DMA(Direct Memory Access)控制方式的引入
操作系统——设备管理io组成
操作系统——设备管理io组成io系统的组成需要用于输入、输出和存储信息的设备;需要相应的设备控制器;控制器与CPU连接的高速总线;有的大中型计算机系统,配置I/O通道;I/O系统的基本功能1)主要功能:1.隐藏物理设备细节,方便用户用户使用抽象的I/O命令即可2.实现设备无关性,方便用户用户可用抽象的逻辑设备名来使用设备,同时也提高了OS的可移植性和易适应性。
3.提高处理机和设备的并行性,提高利用率:缓冲区管理4.对I/O设备进行控制:控制方式、设备分配、设备处理5.确保对设备正确共享:虚拟设备及设备独立性等6.错误处理I/O系统的层析结构和模型层次结构:系统中的设备管理模块分为若干层次层次间操作:下层为上层提供服务,完成输入输出功能中的一些子功能,并屏蔽功能实现的细节。
I/O软件系统的层次.中断处理程序:处于IO系统的底层,直接与硬件交互.设备驱动程序:处于底层,是进程和控制器之间的通信程序功能:将上层发来的抽象IO请求,转化为IO设备的具体命令和参数,并把它装入寄存器中.设备独立性软件I/O系统接口:块设备接口,流设备接口,网络通信接口设备控制器设备并不直接与CPU通信计算机中的一个实体,“设备控制器”负责控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。
控制器是CPU与I/O设备之间的接口,作为中间人接收从CPU发来的命令,并去控制I/O设备工作,以使处理机脱离繁杂的设备控制事务。
常作成接口卡插入计算机可编址,不同类:控制一个设备时只有一个地址,若连接多个设备则含有多个设备地址;管理的复杂性因设备而异,分为字符设备控制器、块控制器基本功能1.接收和识别CPU命令(控制寄存器:存放命令和参数)2.标识和报告设备的状态(状态寄存器)3.数据交换(数据寄存器)4.地址识别(控制器识别设备地址、寄存器地址。
地址译码器)5.数据缓冲(协调I/O与CPU的速度差距)6.差错控制I/O逻辑通过一组控制线与处理机交互cpu要启动一个设备时,将启动命令发送给控制器;同时通过地址线把地址发送给控制器控制器的I/O逻辑对收到的地址和命令进行译码,再根据所译出的命令选择设备进行控制。
操作系统IO管理简介
操作系统的IO管理介绍今天这篇关于计算机操作系统的技术文章,我们主要来谈谈关于计算机操作系统的IO方面的内容。
I/O设备管理是操作系统设计中最凌乱也最具挑战性的部分。
由于它包含了很多领域的不同设备以及与设备相关的应用程序,因此很难有一个通用且一致的设计方案。
所以在理解设备管理之前,应该先了解具体的I/O设备类型。
计算机系统中的I/O设备按使用特性可分为以下类型:1) 人机交互类外部设备:用于同计算机用户之间交互的设备,如打印机、显示器、鼠标、键盘等。
这类设备数据交换速度相对较慢,通常是以字节为单位进行数据交换。
2) 存储设备:用于存储程序和数据的设备,如磁盘、磁带、光盘等。
这类设备用于数据交换,速度较快,通常以多字节组成的块为单位进行数据交换。
3) 网络通信设备:用于与远程设备通信的设备,如各种网络接口、调制解调器等。
其速度介于前两类设备之间。
网络通信设备在使用和管理上与前两类设备也有很大不同。
除了上面最常见的分类方法,I/O设备还可以按以下方法分类:1) 按传输速率分类: • 低速设备:传输速率仅为每秒几个到数百个字节的一类设备,如键盘、鼠标等。
• 中速设备:传输速率在每秒数千个字节至数万个字节的一类设备,如行式打印机、 激光打印机等。
• 高速设备:传输速率在数百个千字节至千兆字节的一类设备,如磁带机、磁盘机、 光盘机等。
2) 按信息交换的单位分类: • 块设备:由于信息的存取总是以数据块为单位,所以存储信息的设备称为块设备。
它属于有结构设备,如磁盘等。
磁盘设备的基本特征是传输速率较高,以及可寻址,即对它可随机地读/写任一块。
• 字符设备:用于数据输入/输出的设备为字符设备,因为其传输的基本单位是字符。
它属于无结构类型,如交互式终端机、打印机等。
它们的基本特征是传输速率低、不可寻址,并且在输入/输出时常釆用中断驱动方式。
设备管理的主要任务之一是控制设备和内存或处理机之间的数据传送,外围设备和内存之间的输入/输出控制方式有四种,下面分别介绍。
《IO设备管理》课件
IO设备的分类
输入设备
介绍各种常见的输入设备, 如键盘、鼠标和触摸屏等, 并讨论它们的特点和用途。
输出设备
探讨输出设备的种类,如显 示器、打印机和音频设备, 以及它们在数据传输和展示 中的不同作用。
存储设备
介绍不同类型的存储设备, 如硬盘、固态硬盘和光盘, 并讨论它们的特点和应用场 景。
IO设备的作用
在本节中,我们将探讨IO设备在计算机系统中的重要作用,包括数据输入输 出、信息传递和系统功能的扩展。
ห้องสมุดไป่ตู้
IO设备的管理
1
IO设备的操作方法
介绍IO设备的操作方法,包括直接IO和程序控制IO,以及它们在不同场景下的运用。
2
IO设备的资源分配
探讨如何对IO设备进行资源分配和调度,以提高系统的整体性能和效率。
介绍各种常见的IO设备缓存技术, 如硬盘缓存、网络缓存和内存缓 存等。
总结与展望
在本节中,我们将回顾所学内容,并展望IO设备管理领域的未来发展趋势, 以及它对计算机系统性能和用户体验的重要性。
3
IO设备的中断处理
讨论IO设备的中断处理机制,包括中断请求的产生、中断处理程序的执行和中断向量的管理。
IO设备的优化
IO设备的性能优化
介绍如何通过优化IO设备的传输 速度和数据处理能力,提升系统 的整体性能。
IO设备的并发控制
IO设备的缓存技术
探讨如何实现IO设备的并发控制, 以充分利用计算机系统的资源并 提高系统的吞吐量。
《IO设备管理》PPT课件
欢迎来到《IO设备管理》的课程介绍!在本课程中,我们将深入了解IO设备 的概念、分类以及作用。接下来,我们还将学习IO设备的管理、优化和总结 展望。让我们一起探索这个令人兴奋的领域吧!
操作系统原理7设备管理课件
中断和陷入(trap)的区别
• 陷入通常由处理机正在执行的现行指令引起, 而中断是由与现行指令无关的中断源引起的
• 陷入处理程序提供的服务为当前进程所用,而 中断处理程序提供的服务则不是为当前进程的
• CPU在执行完一条指令之后,下一条指令开始 之前响应中断,而在一条指令执行中也可以响 应陷入。如非法指令执行时,尽管被执行的非 法指令不能执行结束,但CPU仍可对其进行处 理。
CPU
缓冲区
操作系统原理7设备管理
外设
返回
1. 引入缓冲技术的目的
• 匹配CPU或用户应用进程与外设的不同处理速度 • 减少对CPU的中断次数:提高CPU和I/O设备之间
以及各个I/O设备之间的处理并行性。 • 解决DMA或通道方式时的瓶颈问题 • 缓冲区所在的位置:内存,控制器或外设。这些
CPU
外围设备
发Start指令
接收到Start指令
是
设备标志触发 器为“Done”?
否
作接收或发送数据准备 否
准备好?
等待
是
执行下一条指令
标志触发器置为“Done”
开始数据传送 操作系统原理7设备管等理 待CPU来的下一条指令
特点
• 缺点:
– 在外设进行数据处理时,CPU只能等待。 – CPU与外设只能串行工作 – 只适用于CPU执行速度较慢,且外围设备较
• 中断处理过程(课本)
操作系统原理7设备管理
7.2 缓冲技术
缓冲技术可提高外设利用率,尽可能使外设处于忙 状态;但有一个限制:进程的I/O请求不能超过外设 的处理能力。 • 缓冲技术的基本思想:在CPU和外设之间设置缓冲 区,用于暂存CPU与外设之间交换的数据,从而缓 和CPU与外设速度不匹配的矛盾。 • 缓冲区是在内存中开辟一块存储空间。 • 包括输入缓存和输出缓存 • 分为专用缓存(为一个设备独占,如键盘缓存)和 公用缓存(为多个设备公用)
操作系统原理-第七章设备管理知识点及习题
第7章 设备管理7.1 例题解析例7.2.1 何谓虚拟设备?请说明SPOOLing系统是如何实现虚拟设备的。
解本题的考核要点是虚拟设备的实现方法。
虚拟设备是指利用软件方法,比如SPOOLing系统,把独享设备分割为若干台逻辑上的独占的设备,使用户感受到系统有出若干独占设备在运行。
当然,系统中至少一台拥有物理设备,这是虚拟设备技术的基础。
SPOOLing系统又称“假脱机I/O系统”,其中心思想是,让共享的、高速的、大容量外存储器(比如,磁盘)来模拟若干台独占设备,使系统中的一台或少数几台独占设备变成多台可并行使用的虚拟设备。
SPOOLing系统主要管理外存上的输入井和输出井,以及内存中的输入缓冲区和输出缓冲区。
其管理进程主要有输入和输出进程,负责将输入数据装入到输入井,或者将输出井的数据送出。
它的特点是:提高了I/O操作的速度;将独占设备改造为共享设备;实现了虚拟设备功能。
例7.2.2有关设备管理要领的下列叙述中,( )是不正确的。
A.通道是处理输入、输出的软件B.所有外围设备都由系统统一来管理C.来自通道的I/O中断事件由设备管理负责处理D.编制好的通道程序是存放在主存贮器中的E.由用户给出的设备编号是设备的绝对号解本题的考核要点是设备管理的基本概念。
(1)通道是计算机上配置的一种专门用于输入输出的设备,是硬件的组成部分。
因此A是错误的。
(2)目前常见I/O系统其外部设备的驱动和输入输出都由系统统一管理。
因此B是对的。
(3)设备管理模块中的底层软件中配有专门处理设备中断的处理程序。
通道中断属于设备中断的一种。
因此C是对的。
(4)通道设备自身只配有一个简单的处理装置(CPU),并不配有存储器,它所运行的通道程序全部来自内存。
因此D是对的。
(5)系统在初启时为每台物理设备赋予一个绝对号,设备绝对号是相互独立的。
由用户给出的设备号只能是逻辑编号,由系统将逻辑号映射为绝对号。
因此E是错误的。
例7.2.3 在关于SPOOLING的叙述中,描述是不正确的。
第七章设备管理-1解析
➢输入/输出时,常采用中断驱动方式。
(3)按设备的共享属性分类
独占设备 共享设备 虚拟设备
独占设备
指在一段时间内只允许一个用户(进程) 访问的设备,即临界资源。
存储器
通道1
控制器1 控制器2
通道2
控制器3 控制器4
图 单通路I/O系统
设备1 设备2 设备3 设备4 设备5 设备6 设备7
解决“瓶颈”问题的最有效的方法,便是增加设备到主 机间的通路而不增加通道,如图所示。换言之,就是把一个 设备连接到多个控制器上,而一个控制器又连接到多个通道 上。图中的设备1、2、3和4,都有四条通往存储器的通路。 例如,通过控制器1和通道1到存储器;也可通过控制器2和通 道1到存储器。多通路方式不仅解决了“瓶颈”问题,而且提 高了系统的可靠性,因为个别通道或控制器的故障不会使设 备和存储器之间没有通路。
共享设备
指在一段时间内允许多个进程同时访问的设 备,如:磁盘。
ห้องสมุดไป่ตู้
4、设备与控制器接口
在该接口中有三种类型的信号: 数据信号。对输入是由设备发送给设备控制器的;
对输出是由设备控制器所接收的比特流。 控制信号。是设备控制器发送给设备的、用于规
定设备执行、读或写操作的信号, 状态信号。用于指示设备的当前状态。
(3)I/O逻辑
➢通过一组控制线与处理机交互。 ➢处理机利用它向控制器发送 I/O命令。 ➢I/O逻辑对收到的命令进行译码。
CPU与控制器接口
数据线 地址线
数据寄存器
控制/状态 寄存器
控制线
操作系统第7章 IO设备管理
数据线
地址线 控制线
数据寄存器
控制/状态 寄存器
I/O 逻辑
… …
控制器与设备接口
控制器 与设备 接口1
数据 状态 控制
控制器 与设备 接口i
数据 状态 控制
19
设备控制器的主要作用
设备控制器的主要作用有: ① 接收和识别CPU发来的多种不同命令; ② 实现CPU与控制器之间、控制器和设备之间的数
的存储保护机制(例如分页式中的页表项设置) ü 优点3:使得I/O端口的指令更加灵活多样
Ø 缺点
ü 缺点1:内存映射方式中必须保证I/O端口的实时性(禁用高速 缓存)
ü 缺点2:对于双总线或者多总线结构而言,I/O端口的地址映射 将比较困难和麻烦
24
4 PDF created with pdfFactory Pro trial version
28
内容
Ø I/O 系统硬件
ü I/O设备 ü 设备控制器 ü I/O技术
Ø I/O 软件
Ø 磁盘调度
7.2 I/O软件
I/O软件涉及的面非常宽,往下与硬件有着密切的关系, 往上又与用户直接交互,它与进程管理、存储器、文件管理 等都存在着一定的联系,即它们都可能需要I/O软件来实现 I/O操作。
I/O软件的总体目标
据交换; ③ 记录和报告设备的状态。 ④ 地址识别。识别控制器控制的每个设备的地址。
20
内存映射 I/O
每个控制器有若干个寄存器与CPU通信,需要寻址机制。
ü 例如,一个读/写命令必须指定设备地址 ü IN AX,80H
内存映射I/O:寄存器地址作为内存地址空间的一部分
Ø I/O 设备被看作是主存映射图中的某个内存位置。 Ø 没有专门的设备地址 Ø 对每个设备寄存器有标准的内存地址。 Ø 处理器通过标准数据传输指令来完成对设备控制器的读写。
Operating-System第7章-设备管理
(3)按外部设备的从属关系分 系统设备
指操作系统生成时,登记在系统中的标准 设备 (如终端、打印机、磁盘机等)
第六页,编辑于星期四:十六点 二十二分。
用户设备 指在系统生成时,未登记在系统中的非标 准设备。对于这类设备的处理程序由用户 提供,并将其纳入系统,由系统代替用户 实施管理。
(如A/D,D/A转换器,CAD所用专用设 备)
用户申请使用设备时,只需要指定设备类 型,而无须指定具体物理设备,系统根据 当前的请求,及设备分配的情况,在相同 类别设备中,选择一个空闲设备,并将其 分配给一个申请进程
统一性: 对不同的设备采取统一的操作方式,在用 户程序中使用的是逻辑设备
第十九页,编辑于星期四:十六点 二十二分。
优点: 设备忙碌或设备故障时,用户不必修改程
第三十九页,编辑于星期四:十六点 二十二分。
第四十页,编辑于星期四:十六点 二十二分。
(2)缓输出程序 缓输出程序总是定期查看“输出井”中
是否有等待输出的作业信息。如果有,就 启动输出设备(比如打印机)进行输出。 因此,由于作业的输出信息都暂时存放在 输出井中,输出设备有空就去输出,不会 出现作业因为等待输出而阻塞。
第三十一页,编辑于星期四:十六点 二十二分。
第三十二页,编辑于星期四:十六点 二十二分。
(1)用户进程层执行输入输出系统调用,对I /O数据进行格式化,为假脱机输入/输出 作准备
(2)独立于设备的软件实现设备的命名、设 备的保护、成块处理、缓冲技术和设备分配
(3)设备驱动程序设置设备寄存器、检查设 备的执行状态
2.如何给文件和设备这样的对象命名是操作系 统中的一个主要课题。独立于设备的软件负 责把设备的符号名映射到正确的设备驱动上
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
7.1.1 I/O设备的分类
2) 按传输速率分类 按传输速度的高低,可将I/O设备分为三类。
第一类是低速设备,这是指其传输速率仅为每秒钟 几个字节至数百个字节的一类设备。属于低速设备 的典型设备有键盘、鼠标器、语音的输入和输出等 设备。 第二类是中速设备,这是指其传输速率在每秒钟数 千个字节至数十万个字节的一类设备。典型的中速 设备有行式打印机、 激光打印机等。 第三类是高速设备,这是指其传输速率在数百个千 字节至千兆字节的一类设备。典型的高速设备有磁 带机、磁盘机、光盘机等。
24
4.通道方式
I/O通道是一种特殊的处理机,它具有执行 I/O指令的能力,并通过执行通道(I/O)程序 来控制I/O操作。但I/O通道又与一般的处理 机不同,主要表现在以下两个方面: 一是其 指令类型单一;二是通道没有自己的内存, 与CPU共享内存。
25
4.通道方式
(1) 通道类型
① 字节多路通道(Byte Multiplexor Channel) 这是一种按字节交叉方式工作的通道。它通常都含有 许多非分配型子通道,每一个子通道连接一台I/O设备 ,并控制该设备的I/O操作。 这些子通道按时间片轮转方式共享主通道。只要字节 多路通道扫描每个子通道的速率足够快,而连接到子 通道上的设备的速率不是太高时,便不致丢失信息。 下图示出了字节多路通道的工作原理。它所含有的多 个子通道A,B,C,D,E,…,N,…分别通过控制 器各与一台设备相连。假定这些设备的速率相近,且 都同时向主机传送数据。设备A所传送的数据流为 A1A2A3…;设备B所传送的数据流为B1B2B3…
11
7.2.1 I/O系统结构
1. 大型机I/O系统结构
12
7.2.1 I/O系统结构
2. 微型机I/O系统结构
13
7.2.2 设备控制器
设备控制器的基本结构
14
7.2.3 I/O控制方式
1. 查询等待控制方式
早期的计算机系统中,由于无中断机构,处理机对I/O 设备的控制采取程序I/O(Programmed I/O)方式,或称 为忙—等待方式,即在处理机向控制器发出一条I/O指 令启动输入设备输入数据时,要同时把状态寄存器中 的忙/闲标志busy置为1,然后便不断地循环测试busy 。 当busy=1时,表示输入机尚未输完一个字(符),处理 机应继续对该标志进行测试,直至busy=0,表明输入 机已将输入数据送入控制器的数据寄存器中。 于是处理机将数据寄存器中的数据取出,送入内存指 定单元中,这样便完成了一个字(符)的I/O。接着再去 启动读下一个数据,并置busy=1。
(1) 命令/状态寄存器(CR)。用于接收从CPU发来的I/O 命令,或有关控制信息,或设备的状态。 (2) 内存地址寄存器(MAR)。在输入时,它存放把数据 从设备传送到内存的起始目标地址;在输出时,它存 放由内存到设备的内存源地址。 (3) 数据寄存器(DR)。用于暂存从设备到内存,或从内 存到设备的数据。 (4) 数据计数器(DC)。存放本次CPU要读或写的字(节) 数。
28
4.通道方式
③ 数组多路通道(Block Multiplexor Channel) 数组选择通道虽有很高的传输速率,但它却每次只 允许一个设备传输数据。 数组多路通道是将数组选择通道传输速率高和字节 多路通道能使各子通道(设备)分时并行操作的优点 相结合而形成的一种新通道。 它含有多个非分配型子通道,因而这种通道既具有 很高的数据传输速率,又能获得令人满意的通道利 用率。 也正因此,才使该通道能被广泛地用于连接多台高 、中速的外围设备,其数据传送是按数组方式进行 的。
26
A 1A 2A 3…子通道A B1B2B3…子通道B A 1B 1C 1…A 2B 2C 2… C1C2C3…子通道C
设备 控制器A 控制器B 控制器C 控制器D
…
N 1N 2N 3…子通道N
控制器N
图 字节多路通道的工作原理
把这些数据流合成后(通过主通道)送往主机的数 据流为A1B1C1D1 …A2B2C2D2 … A3B3C3D3 …。
狭义上讲,中断指外部中断。外部中断包括I/O设 备发出的I/O中断、其他外部信号中断(例如用户 按下 ESC 键)、各种定时器引起的时钟中断、调 试程序中设置断点引起程序
设备驱动程序又称设备处理程序,其主要任务是 把用户提交的逻辑 I/O 请求转化为物理 I/O 操作的 启动和执行,如将设备名转化为端口地址、逻辑 记录转化为物理记录、逻辑操作转化为物理操作 等,并将由设备控制器发送来的信号传递给上层 软件。
5
7.1.1 I/O设备的分类
4) 按设备的共享属性分类
(1) 独占设备。这是指在一段时间内只允许一个用 户(进程)访问的设备,即临界资源。独占设备的 分配有可能引起进程死锁。
(2) 共享设备。这是指在一段时间内允许多个进程 同时访问的设备。当然,对于每一时刻而言,该 类设备仍然只允许一个进程访问。典型的共享设 备是磁盘。 (3) 虚拟设备。这是指通过虚拟技术将一台独占设 备变换为若干台逻辑设备,供若干个用户(进程) 同时使用。 6
4
7.1.1 I/O设备的分类
3) 按信息交换的单位分类 按信息交换的单位,可将I/O设备分成两类。
块设备(Block Device),这类设备用于存储信息。 由于信息的存取总是以数据块为单位,故而得名 。它属于有结构设备。典型的块设备是磁盘, 字符设备(Character Device),用于数据的输入和 输出。其基本单位是字符,故称为字符设备。它 属于无结构类型。字符设备的种类繁多,如交互 式终端、打印机等。
22
(3)DMA工作过程
我们以从磁盘读入数据为例,来说明DMA方式的工作 流程。 当CPU要从磁盘读入一数据块时,便向磁盘控制器发送 一条读命令。 该命令被送到其中的命令寄存器(CR)中。 同时,还须发送本次要将数据读入的内存起始目标地址 ,该地址被送入内存地址寄存器(MAR)中;本次要 读数据的字(节)数则送入数据计数器(DC)中,还须将磁 盘中的源地址直接送至DMA控制器的I/O控制逻辑上。 然后,启动DMA控制器进行数据传送,以后,CPU便 可去处理其它任务。 此后,整个数据传送过程便由DMA控制器进行控制。
为了进一步减少CPU对I/O的干预而引入了直接存 储器访问方式。该方式的特点是:
数据传输的基本单位是数据块,即在CPU与I/O设备之 间,每次传送至少一个数据块;
19
3. DMA控制方式
所传送的数据是从设备直接 送入内存的,或者相反; 仅在传送一个或多个数据块 的开始和结束时,才需CPU 干预,整块数据的传送是在 控制器的控制下完成的。
(2)统一命名
(3)出错处理 (4)同步(阻塞)—异步(中断驱动)传输 31
7.3 I/O软件
7.3.2 I/O软件层次
32
1.中断处理程序
中断是指计算机在执行期间,系统内发生非正常 或非预期的急需处理事件,使得 CPU 暂时中断正 在执行的进程,而转去执行相应的事件处理程序, 处理完毕后返回中断处继续执行原进程或者调度 新进程执行。
17
2. 中断控制方式
18
3. DMA控制方式
(1)DMA(Direct Memory Access)控制方式的 引入
虽然中断驱动I/O比程序I/O方式更有效,但须注 意,它仍是以字(节)为单位进行I/O的,每当完成 一个字(节)的I/O时,控制器便要向CPU请求一次 中断。如果将这种方式用于块设备的I/O,显然是 极其低效的。
29
4.通道方式
数组多路通道
30
7.3 I/O软件
7.3.1 I/O软件的设计目标
I/O软件设计时主要考虑以下几个问题:
(1) 独立性 I/O软件一般分为4层,它们分别是中断处理程序、设备 驱动程序、与设备无关的系统软件和用户级软件。分层 时的细节处理依赖于系统目标,并没有严格的划分。只 要有利于独立性这一目标,操作系统设计者可在结构上 作出不同的安排。
23
4.通道方式
(1)I/O通道控制方式的引入
虽然DMA方式比起中断方式来已经显著地减少了 CPU的干预,但CPU每发出一条I/O指令,也只能 去读(或写)一个连续的数据块。 当一次去读多个数据块且将它们分别送到不同的 内存区域,或者相反时,则须由CPU发出多条I/O 指令才能完成。 I/O通道方式是DMA方式的发展,它可进一步减 少CPU的干预。同时,又可实现CPU、通道和I/O 设备三者的并行操作,从而更有效地提高整个系 统的资源利用率。
④实现设备和设备、设备和CPU等之间的并行操作 。
⑤ 进行I/O缓冲区管理。
9
7.2 I/O系统
7.2.1 I/O系统结构
1. 大型机I/O系统结构
10
“瓶颈”问题
由于通道价格昂贵,致使机器中所设置的 通道数量势必较少,这往往又使它成了I/O 的瓶颈,进而造成整个系统吞吐量的下降 。
解决“瓶颈”问题的最有效的方法,便是 增加设备到主机间的通路而不增加通道。
可见,DMA方式较之中断 驱动方式,又是成百倍地 减少了CPU对I/O的干预, 进一步提高了CPU与I/O设 备的并行操作程度。
20
3. DMA控制方式
(2)DMA控制器的组成
21
(2)DMA控制器的组成
为了实现在主机与控制器之间成块数据的直接交换 ,必须在DMA控制器中设置如下四类寄存器:
15
1. 查询等待控制方式
16
2. 中断控制方式
现代计算机系统中,都毫无例外地引入了中断机构,致 使对I/O设备的控制,广泛采用中断驱动(Interrupt Driven)方式,即当某进程要启动某个I/O设备工作时, 便由CPU向相应的设备控制器发出一条I/O命令,然后 立即返回继续执行原来的任务。 设备控制器于是按照该命令的要求去控制指定I/O设备 。此时,CPU与I/O设备并行操作。下图(b)示出了中断 驱动方式的流程。 在I/O设备输入每个数据的过程中,由于无需CPU干预 ,因而可使CPU与I/O设备并行工作。仅当输完一个数 据时,才需CPU花费极短的时间去做些中断处理。提高 了整个系统的资源利用率及吞吐量。