




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章设备管理第七章设备管理n概述概述nI/O软件的组成软件的组成nI/O硬件特点硬件特点n有关技术有关技术n设备处理设备处理n典型外部设备典型外部设备天马行空官方博客:http:/ ;QQ:1318241189;QQ群:175569632一、概述一、概述1、I/O的特点的特点(1 1)I/OI/O性能经常成为系统性能的瓶颈性能经常成为系统性能的瓶颈nCPUCPU性能不等于系统性能性能不等于系统性能 响应时间也是一个重要因素响应时间也是一个重要因素nCPUCPU性能越高,与性能越高,与I/OI/O差距越大差距越大 弥补:更多的进程弥补:更多的进程n进程切换多,系统开销大进程切换多,系统开销大(
2、2 2)操作系统庞大复杂的原因之一是:资源)操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自多、杂,并发,均来自I/OI/O 外设种类繁多,结构各异外设种类繁多,结构各异 输入输出数据信号类型不同输入输出数据信号类型不同 速度差异很大速度差异很大(3 3)理解)理解I/OI/O的工作过程与结构是理解操作系的工作过程与结构是理解操作系统的工作过程与结构的关键统的工作过程与结构的关键 I/OI/O技术很实用技术很实用(4 4)与其他功能联系密切,特别是文件系统)与其他功能联系密切,特别是文件系统1、I/O的特点的特点(1 1)按使用特性分)按使用特性分 存储型设备存储型设备 输入型设备(输入
3、型设备(外设外设主机主机) 输出型设备(主机输出型设备(主机外设)外设) 输入输出型设备(交互型设备)输入输出型设备(交互型设备)2、设备的分类、设备的分类(2 2)按数据组织分)按数据组织分 块设备块设备 以数据块为单位存储、传输信息以数据块为单位存储、传输信息 字符设备字符设备 以字符为单位存储、传输信息以字符为单位存储、传输信息(3 3)按外部设备的从属关系分)按外部设备的从属关系分 系统设备系统设备 指操作系统生成时,登记在系统中的标指操作系统生成时,登记在系统中的标准设备准设备 (如终端、打印机、磁盘机等)(如终端、打印机、磁盘机等) 用户设备用户设备 指在系统生成时,未登记在系统中
4、的非指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户提供,并将其纳入系统,由系统代替用户实施管理。户实施管理。 (如(如A/DA/D,D/AD/A转换器,转换器,CADCAD所用专用设备)所用专用设备)(4 4)按资源分配角度分)按资源分配角度分 独占设备独占设备 在一段时间内只能有一个进程使用的设备,一在一段时间内只能有一个进程使用的设备,一般为低速般为低速I/OI/O设备(如打印机,磁带等)设备(如打印机,磁带等) 共享设备共享设备 在一段时间内可有多个进程共同使用的设备,在一段时间内可有多个进
5、程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利多个进程以交叉的方式来使用设备,其资源利用率高(如硬盘)用率高(如硬盘)虚设备虚设备在一类设备上模拟另一类设备,常用共享在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备速设备,被模拟的设备称为虚设备 目的:将慢速的独占设备改造成多个用户可共目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率享的设备,提高设备的利用率(实例:(实例:SPOOLingSPOOLing技术,利用虚设备技术技术,利用虚设备技术 用硬盘模拟输入输出设备)用硬盘模拟
6、输入输出设备)SPOOLingSPOOLing技术技术 为解决独立设备数量少,速度慢,不能为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种备期间,设备利用率比较低而提出的一种设备管理技术设备管理技术(5 5)从程序使用角度分)从程序使用角度分 逻辑设备、物理设备逻辑设备、物理设备(6 6)按数据传输率分)按数据传输率分 高速设备、低速设备高速设备、低速设备(7 7)按接口分)按接口分 与用户交流:显示器,键盘,鼠标,打与用户交流:显示器,键盘,鼠标,打印机等印机等 与电子设备交流:磁盘、磁带等与电子设
7、备交流:磁盘、磁带等 通信:与远程设备通信:调制解调器通信:与远程设备通信:调制解调器各类设备的差别:各类设备的差别: 数据传输率数据传输率 应用应用 控制的复杂性控制的复杂性 传输单位传输单位 数据表示数据表示 出错条件出错条件(1 1)按照用户的请求,控制设备的各种操)按照用户的请求,控制设备的各种操作,完成作,完成I/OI/O设备与内存之间的数据交换设备与内存之间的数据交换(包括设备分配与回收;设备驱动程序;(包括设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理),最终完设备中断处理;缓冲区管理),最终完成用户的成用户的I/OI/O请求请求3.3.设备管理的目标和任务设备管理的目标
8、和任务n设备分配与回收设备分配与回收 记录设备的状态记录设备的状态 根据用户的请求和设备的类型,采用一定根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路的分配算法,选择一条数据通路 n建立统一的独立于设备的接口建立统一的独立于设备的接口n完成设备驱动程序,实现真正的完成设备驱动程序,实现真正的I/OI/O操作操作n处理外部设备的中断处理处理外部设备的中断处理n管理管理I/OI/O缓冲区缓冲区功能功能(2 2)向用户提供使用外部设备的方便)向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担接口,使用户摆脱繁琐的编程负担n 方便性方便性n 友好界面友好界面n 透明性透明性
9、逻辑设备与物理设备、屏蔽硬件细节逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同(设备的物理细节,错误处理,不同I/OI/O的差异性)的差异性)(3)充分利用各种技术(通道,中断,缓)充分利用各种技术(通道,中断,缓冲等)提高冲等)提高CPU与设备、设备与设备之与设备、设备与设备之间的并行工作能力,充分利用资源,提间的并行工作能力,充分利用资源,提高资源利用率高资源利用率n 并行性并行性n 均衡性(使设备充分忙碌)均衡性(使设备充分忙碌)(4)保证在多道程序环境下,当多个)保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略进程竞争使用设备时,按一定策略分配和管理各种设备
10、,使系统能有分配和管理各种设备,使系统能有条不紊的工作条不紊的工作(5)保护)保护 设备传送或管理的数据应该是安全的、设备传送或管理的数据应该是安全的、不被破坏的、保密的不被破坏的、保密的(6)与设备无关性(设备独立性)与设备无关性(设备独立性) 用户在编制程序时,使用逻辑设备名,由用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际系统实现从逻辑设备到物理设备(实际设备)的转换设备)的转换 用户能独立于具体物理设备而方便的使用用户能独立于具体物理设备而方便的使用设备设备 用户申请使用设备时,只需要指定设备类用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统
11、根型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程并将其分配给一个申请进程统一性:统一性: 对不同的设备采取统一的操作方式,在对不同的设备采取统一的操作方式,在用户程序中使用的是逻辑设备用户程序中使用的是逻辑设备优点:优点: n设备忙碌或设备故障时,用户不必修改设备忙碌或设备故障时,用户不必修改程序程序n改善了系统的可适应性和可扩展性改善了系统的可适应性和可扩展性 IO软件的基本思想是按分层的思想构成,软件的基本思想是按分层的思想构成,较低层软件要使
12、较高层软件独立于硬件较低层软件要使较高层软件独立于硬件的特性,较高层软件则要向用户提供一的特性,较高层软件则要向用户提供一个友好的、清晰的、简单的、功能更强个友好的、清晰的、简单的、功能更强的接口的接口二、二、I/OI/O软件的组成软件的组成 在设计在设计I IO O软件时的一个关键概念是设备软件时的一个关键概念是设备独立性。用户在编写使用软盘或硬盘上独立性。用户在编写使用软盘或硬盘上文件的程序时,无需为不同的设备类型文件的程序时,无需为不同的设备类型而修改程序就可以使用而修改程序就可以使用 与设备独立性密切相关的是统一命名这与设备独立性密切相关的是统一命名这一目标。一个文件或一个设备的名字只
13、一目标。一个文件或一个设备的名字只应是一个简单的字符串或一个整数,不应是一个简单的字符串或一个整数,不应依赖于设备应依赖于设备1. I1. IO O软件的目标软件的目标 出错处理是出错处理是I IO O软件的另一个目标。一般来软件的另一个目标。一般来说,数据传输中的错误应尽可能地在接近硬说,数据传输中的错误应尽可能地在接近硬件层上处理件层上处理 最后一个问题是可共享设备和独占设备的处最后一个问题是可共享设备和独占设备的处理问题理问题2.2.中断处理程序中断处理程序 每个进程在启动一个每个进程在启动一个I IO O操作后阻塞操作后阻塞 直到直到I IO O操作完成并产生一个中断操作完成并产生一个
14、中断 由操作系统接管由操作系统接管CPUCPU后唤醒该进程为止后唤醒该进程为止3.3.设备驱动程序设备驱动程序 与设备密切相关的代码放在设备驱动程序中,与设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型每个设备驱动程序处理一种设备类型 每一个控制器都设有一个或多个设备寄存器,每一个控制器都设有一个或多个设备寄存器,用来存放向设备发送的命令和参数。设备驱用来存放向设备发送的命令和参数。设备驱动程序负责释放这些命令,并监督它们正确动程序负责释放这些命令,并监督它们正确执行执行 一般,设备驱动程序的任务是接收来自与设一般,设备驱动程序的任务是接收来自与设备无关的上层软件的抽象请
15、求,并执行这个备无关的上层软件的抽象请求,并执行这个请求请求 在设备驱动程序的进程释放一条或多条命令在设备驱动程序的进程释放一条或多条命令后,系统有两种处理方式,多数情况下,执后,系统有两种处理方式,多数情况下,执行设备驱动程序的进程必须等待命令完成,行设备驱动程序的进程必须等待命令完成,这样,在命令开始执行后,它阻塞自已,直这样,在命令开始执行后,它阻塞自已,直到中断处理时将它解除阻塞为止。而在其它到中断处理时将它解除阻塞为止。而在其它情况下,命令执行不必延迟就很快完成情况下,命令执行不必延迟就很快完成 4.4.设备独立的软件设备独立的软件 虽然虽然I IO O软件中一部分是设备专用的,但大
16、软件中一部分是设备专用的,但大部分软件是与设备无关的。设备驱动程序与部分软件是与设备无关的。设备驱动程序与设备独立软件之间的确切界限是依赖于具体设备独立软件之间的确切界限是依赖于具体系统的系统的 1. 1.独立于设备的软件的基本任务是实现所有独立于设备的软件的基本任务是实现所有设备都需要的功能,并且向用户级软件提供设备都需要的功能,并且向用户级软件提供一个统一的接口一个统一的接口 2.2.如何给文件和设备这样的对象命名是操作如何给文件和设备这样的对象命名是操作系统中的一个主要课题。独立于设备的软件系统中的一个主要课题。独立于设备的软件负责把设备的符号名映射到正确的设备驱动负责把设备的符号名映射
17、到正确的设备驱动上上 3.3.设备保护设备保护 系统如何防止无权存取设备的用户存取设备系统如何防止无权存取设备的用户存取设备呢?呢? 4. 4.不同的磁盘可以采用不同的扇区尺寸。向不同的磁盘可以采用不同的扇区尺寸。向较高层软件掩盖这一事实并提供大小统一的较高层软件掩盖这一事实并提供大小统一的块尺寸,这正是设备独立软件的一个任务。块尺寸,这正是设备独立软件的一个任务。它可将若干扇区合成一个逻辑块。这样,较它可将若干扇区合成一个逻辑块。这样,较高层的软件只与抽象设备打交道,独立于物高层的软件只与抽象设备打交道,独立于物理扇区的尺寸而使用等长的逻辑块理扇区的尺寸而使用等长的逻辑块 5.5.缓冲技术缓
18、冲技术 6.6.设备分配设备分配 7.7.出错处理出错处理 5.5.用户空间的用户空间的I IO O软件软件 尽管大部分尽管大部分I IO O软件都包含在操作系统中,软件都包含在操作系统中,但仍有一小部分是由与用户程序连接在一起但仍有一小部分是由与用户程序连接在一起的库过程,甚至完全由运行于核外的程序构的库过程,甚至完全由运行于核外的程序构成。系统调用,包括成。系统调用,包括I IO O系统调用,通常由系统调用,通常由库过程实现库过程实现 这些过程所做的工作只是将系统调用时所用这些过程所做的工作只是将系统调用时所用的参数放在合适的位置,由其它的的参数放在合适的位置,由其它的I IO O过程过程
19、实际实现真正的操作实际实现真正的操作(1 1)用户进程层执行输入输出系统调用,对)用户进程层执行输入输出系统调用,对I IO O数据进行格式化,为假脱机输入输出数据进行格式化,为假脱机输入输出作准备作准备(2 2)独立于设备的软件实现设备的命名、设)独立于设备的软件实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配备的保护、成块处理、缓冲技术和设备分配(3 3)设备驱动程序设置设备寄存器、检查设)设备驱动程序设置设备寄存器、检查设备的执行状态备的执行状态(4 4)中断处理程序负责)中断处理程序负责I IO O完成时,唤醒设完成时,唤醒设备驱动程序进程,进行中断处理备驱动程序进程,进行中断
20、处理(5 5)硬件层实现物理)硬件层实现物理I IO O的操作的操作1.1.设备组成设备组成 I IO O设备一般由机械和电子两部分组成设备一般由机械和电子两部分组成 把这两部分分开处理,以提供更加模块化,把这两部分分开处理,以提供更加模块化,更加通用的设计更加通用的设计三、三、I/OI/O硬件特点硬件特点 (1 1)物理设备)物理设备 机械部分是设备本身(物理装置)机械部分是设备本身(物理装置)(2 2)设备控制器)设备控制器 电子部分叫做设备控制器或适配器。电子部分叫做设备控制器或适配器。 在小型和微型机中,它常采用印刷电路卡在小型和微型机中,它常采用印刷电路卡插入计算机中(接口)插入计算
21、机中(接口) 完成设备与主机间的连接和通讯完成设备与主机间的连接和通讯 控制器卡上通常有一个插座,通过电缆与设控制器卡上通常有一个插座,通过电缆与设备相连备相连 控制器和设备之间的接口是一个标准接口,控制器和设备之间的接口是一个标准接口,它符合它符合ANSIANSI、IEEEIEEE或或ISOISO这样的国际标准这样的国际标准CPU外部设备控控制制逻逻辑辑电电路路控制寄存器控制寄存器状态寄存器状态寄存器数据寄存器数据寄存器I/OI/O设备特点:设备特点:(1 1)操作异步性)操作异步性(2 2)设备自治性)设备自治性(3 3)接口通用性)接口通用性 关注点:对该硬件如何进行程序设计,不考虑设备
22、关注点:对该硬件如何进行程序设计,不考虑设备内部如何工作内部如何工作 程序员:软件接口程序员:软件接口 即硬件所接受的命令,它所完成的功能,报回的错即硬件所接受的命令,它所完成的功能,报回的错误误2.2.设备接口设备接口 一个一个I/OI/O过程由四步组成:过程由四步组成: 准备准备 启动启动 测试和等待测试和等待 结果检查和错误处理结果检查和错误处理 通过对设备接口寄存器组的读写完成通过对设备接口寄存器组的读写完成 设备接口复杂繁琐设备接口复杂繁琐 操作系统将命令写入控制器寄存器中,以实操作系统将命令写入控制器寄存器中,以实现输入输出现输入输出 例如:例如:IBM PCIBM PC的软盘控制
23、器可接收的软盘控制器可接收1515条命令,条命令,READREAD、WRITEWRITE、FORMATFORMAT、SEEKSEEK、RECALIBRATERECALIBRATE,命令可以带参数。它们被一起送入控制器的命令可以带参数。它们被一起送入控制器的寄存器中寄存器中 当控制器接受一条命令后,可独立于当控制器接受一条命令后,可独立于CPUCPU完成完成指定操作,指定操作,CPUCPU可以转去执行其它运算。命可以转去执行其它运算。命令完成时,控制器产生一个中断,令完成时,控制器产生一个中断,CPUCPU响应响应中断,控制转给操作系统。中断,控制转给操作系统。CPUCPU通过读控制通过读控制器
24、寄存器中的信息,获得操作结果和设备状器寄存器中的信息,获得操作结果和设备状态态 控制器与设备之间的接口常常是一个低级控制器与设备之间的接口常常是一个低级接口。例如磁盘,可以按每个磁道接口。例如磁盘,可以按每个磁道8 8扇区,扇区,每个扇区每个扇区512512个字节进行格式化。然而,个字节进行格式化。然而,实际从驱动器出来的却是一连串的位流,实际从驱动器出来的却是一连串的位流,以一个头标(以一个头标(preamblepreamble)开始,然后是一)开始,然后是一个扇区的个扇区的40964096位(位(5125128 8),最后是检查),最后是检查和或错误校验码(和或错误校验码(ErrorCEr
25、rorC一一C C:ECCECC)。)。头标是在对磁盘格式化时写上的,它包括头标是在对磁盘格式化时写上的,它包括柱面和扇区数,扇区的大小和类似的一些柱面和扇区数,扇区的大小和类似的一些数据数据 控制器的任务是把串行的位流转换为字节控制器的任务是把串行的位流转换为字节块,并进行必要的错误修正。首先,控块,并进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节为单位的块。部的缓冲区中形成以字节为单位的块。在对块验证检查和并证明无错误时,再在对块验证检查和并证明无错误时,再将它复制到主存中将它复制到主存中3.3.设备连接模式设备连接模
26、式 指指I/OI/O设备与设备与CPUCPU之间的连接方式,亦即将设之间的连接方式,亦即将设备连接到一个计算机系统上的方式备连接到一个计算机系统上的方式 在一个确定的连接模式下,从在一个确定的连接模式下,从I/OI/O设备到设备到CPUCPU间的所有连接成分构成了一条间的所有连接成分构成了一条I/OI/O路径(路径(I/OI/O链)链)设备与主机间最基本的连接方式设备与主机间最基本的连接方式 四个要素:四个要素: 设备接口形式设备接口形式 I/OI/O指令形式指令形式 I/OI/O地址空间分配及译码地址空间分配及译码 连线问题连线问题(1)(1)设备接口形式设备接口形式 * * 端口地址译码端
27、口地址译码 * * 按照主机与设备的约定格式和过程接受或按照主机与设备的约定格式和过程接受或发送数据和信号发送数据和信号 计算机计算机 设备设备 设备设备 计算机计算机 * * 将计算机的数字信号转换为机械部分能识将计算机的数字信号转换为机械部分能识别的模拟信号,或反过来别的模拟信号,或反过来 * * 实现一些诸如设备内部硬件缓冲存储、数实现一些诸如设备内部硬件缓冲存储、数据加工的提高性能或增强功能的任务据加工的提高性能或增强功能的任务(2)(2)端口编址方法端口编址方法 接口电路中:多个寄存器接口电路中:多个寄存器 一个寄存器有唯一的一个地址,每个地一个寄存器有唯一的一个地址,每个地址为址为
28、I/OI/O端口,该地址称为端口,该地址称为I/OI/O端口地址。端口地址。 I/OI/O指令形式与指令形式与I/OI/O地址是相互关联的,地址是相互关联的,主要有两种形式:主要有两种形式: 内存映像编址(内存映像内存映像编址(内存映像I/OI/O模式)模式) I/OI/O独立编址(独立编址(I/OI/O专用指令)专用指令)I/O独立编址独立编址n分配给系统中所有端口的地址空间是完全独立的,分配给系统中所有端口的地址空间是完全独立的,与内存的地址空间没有关系与内存的地址空间没有关系n主机使用专门的主机使用专门的I/O指令对端口进行操作指令对端口进行操作n优点优点n外部设备不占用内存的地址空间外
29、部设备不占用内存的地址空间n程序设计时,易于区分是对内存操作还是对程序设计时,易于区分是对内存操作还是对I/O端口操作端口操作n缺点:缺点:对对I/O端口操作的指令类型少,操作不灵活端口操作的指令类型少,操作不灵活n例子:例子:8086/8088,分配给,分配给I/O端口的地址空间端口的地址空间64K,0000H0FFFFH,只能用,只能用IN和和OUT指令对其进行指令对其进行读写操作读写操作存储映像编址存储映像编址n分配给系统中所有端口的地址空间与内存的地分配给系统中所有端口的地址空间与内存的地址空间统一编址址空间统一编址n主机把主机把I/O端口看作一个存储单元,对端口看作一个存储单元,对I
30、/O的读的读写操作等同于对存储器的操作写操作等同于对存储器的操作n优点优点n凡是可对存储器操作的指令都可对凡是可对存储器操作的指令都可对I/O端口端口操作操作n不需要专门的不需要专门的I/O指令指令nI/O端口可占有较大的地址空间端口可占有较大的地址空间n缺点:占用内存空间缺点:占用内存空间 设备完成技术:系统如何知道设备的一次设备完成技术:系统如何知道设备的一次I/OI/O操作是否完成?操作是否完成? 对对CPUCPU编程的编程的I/OI/O技术:技术:CPUCPU必须亲自完成必须亲自完成I/OI/O的启动与完成的处理,亲自执行所有的启动与完成的处理,亲自执行所有数据在内存和设备之间的实际物
31、理传送数据在内存和设备之间的实际物理传送4.4.要考虑的几个问题要考虑的几个问题 一次一次I/O I/O 传送过程:传送过程: 准备准备传送传送后处理后处理例:一个打印机有两个例:一个打印机有两个I/OI/O设备寄存器设备寄存器 状态寄存器状态寄存器 数据寄存器数据寄存器设备完成技术设备完成技术设备的一次操作是否完成?设备的一次操作是否完成? 测试设备的一个硬件信号测试设备的一个硬件信号几种测试模式:几种测试模式:(1 1)I/OI/O测试指令测试指令(2 2)中断技术)中断技术使使CPUCPU利用率尽可能不被利用率尽可能不被I/OI/O降低降低 使使CPUCPU尽可能摆脱尽可能摆脱I/OI/
32、On 提高提高I/OI/O本身的绝对速度本身的绝对速度n 减少或缓解速度差距减少或缓解速度差距 n 使使CPUCPU不等待不等待I/O I/O 进一步改善进一步改善提高设备利用率提高设备利用率在设备与主机的硬连接上,引入总线,节在设备与主机的硬连接上,引入总线,节省连线并提供配置扩充与改变时的灵活性;省连线并提供配置扩充与改变时的灵活性;引入控制器,扩大设备与主机间的相互适引入控制器,扩大设备与主机间的相互适用范围用范围小结:控制器与设备的分离,循环测试到小结:控制器与设备的分离,循环测试到中断,对中断,对CPUCPU编程式的编程式的I/OI/O到到DMADMA,联机,联机I/OI/O到假脱机
33、到假脱机四、设备有关技术四、设备有关技术1.Spooling1.Spooling(虚拟设备)技术(虚拟设备)技术 一个虚拟设备一个虚拟设备 一个资源转换技术一个资源转换技术(用空间,如输入,输出等换取(用空间,如输入,输出等换取CPUCPU时间)时间)解决问题:解决问题: 在进程所需物理设备不存在或被占用时使用在进程所需物理设备不存在或被占用时使用该设备该设备假若进程打开打印机特殊文件后几小时内无所事事,假若进程打开打印机特殊文件后几小时内无所事事,其他进程什么都打印不了!其他进程什么都打印不了!解决方案:解决方案:n创建值班(精灵)进程(创建值班(精灵)进程(daemondaemon)、)、
34、SPOOLingSPOOLing目录目录n进程首先生成要打印的文件,放入进程首先生成要打印的文件,放入SPOOLingSPOOLing目录目录n值班进程:唯一获准使用打印机特殊文件的进程值班进程:唯一获准使用打印机特殊文件的进程 用以打印用以打印SPOOLingSPOOLing目录里的文件目录里的文件n通过禁止对特殊文件的直接使用、提高了使用效率通过禁止对特殊文件的直接使用、提高了使用效率打印机的打印机的SPOOLingSPOOLing值班进程值班进程网络的网络的SPOOLingSPOOLing值班进程值班进程SPOOLingSPOOLing技术今天仍被广泛使用技术今天仍被广泛使用n网络文件传
35、送网络文件传送 先把文件送到网络先把文件送到网络SPOOLingSPOOLing目录,然后网络值班进目录,然后网络值班进程把它取出并传递到目标地址程把它取出并传递到目标地址nInternetInternet电子邮件系统电子邮件系统 为了寄邮,调用电子邮件程序为了寄邮,调用电子邮件程序 待发信存在待发信存在SPOOLingSPOOLing中供以后传输中供以后传输n注意:注意:SPOOLingSPOOLing只提高设备利用率,缩短用户程序执只提高设备利用率,缩短用户程序执行时间,并不提高行时间,并不提高CPUCPU利用率利用率(1)定义:通道是独立于定义:通道是独立于CPUCPU的专门的专门负责数
36、据输入负责数据输入/ /输出传输工作的处理输出传输工作的处理机,对外部设备实现统一管理,代机,对外部设备实现统一管理,代替替CPUCPU对输入对输入/ /输出操作进行控制,输出操作进行控制,从而使输入,输出操作可与从而使输入,输出操作可与CPUCPU并行并行操作。操作。 可以执行通道程序可以执行通道程序2.通道技术通道技术(2)引入通道的目的)引入通道的目的 为了使为了使CPU从从I/O事务中解脱出来,同时事务中解脱出来,同时为了提高为了提高CPU与设备,设备与设备之间与设备,设备与设备之间的并行工作能力的并行工作能力n字节多路通道字节多路通道 字节多路通道以字节为单位传输信息,它可以字节多路
37、通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传转去执行另一个通道程序,控制另一台设备传送信息送信息 主要连接以字节为单位的低速主要连接以字节为单位的低速I/OI/O设备。如打设备。如打印机,终端。印机,终端。 以字节为单位交叉传输,当一台传送一个字节以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节后,立即转去为另一台传送字节(3)分类)分类n选择通道选择通道 选择通道是以成组方式工作的,即每
38、次传送选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一段时间内只能执行一个通道程序,只允许一台设备进行数据传输台设备进行数据传输 当这台设备数据传输完成后,再选择与通道当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程连接的另一台设备,执行它的相应的通道程序序 主要连接磁盘,磁带等高速主要连接磁盘,磁带等高速I/OI/O设备设备选择通道选择通道n成组多路通道成组多路通道 它结合了选择通道传送速度高和字节多路通道能进它结合了选择通道传送速度高和字节多路通道能进行分时并
39、行操作的优点。它先为一台设备执行一条行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令通道指令 主要连接高速设备主要连接高速设备 这样,对于连接多台磁盘机的数组多路通道,它可这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现道程序采用多道程序设计的硬件实现(4)硬件连接结构)硬件连接结构 通道:通道:执行通
40、道程序,向控制器发出命令,并执行通道程序,向控制器发出命令,并具有向具有向CPUCPU发中断信号的功能。发中断信号的功能。 一旦一旦CPUCPU发出发出指令,启动通道,则通道独立于指令,启动通道,则通道独立于CPUCPU工作。一工作。一个通道可连接多个控制器,一个控制器可连接个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接多个设备,形成树形交叉连接 主要目的是启动外设时:主要目的是启动外设时:提高了控制器效率提高了控制器效率提高可靠性提高可靠性提高并行度提高并行度交叉连接交叉连接(5)通道工作原理通道工作原理 通道相当于一个功能简单的处理机,包含通道相当于一个功能简单的处理机
41、,包含通道指令(空操作,读操作,写操作,通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指控制,转移操作),并可执行用这些指令编写的通道程序令编写的通道程序n通道运算控制部件通道运算控制部件通道地址字通道地址字 CAW: 记录通道程序在内存中的地址记录通道程序在内存中的地址通道命令字通道命令字 CCW: 保存正在执行的通道指令保存正在执行的通道指令通道状态字通道状态字 CSW: 存放通道执行后的返回结果存放通道执行后的返回结果通道数据字通道数据字 CDW:存放传输数据:存放传输数据 通道和通道和CPU共用内存,通过周期窃取方式取得共用内存,通过周期窃取方式取得n通道命令及格式
42、通道命令及格式 用于用于I/OI/O操作的命令主要有两种:操作的命令主要有两种: I/OI/O指令:启动通道程序指令:启动通道程序 通道命令:对通道命令:对I/OI/O操作进行控制操作进行控制 读、反读、写、测试设备状态的数据传读、反读、写、测试设备状态的数据传输命令、用于设备控制的命令(磁带反输命令、用于设备控制的命令(磁带反绕、换页)、实现通道程序内部控制的绕、换页)、实现通道程序内部控制的转移命令转移命令 命令格式一般包括:操作码、数据传输命令格式一般包括:操作码、数据传输内存地址、特征位、计数器内存地址、特征位、计数器 编制一个通道程序,从磁带机上读入编制一个通道程序,从磁带机上读入2
43、00200字节的信息,送入内存(字节的信息,送入内存(10001000)16 16 开始开始的单元。的单元。 通道命令码:通道命令码:“07”07”反绕反绕 “02”02”读读 CCW1 X “07” CCW1 X “07” * * X “40” 1 X “40” 1; CCW2 X “02” 1000 X “00” 200CCW2 X “02” 1000 X “00” 200;n工作原理工作原理 CPUCPU:执行用户程序,当遇到:执行用户程序,当遇到I/OI/O请求时,请求时,可根据该请求生成通道程序放入内存可根据该请求生成通道程序放入内存(也可事先编好放入内存),并将该通(也可事先编好放
44、入内存),并将该通道程序的首地址放入道程序的首地址放入CAWCAW中;之后执行中;之后执行“启动启动I/O”I/O”指令,启动通道工作指令,启动通道工作 通道:接收到通道:接收到“启动启动I/O”I/O”指令后,从指令后,从CAWCAW中取出通道程序的首地址,并根据首地中取出通道程序的首地址,并根据首地址取出第一条指令放入址取出第一条指令放入CCWCCW中,同时向中,同时向CPUCPU发回答信号,使发回答信号,使CPUCPU可继续执行其他可继续执行其他程序,而通道则开始执行通道程序,完程序,而通道则开始执行通道程序,完成传输工作成传输工作(通道程序完成实际(通道程序完成实际I/OI/O,启动,
45、启动I/OI/O设备,设备,执行完毕后执行完毕后, ,如果还有下一条指令,则继如果还有下一条指令,则继续执行续执行, , 否则表示传输完成)否则表示传输完成) 当通道传输完成最后一条指令时,向当通道传输完成最后一条指令时,向CPU发发I/O中断,并且通道停止工作。中断,并且通道停止工作。CPU接收中断信号,从接收中断信号,从CSW中取得有关中取得有关信息,决定下一步做什么信息,决定下一步做什么通道的发展通道的发展n新的通道思想综合了许多新的技术新的通道思想综合了许多新的技术n在个人计算机中,芯片组中专门在个人计算机中,芯片组中专门I/O处理的芯片,称为处理的芯片,称为IOP(IO Proces
46、sor),发挥通道的作用),发挥通道的作用nIBM 390 中,沿用了输入输出通道概念中,沿用了输入输出通道概念 IBM于于1998年推出光纤通道技术(称为年推出光纤通道技术(称为FICON),可),可通过通过 FICON 连接多达连接多达127个大容量个大容量I/O设备。传输速度设备。传输速度是是333MHzs,未来将达到,未来将达到1GHzs。 光纤通道技术具有数据传输速率高、传输距离远,可简光纤通道技术具有数据传输速率高、传输距离远,可简化大型存储系统设计的优点化大型存储系统设计的优点 在大容量高速存储,如大型数据库、多媒体、数字影在大容量高速存储,如大型数据库、多媒体、数字影像等应用领
47、域,有广泛前景像等应用领域,有广泛前景3.DMA技术技术 数据在内存与数据在内存与I/OI/O设备间的直接成块传送设备间的直接成块传送 CPUCPU在开始时向设备发在开始时向设备发“传送一块传送一块”命令,命令,结束时进行相应处理,实际操作由结束时进行相应处理,实际操作由DMADMA硬件硬件直接完成直接完成 DMADMA能够通过系统总线代替能够通过系统总线代替CPUCPU管理数据的存管理数据的存入或取出入或取出n 当当CPUCPU不需要系统总线时可以使用总线不需要系统总线时可以使用总线n DMADMA可以强迫可以强迫CPUCPU暂时延迟其他操作,获暂时延迟其他操作,获取一个总线周期(周期窃取)
48、取一个总线周期(周期窃取)DMA方式与中断的主要区别方式与中断的主要区别n中断方式是在数据缓冲寄存区满后,发中断中断方式是在数据缓冲寄存区满后,发中断请求,请求,CPU进行中断处理进行中断处理 DMA方式则是在所要求传送的数据块全部方式则是在所要求传送的数据块全部传送结束时要求传送结束时要求CPU进行中断处理进行中断处理 大大减少了大大减少了CPU进行中断处理的次数进行中断处理的次数n中断方式的数据传送是由中断方式的数据传送是由CPU控制完成的控制完成的 而而DMA方式则是在方式则是在DMA控制器的控制下不控制器的控制下不经过经过CPU控制完成的控制完成的 不用不用DMADMA时,磁盘如何读:
49、时,磁盘如何读: 首先,控制器从磁盘驱动器串行地一位一位地首先,控制器从磁盘驱动器串行地一位一位地读一个块,直到将整块信息放入控制器的内部读一个块,直到将整块信息放入控制器的内部缓冲区中缓冲区中 其次,它做和校验计算,以核实没有读错误发其次,它做和校验计算,以核实没有读错误发生生 然后控制器产生一个中断。然后控制器产生一个中断。CPUCPU响应中断,控响应中断,控制转给操作系统。当操作系统开始运行时,它制转给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中字地读这个磁盘块的信息,并将其送入
50、内存中 采用采用DMADMA方式时,允许方式时,允许DMADMA控制器接管地址控制器接管地址线的控制权,直接控制线的控制权,直接控制DMADMA控制器与内存控制器与内存的数据交换。从而使磁盘设备与储器之的数据交换。从而使磁盘设备与储器之间的数据传送不需要间的数据传送不需要CPUCPU介入,因而减轻介入,因而减轻了了CPUCPU负担负担 当采用当采用DMADMA时,除向控制器提供要读块的时,除向控制器提供要读块的磁盘地址外,还要向控制器提供两个信磁盘地址外,还要向控制器提供两个信息:要读块送往内存的起始地址和要传息:要读块送往内存的起始地址和要传送的字节数送的字节数 当当DMADMA硬件控制磁盘
51、与存储器之间进行信息交换硬件控制磁盘与存储器之间进行信息交换时,每当磁盘把一个数据读入控制器的数据缓时,每当磁盘把一个数据读入控制器的数据缓冲区时,冲区时,DMADMA控制器取代控制器取代CPUCPU,接管地址总线的,接管地址总线的控制权,并按照控制权,并按照DMADMA控制器中的存储器地址寄控制器中的存储器地址寄存器内容把数据送入相应的内存单元中。然后,存器内容把数据送入相应的内存单元中。然后,DMADMA硬件自动地把传送字节计数器减硬件自动地把传送字节计数器减1 1,把存储,把存储器地址寄存器加器地址寄存器加1 1,并恢复,并恢复CPUCPU对内存的控制权,对内存的控制权,DMADMA控制
52、器对每一个传送的数据重复上述过程,控制器对每一个传送的数据重复上述过程,直到传送字节计数器为直到传送字节计数器为“0”0”时,向时,向CPUCPU产生一产生一个中断信号。当操作系统接管个中断信号。当操作系统接管CPUCPU控制权时,控制权时,再无需做块复制的工作了再无需做块复制的工作了控制器按照指定存储器地址,把第一个字节送入主存控制器按照指定存储器地址,把第一个字节送入主存然后,按指定字节数进行数据传送然后,按指定字节数进行数据传送每当传送一个字节后,字节计数器值减每当传送一个字节后,字节计数器值减1 1,直到字节计数器等于,直到字节计数器等于0 0此时,控制器引发中断,通知操作系统,操作完
53、成此时,控制器引发中断,通知操作系统,操作完成CPUCPU提供提供被读取块磁盘地址被读取块磁盘地址目标存储地址目标存储地址待读取字节数待读取字节数整块数据读进缓冲区整块数据读进缓冲区核准校验核准校验DMADMA工作示例工作示例(以硬盘为例)(以硬盘为例) 存放输入数据的内存起始地址、要传送的字节数存放输入数据的内存起始地址、要传送的字节数 送入送入DMADMA控制器的内存地址寄存器和传送字节计数器控制器的内存地址寄存器和传送字节计数器 中断允许位和启动位置成中断允许位和启动位置成1 1,启动设备,启动设备n 发出传输要求的进程进入等待状态发出传输要求的进程进入等待状态n 执行指令被暂时挂起,进
54、程调度其他进程占据执行指令被暂时挂起,进程调度其他进程占据CPUCPUn 输入设备不断窃取输入设备不断窃取CPUCPU工作周期,数据不断写入内存工作周期,数据不断写入内存n 传送完毕,发出中断信号传送完毕,发出中断信号n CPUCPU接到中断信号转入中断处理程序处理接到中断信号转入中断处理程序处理n 中断处理结束,中断处理结束,CPUCPU返回原进程或切换到新的进程返回原进程或切换到新的进程DMA工作原理工作原理窃取总线控制权窃取总线控制权CPU向控制器发出启动向控制器发出启动DMA通知和有关参数通知和有关参数控制器向内存发出询问请求控制器向内存发出询问请求访问内存(读、写)访问内存(读、写)
55、计数器减计数器减1结束否结束否发中断发中断NYDMA的实现流程的实现流程(1 1)缓冲技术的引入)缓冲技术的引入 凡是数据到达和离去速度不匹配的地方均凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。可采用缓冲技术。 在操作系统中采用缓冲是为了实现数据的在操作系统中采用缓冲是为了实现数据的I/OI/O操作,以缓解操作,以缓解CPUCPU与外部设备之间速与外部设备之间速度不匹配的矛盾,提高资源利用率度不匹配的矛盾,提高资源利用率n减少了减少了I/OI/O设备对处理器的中断请求次数设备对处理器的中断请求次数n简化了中断机制简化了中断机制n节省了系统开销节省了系统开销4. 缓冲技术缓冲技术(2)缓
56、冲区设置)缓冲区设置 硬缓冲:硬缓冲:在设备中设置缓冲区,由硬件实现在设备中设置缓冲区,由硬件实现 软缓冲:软缓冲:在内存中开辟一个空间,用作缓冲区在内存中开辟一个空间,用作缓冲区(3)缓冲区管理)缓冲区管理 单缓冲单缓冲 双缓冲双缓冲 缓冲池:缓冲池: 多个缓冲区连接起来统一管理,常采用多多个缓冲区连接起来统一管理,常采用多缓冲管理缓冲管理(4)例子)例子 终端输入软件中的键盘驱动程序终端输入软件中的键盘驱动程序 任务之一:收集字符任务之一:收集字符 两种常见的字符缓冲方法:两种常见的字符缓冲方法:n公共缓冲池(驱动程序中)公共缓冲池(驱动程序中)n终端数据结构缓冲终端数据结构缓冲终端终端数
57、据结构数据结构公共公共缓冲池缓冲池终端终端0123终端终端数据结构数据结构终端终端01终端终端0的缓冲区的缓冲区终端终端1的缓冲区的缓冲区公共缓冲池公共缓冲池 终端固定缓冲区终端固定缓冲区新一代计算机出现,带来了总线技术的更新新一代计算机出现,带来了总线技术的更新(1)总线)总线的基本概念:的基本概念: 在计算机系统内各种子系统在计算机系统内各种子系统 如如CPUCPU、内存、内存、I/OI/O设备等之间设备等之间 构建公用的信号或数据传输通道构建公用的信号或数据传输通道 这种可共享连接的传输通道称为总线这种可共享连接的传输通道称为总线5. 总线技术总线技术总线的分类总线的分类CPU-内存总线
58、内存总线I/O总线总线数据总线数据总线地址总线地址总线控制总线控制总线(非本课程范围)(非本课程范围)(2)总线的分类)总线的分类微型计算机微型计算机总线的种类和发展总线的种类和发展PCXT总线总线ISA总线总线MCA总线总线EISA总线总线VESA总线总线 PCI总线总线USB总线总线.(?)(?)(过时过时)1394总线总线SCSI总线总线USB(Universal Serial Bus)通用串行总线,是一种连接)通用串行总线,是一种连接I/O串行设备的技术标准串行设备的技术标准n冲破了计算机技术发展的两个历史局限性:冲破了计算机技术发展的两个历史局限性: (1)由于)由于I/O设备的接口
59、标准的不一致和有限的接口设备的接口标准的不一致和有限的接口数量已无法满足各种应用迫切需要数量已无法满足各种应用迫切需要 (2)传统的)传统的I/O设备的接口无法满足实时数据传输与设备的接口无法满足实时数据传输与多媒体应用的需求多媒体应用的需求nUSB以以WDM(Windows Driver Model)模型为基础,)模型为基础,WDM包含一套通用的包含一套通用的I/O服务和二进制兼容的设备驱服务和二进制兼容的设备驱动程序动程序 6. USB技术技术nUSB支持同步数据传输方式和异步数据传输方支持同步数据传输方式和异步数据传输方式,其数据传输率有低速式,其数据传输率有低速15Mbps和全速和全速
60、12Mbps两种,比标准串口快两种,比标准串口快100倍,比标准并倍,比标准并口快口快10倍倍nUSB可以主动为外部设备提供电源,允许外部可以主动为外部设备提供电源,允许外部设备快速连接,具有即插即用的功能设备快速连接,具有即插即用的功能n允许外部设备的热插拔允许外部设备的热插拔USB的结构的结构n控制器:控制器主要负责执行由控制器驱动程序发出控制器:控制器主要负责执行由控制器驱动程序发出的命令的命令n控制器驱动程序:控制器驱动程序在控制器与控制器驱动程序:控制器驱动程序在控制器与USB设设备之间建立通信信道备之间建立通信信道nUSB芯片驱动程序:芯片驱动程序:USB芯片驱动程序提供了对芯片驱
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2031年中国移动式UPS电源行业投资前景及策略咨询研究报告
- 2025至2031年中国球形关节行业投资前景及策略咨询研究报告
- 2025至2031年中国水基铸造涂料行业投资前景及策略咨询研究报告
- 2025至2031年中国手机喇叭行业投资前景及策略咨询研究报告
- 2025至2031年中国三相电子式有功(无功)电能表行业投资前景及策略咨询研究报告
- 2025至2030年中国马海毛条数据监测研究报告
- 2025至2030年中国集成表贴同轴介质压控振荡器数据监测研究报告
- 2025至2030年中国节能疏水器数据监测研究报告
- 2025至2030年中国绵羊绒围巾数据监测研究报告
- 2025至2030年中国男士防臭袜子数据监测研究报告
- 2024-2025学年山东省潍坊市高三上学期1月期末英语试题
- 2025-2030年中国青海省旅游行业市场现状调查及发展趋向研判报告
- 人力资源部门2023年度招聘效果分析
- 八年级数学下册 第1章 单元综合测试卷(北师版 2025年春)
- 商业银行的风险审计与内部控制
- 2024项目管理人员安全培训考试题及参考答案AB卷
- 2025年与商场合作协议样本(5篇)
- 2024年12月青少年机器人技术等级考试理论综合试卷(真题及答案)
- 2025年安徽碳鑫科技有限公司招聘笔试参考题库含答案解析
- 2025年寒假实践特色作业设计模板
- 2024年福建漳州人才发展集团有限公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论