第二十七讲数据的传送控制方式和中断技术docWord格式文档下载.docx
《第二十七讲数据的传送控制方式和中断技术docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《第二十七讲数据的传送控制方式和中断技术docWord格式文档下载.docx(19页珍藏版)》请在冰豆网上搜索。
询问方式又称程序直接控制方式,在这种方式下,输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。
询问方式(3)
一旦CPU启动I/O设备,便不断查询I/O设备的准备情况,终止原程序的执行,浪费CPU时间;
I/O准备就绪后,CPU参与数据传送工作,而不能执行原程序,
CPU和I/O设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率很低。
2.中断方式
(1)
CPU启动I/O设备后,不必查询I/O设备是否就绪,继续执行现行程序。
直到在启动指令后的某条指令,响应了I/O中断请求,CPU才转至I/O中断处理程序执行。
中断方式
(2)
中断处理程序中,CPU全程参与数据传输操作,它从I/O接口读一个字(字节)并写入主存,如果I/O设备上的数据尚未传送完成,转向现行程序再次启动I/O设备,重复上述过程;
否则,中断处理程序结束后,继续从K+1条指令执行。
中断方式(4)
I/O操作直接由CPU控制,每传送一个字符或字,要发生一次中断,仍然消耗大量CPU时间。
程序中断方式I/O,不必忙式查询I/O准备情况,CPU和I/O设备可实现部分并行,与程序查询的串行工作方式相比,使CPU资源得到较充分利用。
3.DMA方式
(1)
如果I/O设备能直接与主存交换数据而不占用CPU,CPU的利用率还可提高,这就出现了直接存储器存取DMA方式。
DMA方式
(2)
DMA至少需要以下逻辑部件
主存地址寄存器
字计数器
数据缓冲寄存器或数据缓冲区
设备地址寄存器
中断机制和控制逻辑
4.通道方式
(1)
为获得CPU和外围设备间更高的并行工作能力,也为了让种类繁多,物理特性各异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成独立体系的通道结构。
通道方式
(2)
通道(输入输出处理器)
(1)
能完成主存和外围设备间的信息传送,与CPU并行地执行操作。
通道技术解决了I/O操作的独立性和各部件工作的并行性。
由通道管理和控制I/O操作,减少了外围设备和CPU的逻辑联系。
把CPU从琐碎的I/O操作中解放出来。
通道方式(3)
通道(输入输出处理器)
(2)
外围设备和CPU能实现并行操作;
通道和通道之间能实现并行操作;
各通道上的外围设备也能实现并行操作,达到提高整个系统效率这一根本目的。
通道方式(4)
采用通道后的I/O操作过程
CPU在执行主程序时遇到I/O请求,它启动指定通道上选址的外围设备,一旦启动成功,通道开始控制外围设备进行操作。
CPU就可执行其他任务并与通道并行工作,直到I/O操作完成。
通道发出操作结束中断时,CPU才停止当前工作,转向处理I/O操作结束事件。
通道方式(5)
通道命令和通道程序
(1)
通道命令
通道,具有自己的指令系统,它的指令常称通道命令。
通道命令CCW是通道从主存取出并控制I/O设备执行I/O操作的命令字,用ccw编写的程序称通道程序,通道程序由多条通道命令组成,每次启动可以完成复杂的I/O控制。
通道命令和通道程序
(2)
IBM370系统的通道命令
通道命令和通道程序(3)
通道命令字段含义
•命令码
•数据主存地址
•标志码
•传送字节个数
通道命令和通道程序(4)
标志码
定义通道程序的链接方式,32位至33位为:
数据链、命令链。
•32和33位均为0,称无链,
•为01时,称命令链,
•32位为1时,称数据链。
汇编格式通道程序例子
CCWX’02’,inarea,X’40’,80
CCWX’02’,*,X’40’,80
CCWX’02’,inarea+80,X’40’,80
CCWX’02’,inarea+160,X’40’,80
..
inareaDSCL240
通道地址字和通道状态字
(1)
通道方式I/O时,要使用两个固定存储单元:
•通道地址字CAW(ChannelAddressWord)
•通道状态字CSW(ChannelStatusWord)。
通道地址字和通道状态字
(2)
通道地址字
用来存放通道程序的首地址的单元称通道地址字。
通道地址字和通道状态字(3)
通道状态字
通道状态字是通道向操作系统报告情况的汇集。
通道利用通道状态字可以提供通道和外围设备执行I/O操作的情况。
通道地址字和通道状态字(4)
通道状态字字段含义
•通道命令地址:
•设备状态:
•通道状态:
•剩余字节个数:
通道三种类型
字节多路通道。
选择通道。
数组多路通道。
设备控制器(1
I/O设备包括一个机械部件和一个电子部件。
为了达到设计的模块性和通用性,一般将其分开。
电子部件称为设备控制器或适配器,在PC中,它常常是插入主板扩充槽的印刷电路板;
机械部件则是设备本身。
设备控制器
(2)
操作系统基本上与控制器打交道,而非设备本身。
多数PC的CPU和控制器之间的通信采用单总线模型,CPU直接控制设备控制器进行I/O;
而主机则采用多总线结构和通道方式,以提高CPU与输入输出的并行程度。
设备控制器(3)
•控制器与设备之间的接口
•控制器的任务
•引入控制器的原因
设备控制器(4)
设备的I/O地址分配由控制器上的总线解码逻辑完成。
控制器通过中断通知CPU已经做好准备,寄存器可以读写。
设备控制器(5)
OS通过向控制器寄存器写命令字来执行I/O功能。
控制器接受一条命令后,CPU可以转向其它工作,而设备控制器自行完成具体的I/O操作。
当命令执行完毕后,控制器发出一个中断信号,以便OS重新获得CPU的控制权并检查执行结果。
设备控制器功能和结构
设备控制器是CPU和设备之间的一个接口,它接收从CPU发来的命令,控制I/O设备操作,实现主存和设备之间的数据传输。
设备控制器是一个可编址设备,当它连接多台设备时,则应具有多个设备地址。
设备控制器功能和结构小结
(2)
设备控制器主要功能:
①接收和识别CPU或通道发来的命令;
②实现数据交换,包括设备和控制器间的数据传输;
③发现和记录设备及自身的状态信息,供CPU处理使用;
④设备地址识别。
设备控制器组成部分:
命令寄存器及译码器,
数据寄存器,
状态寄存器,
地址译码器,
用于对设备操作进行控制的I/O逻辑。
中断技术
中断处理程序
输入输出中断的类型和功能
•通知用户程序I/O操作沿链推进程度
•通知用户程序I/O操作正常结束
•通知用户程序发现的I/O操作异常
•通知程序外围设备上重要的异步信号
I/O中断处理程序
(2)
输入输出中断事件处理原则
操作正常结束处理
操作发生故障或特殊事件的中断处理
人为要求而产生的中断处理
外围设备的异步信号处理
【答疑】
【本节小结】
本节介绍了设备管理的功能和设备控制的几种方式,中断及中断处理、陷阱与外中断的区别。
【作业】
8.1设备管理的目标和功能是什么?
8.2数据传送控制方式有哪几种?
试比较它们各自的优缺点.
8.3什么是通道?
8.4什么是中断?
什么是中断处理?
什么叫中断响应?
8.5什么叫关中断?
什么叫开中断?
什么叫中断屏蔽?
8.6什么是陷阱?
什么是软中断?
试述中断、陷阱、软中断之间异同。
8.7描述中断控制方式时的CPU动作过程。
【下课】
第二十八讲缓冲技术和设备分配
【教学章节】第8章设备管理8.4缓冲技术8.5设备分配
【教学目的】掌握缓冲的目标,缓冲的种类,缓冲池的管理。
掌握设备分配用的数据结构,设备分配的原则,设备分配办法。
【教学重点】缓冲的目标,缓冲的种类,缓冲池的管理,设备分配用的数据结构。
【教学难点】缓冲池的管理,设备分配的原则,设备分配办法。
复习存储器的组成,CACHE、内存、外存的概念。
8.4缓冲技术
8.4.1单缓冲
8.4.2双缓冲
8.4.3多缓冲
8.4缓冲技术
(1)
引入缓冲技术的目的
•改善中央处理器与外围设备之间速度不配的矛盾,
•协调逻辑记录大小与物理记录大小不一致,
•提高CPU和I/O设备的并行性。
缓冲技术
(2)
缓冲技术实现基本思想
(1)
进程执行写操作输出数据时,向系统申请一个缓冲区,若为顺序写请求,则不断把数据填到缓冲区,直到被装满。
此后,进程继续它的计算,系统将缓冲区内容写到I/O设备上。
进程执行操作输入数据时,向系统申请一个缓冲区,系统将一个物理记录的内容读到缓冲区,根据进程要求,把当前需要的逻辑记录从缓冲区中选出并传送给进程。
缓冲技术(3)
缓冲技术实现基本思想
(2)
在输出数据时,只有在系统还来不及腾空缓冲而进程又要写数据时,它才需要等待;
在输入数据时,仅当缓冲区空而进程又要从中读取数据时,它才被迫等待。
8.4.1单缓冲
对于块设备,单缓冲机制如下工作:
数据处理过程
数据处理时间约为max[C,T]+M,
对于字符设备,单缓冲机制如下工作:
数据处理过程
8.4.2双缓冲
(1)
输入数据时,首先填满缓冲区1,操作系统可从缓冲区1把数据送到用户进程区,用户进程便可对数据进行加工计算;
与此同时,输入设备填充缓冲区2
当缓冲区1空出后,输入设备再次向缓冲区1输入。
操作系统又可把缓冲区2的数据传送到用户进程区,用户进程开始加工缓冲2的数据。
双缓冲
(2)
传输和处理一块的时间
(1)
如果C<
T,由于M远小于T,在将磁盘上的一块数据传送到缓冲区其间(所花时间为T),计算机已完成将另一个缓冲区中的数据传送到用户区并对这块数据进行计算的工作,一块数据的传输和处理时间为T、即max(C,T),显然,这种情况下可保证块设备连续工作;
双缓冲(3)
传输和处理一块的时间
(2)
如果C>
T,当上一块数据计算完毕后,需把一个缓冲区中的数据传送到用户区,花费时间为M,再对这块数据进行计算,花费时间为C,所以,一块数据的传输和处理时间为C+M、即max(C,T)+M,这种情况下进程不必要等待I/O。
8.4.3多缓冲
(1)
操作系统从自由主存区域中分配一组缓冲区组成循环缓冲,每个缓冲区的大小等于物理记录的大小。
多缓冲的缓冲区是系统的公共资源,可供各个进程共享,并由系统统一分配和管理。
缓冲区可用途分为:
输入缓冲区,处理缓冲区和输出缓冲区。
多缓冲
(2)
UnixI/O字符缓存队列
8.5设备分配
(1)
从设备的特性来看,可以把设备分成独占设备、共享设备和虚拟设备三类:
相应的管理和分配外围设备的技术可分成:
独占方式、共享方式和虚拟方式。
设备分配
(2)
常用的I/O设备分配算法
先请求先服务,优先级高者先服务等。
此外,在多进程请求I/O设备分配时,应防止因循环等待对方所占用的设备而产生死锁,应预先进行性检查。
设备分配(3)
I/O设备分配的实现
(1)
设备分配的数据结构:
设备类表和设备表。
系统中拥有一张设备类表,每类设备对应于表中一栏,包括内容有:
设备类、总台数、空闲台数和设备表起始地址等。
每一类设备都有各自的设备表,用来登记这类设备中每一台设备的状态,包含的内容有:
物理设备名、逻辑设备名、占有设备的进程号、已分配/未分配、好/坏等。
设备分配(4)
I/O设备分配的实现
(2)
采用通道结构的系统中,设备分配的数据结构设置:
系统设备表、通道控制表、控制器控制表和设备控制表。
系统建立一张系统设备表,记录配置在系统中的所有物理设备的情况。
每个通道、控制器、设备各设置一张表,记录各自的地址(标识符)、状态(忙/闲)、等待获得此部件的进程队列指针、及一次分配后相互勾链的指针,以备分配和执行I/O时使用。
设备分配的原则:
先请求先分配
优先级高者先分配。
本节介绍了多种缓冲区的结构和其主要功能,缓冲技术与中断技术的相互协调。
设备分配的常用数据结构:
设备控制块、通道控制块、设备控制器和通道。
8.8什么是缓冲?
为什么要引入缓冲?
8.11用于设备分配的数据结构有哪些?
它们之间的关系是什么?
第二十九讲I/O进程控制和设备驱动程序
【教学章节】第8章设备管理8.6I/O进程控制8.7设备驱动程序
【教学目的】了解I/O控制的功能,I/O控制的实现,设备驱动程序,了解设备开关表。
【教学重点】设备驱动程序,设备开关表。
【教学难点】I/O控制的实现。
复习打印机驱动程序的安装和设置。
8.6设备驱动程序
(1)
设备驱动程序包括与设备相关的代码,它的工作是:
把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。
设备驱动程序
(2)
设备驱动程序从与设备无关的软件中接收抽象的I/O请求,一条典型的请求是读第n块。
如果请求到来时驱动程序空闲,则立即执行。
如果它正在处理另一条请求,它将该请求挂在等待队列中。
与硬件无关的操作系统I/O软件
(1)
设备无关软件完成的功能:
•对设备驱动程序的统一接口
•设备命名
•设备保护
•提供独立于设备的块大小
•缓冲区管理
•块设备的存储分配
•独占性外围设备的分配和释放
•错误报告
与硬件无关的操作系统I/O软件
(2)
文件和I/O设备的命名方式
如何保护对设备的未授权访问
屏蔽不同磁盘扇区大小并向高层软件提供统一大小的逻辑块
块设备和字符设备需要缓冲技术
错误处理多数由驱动程序完成
8.7驱动调度技术
(1)
8.7.1存储设备的物理结构
8.7.2循环排序
8.7.3优化分布
8.7.4交替地址
8.7.5搜查定位
8.7.6独立磁盘冗余阵列
8.7.7提高磁盘I/O速度的一些方法
驱动调度技术
(2)
驱动调度和驱动调度算法。
驱动调度能减少为若干个I/O请求服务所需的总时间,提高系统效率、除了I/O请求的优化排序外,信息在辅助存储器上的排列方式,存储空间分配方法都能影响存取访问速度。
存储设备的物理结构
(1)
顺序存取存储设备是严格依赖信息的物理位置进行定位和读写的存储设备
具有存储容量大、稳定可靠、卷可装卸和便于保存等优点
存储设备的物理结构
(2)
直接存取存储设备
(1)
磁盘是一种直接(随机)存取存储设备。
每个物理记录有确定的位置和唯一的地址,存取任何一个物理块所需的时间几乎不依赖于此信息的位置。
直接存取存储设备
(2)
访问磁盘记录参数:
柱面号、磁头号、块号
查找时间:
磁盘根据柱面号控制臂作机械横向移动,带动读写磁头到达指定柱面。
搜索延迟:
从磁头号可确定数据所在的盘面,等待被访问信息块旋转到读写头下,按块号进行存取。
磁盘机实现些操作的通道命令是:
查找、搜索、转移和读写。
8.7.2循环排序
(1)
考虑磁道保存4个记录的旋转型设备,假定收到四个I/O请求。
请求次序记录号
(1)读记录4
(2)读记录3
(3)读记录2
(4)读记录1
循环排序
(2)
多种I/O请求排序方法
•方法1:
按照I/O请求次序读记录4、3、2、1,平均用1/2周定位,再加上1/4周读出记录,总处理时间等于3周,即60毫秒。
•方法2:
如果次序为读记录1、2、3、4。
总处理时间等于1.5周,即30毫秒。
•方法3:
如果知道当前读位置是记录3,则采用次序为读记录4、1、2、3。
总处理时间等于1周,即20毫秒。
8.7.3优化分布
(1)
信息在存储空间的排列方式会影响存取等待时间。
考虑10个逻辑记录A,B……,J被存于旋转型设备上,每道存放10个记录,安排如下:
物理块逻辑纪录
1-10A-J
优化分布
(2)
处理10个记录的总时间
10毫秒(移动到记录A的平均时间)+2毫秒(读记录A)+4毫秒(处理记录A)+9×
[16毫秒(访问下一记录)+2毫秒(读记录)+4毫秒(处理记录)]
=214毫秒
按照下面方式对信息优化分布
物理块逻辑纪录
1A
2H
3E
4B
5I
6F
7C
8J
9G
10D
优化分布(3)
处理10个记录的总时间为
10毫秒(移动到记录A的平均时间)+10×
[2毫秒(读记录)×
4毫秒(处理记录)]
=70毫秒
8.7.4交替地址
每个记录重复记录在设备的多个区域,读相同的数据,有几个交替地址,也称为多重副本或折迭。
成功与否取决于下列因素:
数据记录总是读出使用,不需修改写入;
数据记录占用的存储空间总量不太大;
数据使用极为频繁。
5.5.5搜查定位
(1)
移臂调度有若干策略
(1)“电梯调度”算法
(2)“最短查找时间优先”算法
(3)“扫描”算法
(4)“分步扫描”算法
(5)“单向扫描”算法
搜查定位
(2)
“电梯调度”算法
(1)
选择沿臂的移动方向最近的柱面,如果同一柱面上有多个请求,还需进行旋转优化。
如果这个方向没有访问请求时,就改变臂的移动方向,并使移动频率极小化,处理所迂到的最近的I/O请求,非常类似于电梯的调度规则。
搜查定位(3)
“电梯调度”算法
(2)
搜查定位(4)
“最短查找时间优先”算法
本算法考虑了各个请求之间的区别,总是先执行查找时间最短的那个磁盘请求,从而,较“先来先服务”算法有较好的寻道性能。
搜查定位(5)
“扫描”算法
磁盘臂每次沿一个方向移动,扫过所有柱面,遇到最近的I/O请求便进行处理,直到最后一个柱面后,再向相反方向移动回来。
搜查定位(6)
“分步扫描”算法
将I/O请求分成组,每组不超过N个请求,每次选一个组进行扫描,处理完一组后再选下一组。
搜查定位(7)
“循环扫描”算法
移动臂总从0号柱面至最大号柱面顺序扫描,然后,直接返回0号柱面重复进行,归途中不再服务,构成了一个循环。
搜查定位(8)
算法比较
(1)
•
(1)
(2)两种算法,单位时间内处理的I/O请求多即吞吐量大,但请求的等待时间较长。
•“扫描”算法适宜于磁盘负载重的系统,它不分具体情况扫过所有柱面造成性能不够好。
•“分步扫描”算法使得I/O请求等待时间之间的差距最小,吞吐量适中。
搜查定位(9)
算法比较
(2)
•“电梯调度”算法杜绝饥饿,性能适中。
•“循环扫描”算法适应不断有大批量柱面均匀分布的I/O请求,且磁道上存放记录数量较大的情况。
8.7.7提高磁盘I/O速度的方法
提前读。
延迟写。
虚拟盘。
8.7.3设备独立性
(1)
通常用户不指定特定的设备,而指定逻辑设备,使得用户作业和物理设备独立开来,再通过其它途径建立逻辑设备和物理设备之间的对应关系,称这种特性为“设备独立性”。
设备独立性
(2)
设备独立性带来的好处
用户与物理的外围设备无关,系统增减或变更外围设备时程序不必修改;
易于对付输入输出设备的故障。
8.7虚拟设备
8.7.1问题的提出
8.7.2SPOOLING的设计和实现
8.7.3SPOOLING应用例子
8.7.1问题的提出
静态分配方式是不利于提高系统效率
采用脱机外围设备操作
联机同时外围设备操作(又称作假脱机操作)
8.7.2斯普林系统的设计和实现
(1)
“井”是用作缓冲的存储区域,采用井的技术能调节供求之间的矛盾,消除人工干预带来的损失。
“预输入程序”
“缓输出程序”
“井管理程序”
斯普林系统的设计和实现(3)
输入井中作业状态
•输入状态:
•收容收态:
•执行状态:
•完成状态:
斯普林系统的设计和实现(4)
SPOOLING数据结构’
作业表登记进入系统的所有作业的作业名、状态、预输入表位置等信息。
预输入表每个用户作业有一张用来登记该作业的各个文件的情况,包括设备类、信息长度及存放位置等。
缓输出表每个用户作业拥有一张包括作业名、作业状态、文件名、设备类、数据起始位置、数据当前位置等。
斯普林系统的设计和实现(5)
井文件空间的管理
(1)
第一种是连接方式,输入的信息被组织成连接文件,这种方式的优点是数据信息可以不连续存放,文件空间利用率高。
斯普林系统的设计和实现(6)
井文件空间的管理
(2)
第二种是计算方式,假定磁盘井文件空间,每个磁道存放100个80字节记录,每张卡片为80个字节,若每个柱面有20个磁道,则一个柱面可存放2000张卡片信息。
第n张卡片信息被存放在:
磁道号=卡片号n/100
记录号=(卡片号n)mod100
用卡片号n除以100的整数和余数部分分别为其