操作系统第十二章_第1页
操作系统第十二章_第2页
操作系统第十二章_第3页
操作系统第十二章_第4页
操作系统第十二章_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、I/O设备的多样性设备的多样性Os管理和控制管理和控制 I/O操作和操作和I/O设备。设备。u外设管理目的外设管理目的u提高效率:提高效率:提高提高I/OI/O访问效率,匹配访问效率,匹配CPUCPU和多种不同和多种不同处理速度的外设处理速度的外设u方便使用:方便使用:方便用户使用,对不同类型的设备统一方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用使用方法,协调对设备的并发使用u方便控制:方便控制:方便方便OSOS内部对设备的控制:增加和删除内部对设备的控制:增加和删除设备,适应新的设备类型设备,适应新的设备类型u外设管理功能外设管理功能u提供设备使用的用户接口提供设备使用的

2、用户接口:命令接口和编程接口:命令接口和编程接口u设备分配和释放:设备分配和释放:使用设备前,需要分配设备和相使用设备前,需要分配设备和相应的通道、控制器。应的通道、控制器。u设备的访问和控制:设备的访问和控制:包括并发访问和差错处理(虚包括并发访问和差错处理(虚拟设备)。拟设备)。uI/OI/O缓冲和调度:缓冲和调度:目标是提高目标是提高I/OI/O访问效率访问效率u按交互对象分类按交互对象分类u人机交互设备:人机交互设备:视频显示设备、键盘、鼠标、打印机视频显示设备、键盘、鼠标、打印机u与计算机或其他与计算机或其他电子设备交互电子设备交互的设备:磁盘、磁带、传感器、的设备:磁盘、磁带、传感

3、器、控制器控制器u计算机间的计算机间的通信设备通信设备:网卡、调制解调器:网卡、调制解调器u 按交互方向分类按交互方向分类u 输入输入(可读):键盘、扫描仪(可读):键盘、扫描仪u 输出输出(可写):显示设备、打印机(可写):显示设备、打印机u 输入输入/输出输出(可读写):磁盘、网卡(可读写):磁盘、网卡u 按外设特性分类按外设特性分类u使用特征:使用特征:存储、输入存储、输入/ /输出、终端输出、终端u 数据传输率:数据传输率:低速低速( (如键盘如键盘) )、中速、中速( (如打印机如打印机) )、高速、高速( (如网卡如网卡、磁盘、磁盘) )u信息组织特征:信息组织特征:单个字符或数据

4、块单个字符或数据块u字符设备字符设备( (如打印机如打印机) ):通常的输入输出型设备,:通常的输入输出型设备,以字符为单以字符为单位存储、传输信息;不可寻址位存储、传输信息;不可寻址u块设备块设备( (如磁盘如磁盘) ):以数据块为单位存储、传输信息。可寻址以数据块为单位存储、传输信息。可寻址u按资源分配角度分类按资源分配角度分类u独占设备独占设备u在一段时间内只能有一个进程使用的设备,一般为低速在一段时间内只能有一个进程使用的设备,一般为低速I/OI/O设备。如打印机,磁带等。设备。如打印机,磁带等。u共享设备共享设备u在一段时间内可有多个进程共同使用的设备,多个进程在一段时间内可有多个进

5、程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。如硬盘以交叉的方式来使用设备,其资源利用率高。如硬盘u虚拟设备虚拟设备u在一类设备上模拟另一类设备,常用共享设备模拟独占在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备,用高速设备模拟低速设备,被模拟的设备称为虚设备(实例:设备(实例:SPOOLingSPOOLing技术)技术)u 从程序使用角度分从程序使用角度分u 逻辑设备逻辑设备: : 用户程序中使用的设备用户程序中使用的设备u 物理设备:物理设备:实际完成实际完成I/OI/O操作的设备操作的设备u程序控制程序控制I/O(

6、轮询):轮询):CPU代表进程给代表进程给I/O模块发送一模块发送一个命令,个命令,CPU进入忙等待(输入输出完全由进入忙等待(输入输出完全由CPU控制)控制)u中断驱动中断驱动I/O: CPU代表进程给代表进程给I/O模块发送一个命令,模块发送一个命令,然后然后CPU继续执行后续指令继续执行后续指令; 当当I/O模块完成后,模块完成后,CPU被被该模块(该模块(CPU和和I/O设备可以共同工作)中断。设备可以共同工作)中断。u直接存储器存取直接存储器存取(DMA):CPU给给DMA模块发请求,只模块发请求,只有当有当DMA将整个数据块传送结束后,将整个数据块传送结束后,CPU才被中断(才被中

7、断(数据在内存和外设之间传输时不需要数据在内存和外设之间传输时不需要CPU干预)。干预)。u设备绝对号:设备绝对号:计算机系统为每一台设备确定的编号计算机系统为每一台设备确定的编号,用来区分和识别设备;,用来区分和识别设备;u用户在编写程序时不能通过设备的绝对编号来使用户在编写程序时不能通过设备的绝对编号来使用设备用设备u设备类型号:设备类型号:操作系统为每类设备规定的一个编号操作系统为每类设备规定的一个编号u设备相对号:设备相对号:用户自己规定的所用的同类设备中的用户自己规定的所用的同类设备中的第几台。第几台。u如如Unix中,中,rfd0和和rfd1分别表示第分别表示第1个和第个和第2个软

8、个软盘驱动器;盘驱动器;u设备的指定方式设备的指定方式u设备绝对号设备绝对号u设备类型号设备类型号+设备相对号设备相对号u用户程序中提出使用设备的申请时,使用系统用户程序中提出使用设备的申请时,使用系统规定的设备类型号和用户自己规定的设备相对规定的设备类型号和用户自己规定的设备相对号,由操作系统进行地址转换,变成系统中的号,由操作系统进行地址转换,变成系统中的设备绝对号;设备绝对号;uI/OI/O软件的设计目标:软件的设计目标:u效率:效率:大多数大多数I/O设备慢,设备慢,I/OI/O操作一般是系统瓶颈,很大程操作一般是系统瓶颈,很大程度上影响系统的性能和吞吐量。因此要改善度上影响系统的性能

9、和吞吐量。因此要改善I/OI/O的有效性,的有效性,采用多道程序设计、交换。目前比较关注磁盘采用多道程序设计、交换。目前比较关注磁盘I/O。u通用性:通用性:设备种类、特点和性能千差万别;要求能够以一种设备种类、特点和性能千差万别;要求能够以一种一致的方式来管理所有设备一致的外部接口,一致的方式来管理所有设备一致的外部接口,很难做到通很难做到通用,但希望能够用统一的方法处理所有设备,用,但希望能够用统一的方法处理所有设备,用一种层次化用一种层次化的,模块化的方法设计的,模块化的方法设计I/O功能。功能。u能够在能够在低层低层例程中隐藏大部分设备例程中隐藏大部分设备I/O的细节,的细节,u使得用

10、户进程和使得用户进程和OS高层高层可以通过一些通用的功能,如读可以通过一些通用的功能,如读、写、打开、关闭等查看、写、打开、关闭等查看I/O设备。设备。u设备独立性。设备独立性。用户在编写使用软盘或硬盘上文件的程序用户在编写使用软盘或硬盘上文件的程序时,无需为不同的设备类型而修改程序就可以使用时,无需为不同的设备类型而修改程序就可以使用u统一命名。统一命名。一个文件或一个设备的名字只应是一个简单一个文件或一个设备的名字只应是一个简单的字符串或一个整数,不应依赖于设备的字符串或一个整数,不应依赖于设备u如果用户程序中直接使用真实的物理设备,那么如果用户程序中直接使用真实的物理设备,那么会出现这样

11、的问题:用户指定的设备因故障不能会出现这样的问题:用户指定的设备因故障不能使用,或者该设备正忙于为其他进程服务,只有使用,或者该设备正忙于为其他进程服务,只有等待或者修改程序,重新指定设备。等待或者修改程序,重新指定设备。u为了实现用户程序与物理设备的无关性,在用户为了实现用户程序与物理设备的无关性,在用户程序中不要直接使用物理设备名(或者设备的物程序中不要直接使用物理设备名(或者设备的物理地址),而只能使用逻辑设备名。逻辑设备是理地址),而只能使用逻辑设备名。逻辑设备是实际物理设备的抽象,它不限于某类具体设备。实际物理设备的抽象,它不限于某类具体设备。逻辑设备究竟和哪一个具体的物理设备相对应

12、,逻辑设备究竟和哪一个具体的物理设备相对应,还要由系统根据当时的设备忙、闲情况来决定或还要由系统根据当时的设备忙、闲情况来决定或者由系统管理员指定。者由系统管理员指定。u I IO O软件的基本思想是软件的基本思想是按分层的思想构成按分层的思想构成: :u较低层软件要使较高层软件独立于硬件的特较低层软件要使较高层软件独立于硬件的特性,性,u较高层软件则要向用户提供一个友好的、清较高层软件则要向用户提供一个友好的、清晰的、简单的、功能更强的接口晰的、简单的、功能更强的接口User ProcessLogical I/ODevice I/OScheduling & Control(Devic

13、e Driver)HardwareCommunications Architectureu逻辑逻辑I/OI/O:将设备当作一个逻辑资源,不涉及实际的设备控将设备当作一个逻辑资源,不涉及实际的设备控制的细节制的细节: :u针对针对用户接口,用户接口,提供抽象的命令,如:提供抽象的命令,如:Open, Close, Open, Close, Read, Read, u针对针对通信设备,通信设备,则是通信体系结构如网络协议栈则是通信体系结构如网络协议栈;u针对针对文件存储设备,文件存储设备,是文件系统的逻辑结构控制;是文件系统的逻辑结构控制;u设备设备I/OI/O:逻辑设备与物理设备间的过渡协调机构

14、。逻辑设备与物理设备间的过渡协调机构。用户命用户命令到设备操作序列的令到设备操作序列的转换。转换。请求的操作和数据被转换成适请求的操作和数据被转换成适当的当的I/OI/O指令序列、通道命令和控制器指令。指令序列、通道命令和控制器指令。可以用可以用I/OI/O缓缓冲冲提高提高I/OI/O效率效率u调度和控制:调度和控制:是是I/OI/O模块和设备模块和设备硬件真正发生交互硬件真正发生交互的软件层的软件层,直接面对硬件设备的控制细节。直接面对硬件设备的控制细节。如如I/OI/O操作的排队,设备操作的排队,设备控制和状态维护、中断处理。控制和状态维护、中断处理。这部分通常体现为这部分通常体现为设备驱

15、动设备驱动程序;程序;进行进行I/O调用,格式调用,格式化化I/O; Spooling命名,保护,阻塞,命名,保护,阻塞,缓冲,分配缓冲,分配建立设备寄存器;建立设备寄存器;检查状态检查状态当当I/O结束时,唤醒结束时,唤醒驱动器驱动器执行执行I/O操作操作u用户进程层用户进程层执行输入输出系统调用,对执行输入输出系统调用,对I/OI/O数据进行数据进行格式化格式化u 独立于设备的软件独立于设备的软件实现设备的命名、设备的保护、实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配;成块处理、缓冲技术和设备分配;( (逻辑逻辑I/O)I/O)u设备驱动程序设备驱动程序设置设备寄存器、检查设备

16、的执行状态设置设备寄存器、检查设备的执行状态u中断处理程序中断处理程序负责负责I IO O完成时,唤醒设备驱动程序进完成时,唤醒设备驱动程序进程,进行中断处理程,进行中断处理u硬件层硬件层实现物理实现物理I IO O的操作的操作描述设备管理软件的层次结构,并说明以下的工作各在I/0软件层次的哪一层?u维护一个最近使用的块的缓冲。维护一个最近使用的块的缓冲。u为一个磁盘读操作计算磁道、扇区、磁头。为一个磁盘读操作计算磁道、扇区、磁头。u向设备寄存器写命令。向设备寄存器写命令。u设备保护设备保护u各类各类I/O库函数库函数 u缓冲技术的缓冲技术的基本思想基本思想:在:在CPU和外设之间设置缓冲区,

17、用和外设之间设置缓冲区,用于暂存于暂存CPU与外设之间交换的数据,从而缓和与外设之间交换的数据,从而缓和CPU与外设与外设速度不匹配的矛盾。速度不匹配的矛盾。u缓冲区所在的位置:缓冲区所在的位置:内存,控制器或外设(内存,控制器或外设(多级缓冲机制多级缓冲机制)u硬件缓冲,硬件缓冲,如如I/O控制器控制器中的数据缓冲寄存器中的数据缓冲寄存器u软件缓冲:软件缓冲:在在内存内存画出一个具有画出一个具有n个单元的专用缓冲区。个单元的专用缓冲区。u根据方向:根据方向:分为输入缓冲和输出缓冲分为输入缓冲和输出缓冲u根据用途:根据用途:分为专用缓存(为一个设备独占,如键盘缓存)和分为专用缓存(为一个设备独

18、占,如键盘缓存)和公用缓存(为多个设备公用)公用缓存(为多个设备公用)缓冲区缓冲区CPU外设外设u无缓冲时问题分析:无缓冲时问题分析:设备直接向进程地址设备直接向进程地址空间传送数据空间传送数据(如用户从磁带中读数据块的如用户从磁带中读数据块的操作),则进程要么忙等待,要么阻塞。操作),则进程要么忙等待,要么阻塞。u如果用如果用忙等待方式,忙等待方式,则浪费大量则浪费大量CPU时间;时间;u如果是如果是阻塞方式阻塞方式,则进程阻塞在设备的,则进程阻塞在设备的I/O请求队列中。这时,请求队列中。这时,不能将进程全部换出,不能将进程全部换出,还可能出现单进程还可能出现单进程死锁死锁。(进程在等待。

19、(进程在等待I/O操操作结果之前被换出,等待作结果之前被换出,等待I/O事件,而事件,而I/O操作操作也被阻塞,等待该进程被换入。)也被阻塞,等待该进程被换入。)u缓冲技术缓冲技术的用途的用途u可以在发出请求之前就开始执行输入操作(预输入)可以在发出请求之前就开始执行输入操作(预输入),在发出请求一段时间后才开始执行输出操作(缓输,在发出请求一段时间后才开始执行输出操作(缓输出)。出)。u匹配匹配CPUCPU或用户应用进程与外设的不同处理或用户应用进程与外设的不同处理速度速度u减少对减少对CPUCPU的中断次数:的中断次数:u提高提高CPUCPU和和I/OI/O设备之间以及各个设备之间以及各个

20、I/OI/O设备之间的处理设备之间的处理并行性并行性。u多道程序环境中提高多道程序环境中提高OSOS效率和单个进程的工具(技术效率和单个进程的工具(技术)之一。)之一。u单缓冲单缓冲(single buffer):当一个用户进程发出当一个用户进程发出I/O请求时请求时,OS给该操作分配一个位于主存中系统部分的缓冲区给该操作分配一个位于主存中系统部分的缓冲区。以面向块的设备为例:输入先传送至系统缓冲区,当。以面向块的设备为例:输入先传送至系统缓冲区,当传送完成时,传送完成时,进程将该块移动到用户空间进程将该块移动到用户空间,并立即请求,并立即请求另一块另一块预读预读(对于输出,则称为对于输出,则

21、称为延迟写延迟写)。u好处:好处:u用户可以在下一块数据正在读入时,处理这块数据用户可以在下一块数据正在读入时,处理这块数据(用户用户进程处理某个数据块的同时,下一个数据块正在读入)进程处理某个数据块的同时,下一个数据块正在读入)。由于输入发生功能在系统存储空间而不是用户进程存。由于输入发生功能在系统存储空间而不是用户进程存储区,因此储区,因此OS可以将该进程换出。可以将该进程换出。u增加了增加了OS的逻辑复杂度:的逻辑复杂度:OS必须直到用户进程的缓冲必须直到用户进程的缓冲区的分配情况,交换逻辑受到影响。区的分配情况,交换逻辑受到影响。u双缓冲双缓冲(double buffer):两个缓冲区

22、,两个缓冲区,CPU和外设都可以连续处理而无需等待对和外设都可以连续处理而无需等待对方。当一个进程往一个缓冲区中写数据时方。当一个进程往一个缓冲区中写数据时(取数据)时,(取数据)时,OS正在清空(填充)另一正在清空(填充)另一个缓冲区。个缓冲区。u循环缓冲循环缓冲(circular buffer):多个缓冲区,多个缓冲区,CPU和外设的处理速度可以相差较大,如和外设的处理速度可以相差较大,如这个进程突然快速执行了大量的这个进程突然快速执行了大量的I/O。由于外设资源的有限,需解决进程间的外设共享问由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程题,以提

23、高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法:使用外设过程的管理。这里有两种作法:1)在进程间在进程间切换使用切换使用外设,如键盘和鼠标;外设,如键盘和鼠标;2)通过一个通过一个虚拟设备虚拟设备把外设与应用进程隔开,只把外设与应用进程隔开,只由虚拟设备来使用设备。由虚拟设备来使用设备。u系统设备表系统设备表(SDT, System Device Table):系统内一系统内一张,反映张,反映系统中设备资源的状态系统中设备资源的状态,记录所有设备的状,记录所有设备的状态及其设备控制表的入口。态及其设备控制表的入口。u设备控制表设备控制表(DCT, Device Cont

24、rol Table):每个设备每个设备一张,一张,描述设备特性和状态描述设备特性和状态。反映设备的特性、设备。反映设备的特性、设备和控制器的连接情况。和控制器的连接情况。u控制器控制表控制器控制表(COCT, COntroller Control Table):每每个设备控制器一张,描述个设备控制器一张,描述I/O控制器的配置和状态控制器的配置和状态。如。如DMA控制器所占用的中断号、控制器所占用的中断号、DMA数据通道的分配。数据通道的分配。u通道控制表通道控制表(CHCT, CHannel Control Table):每个通每个通道一张,描述通道工作状态道一张,描述通道工作状态。系统设备

25、表系统设备表表项1 表项i设备类型设备标识获得设备的进程号DCT指针设备控制表(设备控制表(DCT)设备类型设备标识设备忙/闲标记COCT指针设备等待队列首指针设备等待队列尾指针控制器控制表控制器控制表COCT控制器标识控制器忙/闲标记CHCT指针控制器等待队列首指针控制器等待队列尾指针通道控制表通道控制表CHCT通道标识通道忙/闲标记COCT指针通道等待队列首指针通道等待队列尾指针u 设备分配的原则设备分配的原则u合理使用外设合理使用外设(公平和避免死锁公平和避免死锁)u 提高设备利用率提高设备利用率u 应用程序与设备无关应用程序与设备无关u 与设备分配有关的与设备分配有关的设备属性设备属性

26、:u独享设备:独享设备:打印机等;打印机等;u共享设备:共享设备:磁盘、网卡等;磁盘、网卡等;u设备设备分配技术分配技术:u独占分配独占分配:不会出现死锁;但设备利用率不高;:不会出现死锁;但设备利用率不高;u共享分配共享分配:利用率高,但控制复杂:利用率高,但控制复杂u虚拟分配虚拟分配:利用共享设备去实现独占设备的功能利用共享设备去实现独占设备的功能;有利于提高设备利用率;有利于提高设备利用率u先来先服务先来先服务(FCFS):按按I/O请求的先后顺序,请求的先后顺序,排成排成I/O请求命令队列,队首指向被请求设备请求命令队列,队首指向被请求设备的的DCT;按按FCFS分配设备;分配设备;u

27、基于优先级:基于优先级:依据进程的优先级,指定依据进程的优先级,指定I/O请请求的优先级,排成不同优先级队列;按优先求的优先级,排成不同优先级队列;按优先级高低分配设备;级高低分配设备;u先回顾一下设备分类问题先回顾一下设备分类问题u按资源分配角度分类按资源分配角度分类u独占设备独占设备u在一段时间内只能有一个进程使用的设备,在一段时间内只能有一个进程使用的设备,一般为低速一般为低速I/OI/O设备。如打印机,磁带等。因设备。如打印机,磁带等。因数量有限,会成为系统中的数量有限,会成为系统中的“瓶颈瓶颈”资源,资源,使进程经常处于阻塞状态;设备利用率比较使进程经常处于阻塞状态;设备利用率比较低

28、低u共享设备共享设备u在一段时间内可有多个进程共同使用的设备在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资,多个进程以交叉的方式来使用设备,其资源利用率高(如硬盘)源利用率高(如硬盘)u虚拟设备技术虚拟设备技术u 多道程序系统中,进程对设备的需求频繁,尤其是独占多道程序系统中,进程对设备的需求频繁,尤其是独占设备数量有限、效率低,故引入虚拟设备管理技术。设备数量有限、效率低,故引入虚拟设备管理技术。u基本思想:用大容量的快速设备(磁盘)模拟慢速度基本思想:用大容量的快速设备(磁盘)模拟慢速度的独占设备,把一台物理上的独占设备变为逻辑上的多台的独占设备,把一台物理上

29、的独占设备变为逻辑上的多台共享设备。共享设备。u通过通过共享型设备来模拟独占型设备的动作,共享型设备来模拟独占型设备的动作,使独占型使独占型设备成为共享型设备,设备成为共享型设备,提高设备的利用率和系统的效提高设备的利用率和系统的效率。率。 u实例:实例:SPOOLing技术技术(Simultaneously Peripheral Operation On Line,外围设备同时联机操作外围设备同时联机操作),是用程是用程序模拟脱机序模拟脱机I/O的功能,故又称为假脱机技术。的功能,故又称为假脱机技术。输入设备输入设备输出设备输出设备虚拟设备虚拟设备虚拟设备虚拟设备虚拟设备虚拟设备输入井输入井

30、输出井输出井虚拟设备虚拟设备用户进程用户进程用户进程用户进程虚拟设备虚拟设备u作业执行前用慢速设备将作业预先输入到输入井中,作业执行前用慢速设备将作业预先输入到输入井中,称为称为预输入预输入(输入井和输出井是某输入井和输出井是某共享设备(磁盘)共享设备(磁盘)上的一部分存储空间)。上的一部分存储空间)。u作业运行后,使用数据时,从输入井中取出作业运行后,使用数据时,从输入井中取出u作业执行不必直接启动外设输出数据,只需将这些数作业执行不必直接启动外设输出数据,只需将这些数据写入输出井中据写入输出井中u作业全部运行完毕,再由外设输出全部数据和信息,作业全部运行完毕,再由外设输出全部数据和信息,称为称为缓输出缓输出u实现了对作业输入、组织调度和输出的统一管理使外实现了对作业输入、组织调度和输出的统一管理使外设在设在CPUCPU直接控制下,与直接控制下,与CPUCPU并行工作(称为假脱机)并行工作(称为假脱机)输入装置输入装置输入装置输入装置通通道道通通道道输出装置输出装置输出装置输出装置通通 道道 主机系统主机系统输入管输入管 输出管输出管理模块理模块 理模块理模块外外 设设输入井输入井 输出井输出井 u假设系统中全部打印机采用了假设系统中全部打印机采用了SpoolingSpooling技术,当

温馨提示

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

评论

0/150

提交评论