《《操作系统原理》第六章 设备管理.ppt》由会员分享,可在线阅读,更多相关《《操作系统原理》第六章 设备管理.ppt(93页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系操作系统统原理原理第六章第六章设备管理设备管理任晓霞任晓霞北京大学计算中心北京大学计算中心北京大学计算中心北京大学计算中心操作系操作系统统原理原理内容提要内容提要v概述概述vI/O硬件硬件硬件分类硬件分类设备控制器、通道、设备控制器、通道、DMAvI/O软件软件设备控制方式设备控制方式设备驱动程序设备驱动程序I/O控制控制2内容提要内容提要操作系操作系统统原理原理I/O设备管理系统结构图设备管理系统结构图3概概 述述操作系统操作系统I/O硬件管理硬件管理I/O软件管理软件管理上层用户程序(应用层)上层用户程序(应用层)设备设备控制器控制器命令寄存器命令寄存器底层硬件设备(物理层)底层硬件
2、设备(物理层)中断处理程序中断处理程序设备驱动程序设备驱动程序设备无关程序设备无关程序用户进程用户进程状态寄存器状态寄存器数据寄存器数据寄存器操作系操作系统统原理原理设备管理的目标和任务设备管理的目标和任务v按照用户的请求,控制设备的各种操作,完成按照用户的请求,控制设备的各种操作,完成I/O设设备与内存之间的数据交换,最终完成用户的备与内存之间的数据交换,最终完成用户的I/O请求请求设备分配与回收设备分配与回收记录设备的状态记录设备的状态根据用户的请求和设备的类型,采用一定的分配算法,选根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路择一条数据通路执行执行设备驱动程序设备驱动
3、程序,实现真正的,实现真正的I/O操作操作设备中断处理:设备中断处理:处理外部设备的中断处理外部设备的中断缓冲区管理:缓冲区管理:管理管理I/O缓冲区缓冲区4概概 述述操作系操作系统统原理原理设备管理的目标和任务设备管理的目标和任务(2)v建立建立方便方便、统一统一的独立于设备的接口的独立于设备的接口方便性方便性:向用户提供使用外部设备的方便接口,使用户编:向用户提供使用外部设备的方便接口,使用户编程不考虑设备的复杂物理特性程不考虑设备的复杂物理特性统一性统一性:对不同的设备采取统一的操作方式,在用户程序:对不同的设备采取统一的操作方式,在用户程序中使用的是逻辑设备中使用的是逻辑设备逻辑设备与
4、物理设备、屏蔽硬件细节(设备的物理逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同细节,错误处理,不同I/O的差异性)的差异性)5概概 述述操作系操作系统统原理原理设备独立性(设备无关性)设备独立性(设备无关性)v目的:目的:从用户角度从用户角度:用户在编制程序时,使用逻辑设备名,由系:用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换,并实统实现从逻辑设备到物理设备(实际设备)的转换,并实施施I/O操作操作从系统角度从系统角度:设计并实现:设计并实现I/O软件时,除了直接与设备打软件时,除了直接与设备打交道的底层软件之外,其他部分的软件不依赖于
5、硬件交道的底层软件之外,其他部分的软件不依赖于硬件6概概 述述操作系操作系统统原理原理设备管理的目标和任务设备管理的目标和任务(3)v充分利用各种技术(通道、中断、缓冲等)充分利用各种技术(通道、中断、缓冲等)提高提高CPU与设备、设备与设备之间的并行工与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率作能力,充分利用资源,提高资源利用率并行性并行性均衡性(使设备充分忙碌)均衡性(使设备充分忙碌)7概概 述述操作系操作系统统原理原理设备管理的目标和任务设备管理的目标和任务(4)v保护保护设备传送或管理的数据应该是安全的、不被设备传送或管理的数据应该是安全的、不被破坏的、保密的。
6、破坏的、保密的。8概概 述述操作系操作系统统原理原理内容提要内容提要v概述概述vI/O硬件硬件硬件分类硬件分类设备控制器、通道、设备控制器、通道、DMAvI/O软件软件设备控制方式设备控制方式设备驱动程序设备驱动程序I/O控制控制9内容提要内容提要操作系操作系统统原理原理I/O设备的特点分析设备的特点分析v操作系统需要管理的最复杂的资源操作系统需要管理的最复杂的资源I/O设备设备I/O设备种类繁多,工作模式各不相同设备种类繁多,工作模式各不相同I/O设备数据多样,处理方式各不相同设备数据多样,处理方式各不相同I/O设备性能参差,运行控制多种多样设备性能参差,运行控制多种多样v最容易成为计算机系
7、统的瓶颈最容易成为计算机系统的瓶颈I/O设备设备很多很多I/O设备使用机械操作,导致其速度较设备使用机械操作,导致其速度较CPU相差很大相差很大进程运行中的输入输出操作可能造成系统运行的性能瓶颈进程运行中的输入输出操作可能造成系统运行的性能瓶颈I/O管理:如何最大限度保证管理:如何最大限度保证I/O设备与设备与CPU的并行工作的并行工作v最实用、最体现操作系统特色的工作最实用、最体现操作系统特色的工作I/O管理管理兼容性:操作系统最难以完成的使命兼容性:操作系统最难以完成的使命标准化:标准化:IT技术迅速普及发展的本质技术迅速普及发展的本质高性能:高性能:I/O设备发展的主要目标设备发展的主要
8、目标10I/O硬件管理硬件管理操作系操作系统统原理原理11I/O设备分类(设备分类(1)v按照数据的组织形式划分按照数据的组织形式划分块设备块设备以数据块为单位存储、传输数据以数据块为单位存储、传输数据传输速率较高(几传输速率较高(几MB/秒)、可寻址(随机读写)秒)、可寻址(随机读写)例如:磁盘、磁带、光盘例如:磁盘、磁带、光盘块设备根据块设备根据存取速度及不同的载体结构存取速度及不同的载体结构可分三类:可分三类:I/O硬件管理硬件管理顺序存储设备:严格按照信息在载体上的物理顺序来定位与存取的设顺序存储设备:严格按照信息在载体上的物理顺序来定位与存取的设备备-磁带机磁带机直接存取存储设备:直
9、接对某个物理位置的记录进行存取直接存取存储设备:直接对某个物理位置的记录进行存取-磁盘,磁盘磁盘,磁盘组组完全直接存取存储设备:完全直接存取存储设备:RAM操作系操作系统统原理原理字符设备字符设备以字节为单位存储、传输数据以字节为单位存储、传输数据传输速率较低、不可寻址传输速率较低、不可寻址例如:输入型设备例如:输入型设备键盘、鼠标、图形扫描器键盘、鼠标、图形扫描器输出型设备输出型设备显示器、打印机、绘图机显示器、打印机、绘图机12操作系操作系统统原理原理I/O设备分类(设备分类(2)v按照资源分配的形式划分按照资源分配的形式划分独占式设备独占式设备一个时刻只能由一个进程使用,一般为低速一个时
10、刻只能由一个进程使用,一般为低速I/O设备设备如:打印机、磁带等如:打印机、磁带等共享式设备共享式设备一个时刻可由多个进程共同使用的设备,一个时刻可由多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率很高多个进程以交叉的方式来使用设备,其资源利用率很高如:硬盘如:硬盘虚拟式设备虚拟式设备13操作系操作系统统原理原理虚拟式设备虚拟式设备在一类设备上模拟另一类设备,常用共享设备模拟独在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备设备目的:目的:将慢速的独占设备改造成多个用户可共
11、享的设备,将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率提高设备的利用率(实例:(实例:SPOOLing技术,利用虚设备技术技术,利用虚设备技术用硬盘模拟输入输出设备)用硬盘模拟输入输出设备)SPOOLing技术技术为解决独立设备数量少,速度慢,不能满足众多进程的为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提要求,而且在进程独占设备期间,设备利用率比较低而提出的一种设备管理技术另一种资源转换技术出的一种设备管理技术另一种资源转换技术14操作系操作系统统原理原理I/O设备分类(设备分类(3)v按照程序使用的方式划分按照程序使用的方
12、式划分逻辑设备逻辑设备由操作系统维护,简便用户操作和控制的由操作系统维护,简便用户操作和控制的“设备设备结构结构”物理设备物理设备由硬件结构组成,真实完成各类由硬件结构组成,真实完成各类I/O设备操作设备操作15操作系操作系统统原理原理I/O设备硬件组成设备硬件组成vI/O设备的硬件结构设备的硬件结构机械部分(物理装置)机械部分(物理装置)设备本身,是接收模拟信号的各种机械装置设备本身,是接收模拟信号的各种机械装置电子部分(电子装置)电子部分(电子装置)又叫设备控制器又叫设备控制器/适配器适配器完成设备与主机的连接和通信完成设备与主机的连接和通信16操作系操作系统统原理原理设备控制器设备控制器
13、v是是CPU与与I/O设备的接口设备的接口v分成两大类分成两大类用于控制字符设备的控制器用于控制字符设备的控制器用于控制块设备的控制器用于控制块设备的控制器v在小型和微型机中,它常采用印刷电路卡插在小型和微型机中,它常采用印刷电路卡插入计算机主板上的总线插槽入计算机主板上的总线插槽17操作系操作系统统原理原理设备控制器功能设备控制器功能v按照主机与设备之间约定的格式和过程按照主机与设备之间约定的格式和过程接收计算机发来的数据和控制信号接收计算机发来的数据和控制信号向主机发送数据和状态信号向主机发送数据和状态信号v将计算机的数字信号转换成机械部分能识别的模拟将计算机的数字信号转换成机械部分能识别
14、的模拟信号,或反之信号,或反之v实现设备内部硬件缓冲、数据加工等提高性能或增实现设备内部硬件缓冲、数据加工等提高性能或增强功能强功能v(端口)地址译码:(端口)地址译码:实现对实现对I/O地址空间的正确映射地址空间的正确映射18操作系操作系统统原理原理设备控制器的组成设备控制器的组成v设备控制器与处理机接口设备控制器与处理机接口三类信号线:数据线、地址线和控制线三类信号线:数据线、地址线和控制线寄存器:数据寄存器、控制寄存器:数据寄存器、控制/状态寄存器状态寄存器v设备控制器与设备接口设备控制器与设备接口一个设备连接一台设备一个设备连接一台设备每个接口中含有数据、地址、控制信号。每个接口中含有
15、数据、地址、控制信号。控制器的控制器的I/O逻辑根据处理机发的地址信号选择设备接口逻辑根据处理机发的地址信号选择设备接口vI/O逻辑逻辑通过一组控制线与处理机交互通过一组控制线与处理机交互处理机利用它向控制器发送处理机利用它向控制器发送I/O命令。命令。I/O逻辑对收到的命令进行译码。逻辑对收到的命令进行译码。19操作系操作系统统原理原理20操作系操作系统统原理原理v几乎所有的微型机和小型机都利用下图所示的单总几乎所有的微型机和小型机都利用下图所示的单总线模型,实现线模型,实现CPU和控制器之间的通信。和控制器之间的通信。21操作系操作系统统原理原理通道通道v早期:外部设备的输入早期:外部设备
16、的输入/输出是在输出是在CPU的直接控制下,的直接控制下,I/O设备和设备和CPU之间只能采用串行方式工作之间只能采用串行方式工作v为了使为了使CPU从从I/O事务中解脱出来,同时为了提高事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力与设备,设备与设备之间的并行工作能力v通道:是一种专门管理设备通道:是一种专门管理设备I/O控制的部件一个小控制的部件一个小规模规模处理机处理机,控制设备和内存直接进行数据交换,控制设备和内存直接进行数据交换22操作系操作系统统原理原理v通道是一种特殊的处理机,与一般处理机不通道是一种特殊的处理机,与一般处理机不同。表现在两个方面:同。表现
17、在两个方面:指令类型单一、即由于通道硬件比较简单,其所指令类型单一、即由于通道硬件比较简单,其所能执行的指令,主要为与能执行的指令,主要为与I/OI/O有关的指令。有关的指令。通道没有自己的内存,与通道没有自己的内存,与CPUCPU共享内存共享内存23操作系操作系统统原理原理通道的类型通道的类型根据信息交换方式,可分为三种类型根据信息交换方式,可分为三种类型v字节多路通道字节多路通道v数据选择通道数据选择通道v数组多路通道数组多路通道24操作系操作系统统原理原理通道的类型通道的类型-字节多路通道字节多路通道v字节多路通道以字节多路通道以字节为单位字节为单位传输信息传输信息v子通道按时间片轮转方
18、式共享通道子通道按时间片轮转方式共享通道v第一个子通道控制其第一个子通道控制其I/O设备完成一个字节的交换后,设备完成一个字节的交换后,便立即腾出字节多路通道(主通道),让第二个子便立即腾出字节多路通道(主通道),让第二个子通道使用,依次类推,所有通道轮转一周后重返回。通道使用,依次类推,所有通道轮转一周后重返回。v只要扫描每个子通道的速度足够快,而连接到子同只要扫描每个子通道的速度足够快,而连接到子同上的设备的速率较小的时,不丢数据上的设备的速率较小的时,不丢数据v主要连接以字节为单位的低速主要连接以字节为单位的低速I/O设备,如:打印机、设备,如:打印机、终端终端25操作系操作系统统原理原
19、理字节多路通道字节多路通道:适于控制多路低速设备:适于控制多路低速设备26操作系操作系统统原理原理通道的类型通道的类型数据选择通道数据选择通道v选择通道是以选择通道是以成组方式成组方式工作的,即每次传送工作的,即每次传送一批数据,故传送速率高。一批数据,故传送速率高。v选择通道在一段时间内只能执行选择通道在一段时间内只能执行一个一个通道程通道程序,只允许序,只允许一台一台设备进行数据传输设备进行数据传输v当这台设备数据传输完成后,再选择与通道当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行相应的通道程序连接的另一台设备,执行相应的通道程序v主要连接磁盘,磁带等高速主要连接磁盘,磁带
20、等高速I/O设备设备27操作系操作系统统原理原理28数据选择通道数据选择通道:适于高速设备,成组传输数据:适于高速设备,成组传输数据操作系操作系统统原理原理通道的类型通道的类型数组多路通道数组多路通道v它结合了它结合了数据选择通道数据选择通道传送速度高和传送速度高和字节多路通道字节多路通道能进行分时并行操作的优点。它先为一台设备执行能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令一条通道指令v主要连接高速设备主要连接高速设备v这样,对于连接多台磁盘机的数组多路通道,它可这样,对于连接多台磁盘机的数组
21、多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数组多路通道实际上是对通叉地传输一批批数据。数组多路通道实际上是对通道程序采用多道程序设计的硬件实现道程序采用多道程序设计的硬件实现29操作系操作系统统原理原理“瓶颈瓶颈”问题问题vI/O性能经常称为系统的瓶颈性能经常称为系统的瓶颈vCPU性能不等于系统性能性能不等于系统性能响应时间也是一个重要因素响应时间也是一个重要因素vCPU性能越高,与性能越高,与I/O差距越大差距越大弥补:更多的进程弥补:更多的进程进程多,进程切换多,系统开销大进程多,进程切换多,系统开销大30操作
22、系操作系统统原理原理v通道价格昂贵,使机器中的通道数量比较少,通道价格昂贵,使机器中的通道数量比较少,这往往使它成了这往往使它成了I/O的瓶颈的瓶颈v解决解决“瓶颈瓶颈”问题的最有效的方法,问题的最有效的方法,便是增便是增加设备到主机之间的加设备到主机之间的通路通路,而不是通道,而不是通道31操作系操作系统统原理原理32单通道与多通道单通道与多通道单通道I/O机制:每个设备由一个通道负责操作系操作系统统原理原理单通道与多通道单通道与多通道33多通道I/O机制:每个设备由多个通道控制操作系操作系统统原理原理存储器直接存取存储器直接存取(DMA)设备设备vDMA:DirectMemoryAcces
23、sv通过系统总线中一独立控制单元通过系统总线中一独立控制单元DMA控控制器制器,自动控制成块数据在内存和,自动控制成块数据在内存和I/O单元间单元间的传送的传送v大大提高处理大大提高处理I/O的效能的效能34操作系操作系统统原理原理当处理器需要读写一整块数据时当处理器需要读写一整块数据时给给DMA控制单元发送一条命令控制单元发送一条命令包含:是否请求一次读或写,包含:是否请求一次读或写,I/O设备的编址,设备的编址,开始读或写的主存编址,需要传送的数据长度开始读或写的主存编址,需要传送的数据长度等信息等信息v处理器发送完命令后就可处理其他事情处理器发送完命令后就可处理其他事情DMA控制器将自动
24、管理数据的传送控制器将自动管理数据的传送v当这个过程完成后,当这个过程完成后,DMA控制器给处理器发控制器给处理器发一个中断,处理器只在开始传送和传送结束时一个中断,处理器只在开始传送和传送结束时关注一下就可关注一下就可35操作系操作系统统原理原理v处理器和处理器和DMA传送不完全并行传送不完全并行因为有时会有总线竞争的情况发生因为有时会有总线竞争的情况发生处理器用总线时可能稍作等待处理器用总线时可能稍作等待不会引起中断不会引起中断不引起程序上下文的保存不引起程序上下文的保存v通常过程只有一个总线周期通常过程只有一个总线周期v在在DMA传送时,处理器访问总线速度会变慢传送时,处理器访问总线速度
25、会变慢v对于大量数据对于大量数据I/O传送,采用传送,采用DMA这种方式这种方式是很有价值是很有价值36操作系操作系统统原理原理内容提要内容提要v概述概述vI/O硬件硬件硬件分类硬件分类设备控制器、通道、设备控制器、通道、DMAvI/O软件软件设备控制方式设备控制方式设备驱动程序设备驱动程序I/O控制控制37内容提要内容提要操作系操作系统统原理原理38I/O软件体系结构软件体系结构I/O软软件管理件管理中断处理程序中断处理程序底层硬件设备底层硬件设备设备驱动程序设备驱动程序用户用户I/O软件软件设备无关软件设备无关软件I/O请求请求I/O响应响应提供系统库提供系统库调用,供人调用,供人员使用;
26、提员使用;提供类似供类似Spooling这样的精灵这样的精灵守护进程管守护进程管理共享设备理共享设备命名、保护、命名、保护、阻塞、缓冲阻塞、缓冲建立设备建立设备寄存器、寄存器、解决错误解决错误处理中处理中断信号断信号操作系操作系统统原理原理39数据传输控制方式数据传输控制方式v程序直接控制方式程序直接控制方式v中断控制方式中断控制方式vDMA控制方式控制方式v通道方式通道方式操作系操作系统统原理原理程序直接控制方式程序直接控制方式vProgrammedDirectControlvCPU直接与直接与I/O设备进行通信,负责将用户数设备进行通信,负责将用户数据传送到据传送到I/O端口端口v用户程序
27、通过系统调用来使用用户程序通过系统调用来使用I/O设备设备vCPU需要不断查询需要不断查询I/O设备的端口状态,性能设备的端口状态,性能较低较低40操作系操作系统统原理原理外围设备接收到start命令做接收或发送数据准备准备完毕?标志触发器置done是否CPU发start命令设备标志触发器为done否是等待执行下条指令开始数据传送等待CPU来的下一条指令操作系操作系统统原理原理程序直接控制方式特点程序直接控制方式特点v优点:优点:简单、不需要硬件支持简单、不需要硬件支持v缺点:缺点:CPU和外围设备只能串行工作,和外围设备只能串行工作,CPU利用率低利用率低在一段时间内在一段时间内CPU只能和
28、一台外围设备交换数据信息,只能和一台外围设备交换数据信息,不能实现设备之间的并行工作不能实现设备之间的并行工作依靠测试设备标志触发器的状态位控制数据传输,无法发依靠测试设备标志触发器的状态位控制数据传输,无法发现处理其它错误现处理其它错误只适用于速度慢、设备少的系统只适用于速度慢、设备少的系统42操作系操作系统统原理原理中断控制方式中断控制方式v为了减少程序直接控制方式中为了减少程序直接控制方式中CPU等待时间及提高等待时间及提高系统的并行工作程度。系统的并行工作程度。vCPU设定设定I/O设备的初始值,然后不再忙等待,运设备的初始值,然后不再忙等待,运行其他进程,当前进程阻塞行其他进程,当前
29、进程阻塞vI/O设备完成对当前数据的处理后,向设备完成对当前数据的处理后,向CPU发出中发出中断,断,I/O中断处理程序将负责传送剩余数据中断处理程序将负责传送剩余数据43操作系操作系统统原理原理44设备收到CPU发来的start命令准备数据并将其放入缓冲寄存器缓冲寄存器满吗?控制器发中断信号是否CPU向设备发start命令中断允许位置1调度程序调度其它进程收到中断信号了吗?否其它进程执行是中断处理中断处理程序操作系操作系统统原理原理v需要需要CPU和设备控制器之间有相应的中断请求线,和设备控制器之间有相应的中断请求线,而且在设备控制器的控制状态寄存器中有相应的中而且在设备控制器的控制状态寄存
30、器中有相应的中断允许位断允许位v从数据寄存器到内存的传送是在从数据寄存器到内存的传送是在CPU的控制下完成的控制下完成的的v切换的进程可以做到设备间的并行操作和设备切换的进程可以做到设备间的并行操作和设备CPU间的并行操作,间的并行操作,CPU的利用率大于程序控制方的利用率大于程序控制方式式v数据缓冲寄存器满时发出中断,而缓冲寄存器一般数据缓冲寄存器满时发出中断,而缓冲寄存器一般比较小,中断频繁消耗了大量比较小,中断频繁消耗了大量CPU时间时间45中断控制方式特点中断控制方式特点操作系操作系统统原理原理DMA控制方式控制方式v使用独立的使用独立的DMA控制器代替控制器代替CPU的工作,的工作,
31、I/O设备与设备与DMA通信,通信,DMA在传输完成一个在传输完成一个数据缓冲区之后再向数据缓冲区之后再向CPU发中断发中断vDMA模式减少了中断次数,同时又集成了程模式减少了中断次数,同时又集成了程序控制和中断控制的优点序控制和中断控制的优点操作系操作系统统原理原理操作系操作系统统原理原理DMA控制方式控制方式特点特点v需要内存地址寄存器和传送字节记数器需要内存地址寄存器和传送字节记数器v在所要求传送的数据块全部传送结束时要求在所要求传送的数据块全部传送结束时要求CPU进行中断处理,减少了进行中断处理,减少了CPU进行中断处进行中断处理的次数理的次数v从数据寄存器到内存的传送是在从数据寄存器
32、到内存的传送是在DMA控制器控制器的控制下完成的,但是对设备的某些操作仍的控制下完成的,但是对设备的某些操作仍然由然由CPU控制控制操作系操作系统统原理原理通道方式通道方式vDMA机制过于简单,有时未必能够提高与机制过于简单,有时未必能够提高与CPU并行效率并行效率v为此专门增加了为此专门增加了I/O处理机,专门负责处理机,专门负责I/O设设备的控制和操作,与备的控制和操作,与CPU并行工作并行工作操作系操作系统统原理原理50设备通道控制器收到start指令通道控制器执行通道命令启动设备准备数据是否CPU向设备发start命令指明I/O操作、通道号、设备号当前进程等待调度程序调度其它进程收到中
33、断信号了吗?否其它进程执行是中断处理中断处理程序根据通道指令要求,数据从缓冲寄存器内容入内存通道指令结束否?发中断信号停止I/O操作操作系操作系统统原理原理通道方式通道方式特点特点v数据的传送方向、存放目的地、传输数据长数据的传送方向、存放目的地、传输数据长度由通道控制,减轻了度由通道控制,减轻了CPU的负担的负担v一个通道可以控制多台外部设备,提高了系一个通道可以控制多台外部设备,提高了系统的并行工作能力统的并行工作能力vI/O控制器里没有传送字节计数器和内存地址控制器里没有传送字节计数器和内存地址计数器,但是系统增加了通道设备控制器和计数器,但是系统增加了通道设备控制器和指令执行机构指令执
34、行机构v内存中必须有相应的通道程序内存中必须有相应的通道程序操作系操作系统统原理原理中断中断v什么是中断?什么是中断?在计算机执行期间,系统内发生任何非寻常的或在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得非预期的急需处理事件,使得CPU暂时中断当前暂时中断当前正在执行的程序转去执行相应的事件处理程序,正在执行的程序转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程度新的进程执行的过程操作系操作系统统原理原理引入的中断目的引入的中断目的v为了开发为了开发CPU和通道和通道(或设备或设备)之间
35、的之间的并行并行操作,当操作,当CPU启动通道启动通道(或设备或设备)进行输入进行输入/输出后,通道便输出后,通道便(或设备或设备)可以独立工作了,可以独立工作了,CPU也可以转去做与此也可以转去做与此次输入次输入/输出不相关的事情,那么通道输出不相关的事情,那么通道(或设备或设备)输入输入/输出完成后,还必须告诉输出完成后,还必须告诉CPU继续输入继续输入/输出以后输出以后的事情,通道的事情,通道(或设备或设备)通过向通过向CPU发中断告诉发中断告诉CPU此次输入此次输入/输出结束输出结束操作系操作系统统原理原理中断特点中断特点v中断是随机的中断是随机的v中断是可恢复的中断是可恢复的v中断是
36、自动处理的中断是自动处理的操作系操作系统统原理原理中断相关概念中断相关概念v中断源:中断源:引起中断发生的事件引起中断发生的事件v中断请求:中断请求:中断源向中断源向CPU发出的请求中断处理信号发出的请求中断处理信号v中断响应:中断响应:而而CPU收到中断请求后转去响应的事件处理程序收到中断请求后转去响应的事件处理程序v中断寄存器:中断寄存器:记录中断记录中断v中断字:中断字:中断寄存器的内容中断寄存器的内容v关中断关中断-禁止中断:禁止中断:处理机状态字(处理机状态字(PSW)的中断允许位被)的中断允许位被清除清除v开中断:开中断:处理机状态字(处理机状态字(PSW)的中断允许位被置位)的中
37、断允许位被置位v中断屏蔽:中断屏蔽:用软件的方法有选择地封锁部分中断用软件的方法有选择地封锁部分中断操作系操作系统统原理原理中断的分类中断的分类根据中断产生的条件,中断分根据中断产生的条件,中断分内中断内中断和和外中断外中断v内中断:来自处理机和内存内部的中断内中断:来自处理机和内存内部的中断一般称为陷入或者异常一般称为陷入或者异常系统调用、缺页异常、断点指令、其他程序性异系统调用、缺页异常、断点指令、其他程序性异常常(如算术溢出等如算术溢出等)、分时系统时间片到、非法指、分时系统时间片到、非法指令、目态到管态的切换等令、目态到管态的切换等v外中断:来自处理机和内存外部的中断外中断:来自处理机
38、和内存外部的中断狭义上一般被称为中断狭义上一般被称为中断定时器引起时钟中断、调试断点、定时器引起时钟中断、调试断点、I/O中断中断操作系操作系统统原理原理中断(狭义)和陷入的区别中断(狭义)和陷入的区别v陷入陷入通常由处理机正在执行的指令引起,通常由处理机正在执行的指令引起,中中断断是和现行指令无关的中断源引起是和现行指令无关的中断源引起v陷入陷入处理程序提供的服务是为当前进程服务,处理程序提供的服务是为当前进程服务,中断中断是为了系统服务是为了系统服务v中断中断的响应在两个指令之间,(通常)的响应在两个指令之间,(通常)陷入陷入的响应在一条指令内部的响应在一条指令内部v中断中断在系统上下文中
39、,在系统上下文中,陷入陷入在进程上下文中在进程上下文中(某些操作系统)(某些操作系统)操作系操作系统统原理原理中断的优先级和中断屏蔽中断的优先级和中断屏蔽v中断优先级设计原则中断优先级设计原则:一般来说,高速设备的中断:一般来说,高速设备的中断优先级高,慢速设备的中断优先级低。因为高速设优先级高,慢速设备的中断优先级低。因为高速设备的中断被处理机优先响应时,可以让处理机尽快备的中断被处理机优先响应时,可以让处理机尽快地向它发出下一个地向它发出下一个I/O请求,提高高速设备的利用率请求,提高高速设备的利用率如如PDP-11机上的机上的UNIX系统把中断级别分为:系统把中断级别分为:时钟中断时钟中
40、断中断优先级中断优先级6级级磁盘中断磁盘中断中断优先级中断优先级5级级终端等其他外设中断终端等其他外设中断中断优先级中断优先级4级级操作系操作系统统原理原理中断的优先级和中断屏蔽(中断的优先级和中断屏蔽(2)v处理机优先级处理机优先级:指出处理机正运行程序的中断响应:指出处理机正运行程序的中断响应级别。即当处理机处于某一优先级时,只允许处理级别。即当处理机处于某一优先级时,只允许处理机去响应比该优先级高的中断,而屏蔽低于或等于机去响应比该优先级高的中断,而屏蔽低于或等于该优先级的中断。可以通过置处理机优先级来通知该优先级的中断。可以通过置处理机优先级来通知硬件:屏蔽优先级小于等于处理机优先级的
41、中断硬件:屏蔽优先级小于等于处理机优先级的中断v中断屏蔽:指禁止处理机响应中断或禁止中断出现中断屏蔽:指禁止处理机响应中断或禁止中断出现中断屏蔽有两种方法:中断屏蔽有两种方法:硬件实现硬件实现由软件置处理机优先级,硬件按系统设计时由软件置处理机优先级,硬件按系统设计时的约定,屏蔽那些低优先级中断的约定,屏蔽那些低优先级中断软件实现软件实现由软件按操作系统优先级约定由软件按操作系统优先级约定,设置屏蔽寄设置屏蔽寄存器存器操作系操作系统统原理原理软中断和硬中断软中断和硬中断v中断和陷入中断和陷入-硬中断硬中断v软中断:通信进程间模拟中断的信号通信方软中断:通信进程间模拟中断的信号通信方式(式(si
42、gnal(),kill()系统调用)系统调用)v二者区别二者区别硬中断:即时响应硬中断:即时响应软中断:进程得到处理机时响应软中断:进程得到处理机时响应操作系操作系统统原理原理中断处理过程中断处理过程操作系操作系统统原理原理设备驱动程序设备驱动程序v负责设置和相应设备有关的寄存器的值,启动设备进行负责设置和相应设备有关的寄存器的值,启动设备进行I/O操作,指定操作的类型和数据流向等操作,指定操作的类型和数据流向等v为了控制为了控制I/O传输,系统为每类设备编制设备驱动程序传输,系统为每类设备编制设备驱动程序v任务:主要负责接收和分析从设备分配转来的信息,并根据任务:主要负责接收和分析从设备分配
43、转来的信息,并根据设备分配的结构,结合具体物理设备特性完成具体工作设备分配的结构,结合具体物理设备特性完成具体工作驱动物理设备、DMA控制器等的I/O操作的子程序的集合+中断处理子程序的集合操作系操作系统统原理原理设备驱动程序的特点设备驱动程序的特点v用来控制设备控制器的代码和指令的集合用来控制设备控制器的代码和指令的集合v目前的体系结构中,设备驱动程序属于操作系统的目前的体系结构中,设备驱动程序属于操作系统的内核部分内核部分v操作系统实现过程中,需要提供标准化的接口函数,操作系统实现过程中,需要提供标准化的接口函数,用于封装设备驱动程序用于封装设备驱动程序v设备驱动的存在形式:与操作系统统一
44、编译,或者设备驱动的存在形式:与操作系统统一编译,或者运行时动态链接运行时动态链接操作系操作系统统原理原理设备驱动程序的统一接口设备驱动程序的统一接口I/O软软件管理件管理操作系操作系统统原理原理设备驱动程序的工作过程设备驱动程序的工作过程v接受上层用户发送的各类参数,并对输入参接受上层用户发送的各类参数,并对输入参数进行检查数进行检查v对硬件设备的可用性进行检查,并接通或者对硬件设备的可用性进行检查,并接通或者启动设备启动设备v控制设备完成对应的操作(通过设置接口寄控制设备完成对应的操作(通过设置接口寄存器实现)存器实现)v实现数据的实现数据的I/O,同时返回操作的状态结果。,同时返回操作的
45、状态结果。操作系操作系统统原理原理设备开关表设备开关表(DeviceSwitchTable)v二维表,表内元素是驱动程序,行和列表示设备类二维表,表内元素是驱动程序,行和列表示设备类型和驱动程序类型型和驱动程序类型vI/O控制过程从这里查找调用所需的驱动程序进行控制过程从这里查找调用所需的驱动程序进行I/O操作操作Read()Write()驱动程驱动程序类型序类型不同设备类型不同设备类型操作系操作系统统原理原理输入输入/输出系统的流程输出系统的流程67用户进程用户进程文件系统文件系统设备驱动程序设备驱动程序设备控制器设备控制器设备本身设备本身大部分大部分大部分大部分I/OI/O控制过程控制过程
46、控制过程控制过程操作系操作系统统原理原理设备独立性设备独立性v设备独立性又叫设备无关性,应用程序独立于具体使用的物设备独立性又叫设备无关性,应用程序独立于具体使用的物理设备理设备v用户用户使用逻辑设备名称来请求使用某类设备,不和具体物理使用逻辑设备名称来请求使用某类设备,不和具体物理设备打交道;设备打交道;而系统而系统在实际执行时,还必须使用物理设备名在实际执行时,还必须使用物理设备名称。称。v从程序设计的角度看,从程序设计的角度看,各种设备体现的接口都一样;对不同各种设备体现的接口都一样;对不同设备的操作,也只要指定设备的逻辑名字,而他们的物理特设备的操作,也只要指定设备的逻辑名字,而他们的
47、物理特性由操作系统来处理性由操作系统来处理v操作系统操作系统对所有的设备和设备操作采取统一方式管理。一般对所有的设备和设备操作采取统一方式管理。一般采用层次和模块化思想来实现设备管理系统采用层次和模块化思想来实现设备管理系统68操作系操作系统统原理原理设备独立性(设备独立性(2)v设备独立性的实现设备独立性的实现:系统有专门从逻辑设备到物理设备的:系统有专门从逻辑设备到物理设备的转转换机制换机制,类似于存储器管理中所介绍的逻辑地址和物理地址,类似于存储器管理中所介绍的逻辑地址和物理地址的概念的概念v设备独立性,即不能因为设备的忙碌、故障或更换而影响程设备独立性,即不能因为设备的忙碌、故障或更换
48、而影响程序的运行,向用户屏蔽物理设备,呈现给用户的一个操作简序的运行,向用户屏蔽物理设备,呈现给用户的一个操作简单的逻辑设备单的逻辑设备69操作系操作系统统原理原理与设备无关的与设备无关的I/O软件软件v向用户层(或文件层)软件提供统一接口向用户层(或文件层)软件提供统一接口无论何种设备,它们向用户所提供的接口应该是相同的。例如,对各无论何种设备,它们向用户所提供的接口应该是相同的。例如,对各种设备的读操作,在应用程序中都使用种设备的读操作,在应用程序中都使用read;而对各种设备的写操作,;而对各种设备的写操作,也都使用也都使用writev执行所有设备的共有操作执行所有设备的共有操作对独立设
49、备的分配和回收;对独立设备的分配和回收;将逻辑设备名映射为无物理设备名,找到相应物理设备的驱动程序;将逻辑设备名映射为无物理设备名,找到相应物理设备的驱动程序;对设备进行保护,禁止用户直接访问设备;对设备进行保护,禁止用户直接访问设备;缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高I/O的效率;的效率;差错控制。差错控制。70操作系操作系统统原理原理用户层的输入输出软件用户层的输入输出软件v绝大部分的输入绝大部分的输入/输出软件是操作系统的(设备文件、输出软件是操作系统的(设备文件、文件系统控制)文件系统控制)v用户层的
50、用户层的I/O软件主要指软件主要指2种:种:用于I/O操作的库例程(read,write等)例:用户程序中的系统调用:count=read(fd,buffer,nbytes)程序运行期间,库例程read将与该程序连接在一起形成一个可执行文件。Spooling系统操作系操作系统统原理原理Spooling技术技术vSPOOLing技术是在批处理操作系统时代引入的,技术是在批处理操作系统时代引入的,即所谓假脱机输入即所谓假脱机输入/输出技术。把这种技术用于对设输出技术。把这种技术用于对设备的使用实质就是对输入备的使用实质就是对输入/输出操作成批处理。输出操作成批处理。v例如:所有输出数据已经写到文件