《操作系统原理与应用模块5ppt课件.ppt》由会员分享,可在线阅读,更多相关《操作系统原理与应用模块5ppt课件.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统原理与应用模块5电子课件目录目录设备管理设备管理 学习目标学习目标学习目标学习目标输入输入/输出系统及输入输出系统及输入/输出控制方式。输出控制方式。设备管理中的若干技术。设备管理中的若干技术。设备的分配和调度算法。设备的分配和调度算法。Windows和和Linux操作系统的设备管理。操作系统的设备管理。目录目录5.1 输入输入/输出系统输出系统5.1.1 输入输入/输出设备输出设备I/O设备类型设备类型按所属关系按所属关系分类分类按按I/O特特性分类性分类按资源按资源分配方分配方式分类式分类 系统设备系统设备 用户设备用户设备 字符设备字符设备字符块设备字符块设备 独占设备独占设备共
2、享设备共享设备虚拟设备虚拟设备目录目录5.1.1 输入输入/输出设备输出设备目录目录5.1.2 设备控制器设备控制器设备控制器的设备控制器的基本功能基本功能接收和识别来自接收和识别来自CPU的的各种命令各种命令实现实现CPU与控制器、控制与控制器、控制器与设备之间的数据交换:器与设备之间的数据交换:用数据寄存器用数据寄存器记录设备的状态供记录设备的状态供CPU查询:用状态寄存器查询:用状态寄存器识别控制的每个设备地识别控制的每个设备地址:用地址译码器。址:用地址译码器。目录目录5.1.2 设备控制器设备控制器CPU与控制器的接口与控制器的接口控制器与设备的接口控制器与设备的接口数据寄存器数据寄
3、存器控控 制制/状状态寄存器态寄存器I/O逻逻辑辑控控制制器器与与设设备备的接口的接口控控制制器器与与设设备备的接口的接口数据数据状态状态控制控制数据数据状态状态控制控制数据线数据线地址线地址线控制线控制线目录目录5.1.3 输入输入/输出设备输出设备当主机配置的外设很多当主机配置的外设很多时,仅有设备控制器是远时,仅有设备控制器是远远不够的,远不够的,CPUCPU的负担依的负担依然很重,于是在然很重,于是在CPUCPU和设和设备控制器之间又增设了通备控制器之间又增设了通道,这样可使一些原来由道,这样可使一些原来由CPUCPU处理的处理的I/OI/O任务转由任务转由通道来承担,从而把通道来承担
4、,从而把CPUCPU从繁杂的从繁杂的I/OI/O任务中解脱任务中解脱出来,提高了计算机系统出来,提高了计算机系统的的I/OI/O效率。效率。字字节多路多路通道通道数数组选择通道通道数数组多路多路通道通道通道类型通道类型目录目录5.1.3 输入输入/输出设备输出设备由于通道的成本高,因此通道的数量由于通道的成本高,因此通道的数量由于通道的成本高,因此通道的数量由于通道的成本高,因此通道的数量远远远远比比比比设备设备设备设备少。少。少。少。这这这这样样样样,往往因通道数量不足而,往往因通道数量不足而,往往因通道数量不足而,往往因通道数量不足而产产产产生生生生“瓶瓶瓶瓶颈颈颈颈”问题问题问题问题,影
5、响整个系,影响整个系,影响整个系,影响整个系统统统统的的的的处处处处理能力。理能力。理能力。理能力。为了使设备能得到充分利用,在通道、控为了使设备能得到充分利用,在通道、控制器和设备的连接上,可以采用多通路的配置方案。换言制器和设备的连接上,可以采用多通路的配置方案。换言之,就是把一个设备连接到多个控制器上,而一个控制器之,就是把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。又连接到多个通道上。目录目录5.1.3 输入输入/输出设备输出设备目录目录5.2 输入/输出控制方式5.2.1 程序直接控制方式程序直接控制方式目录目录5.2.2 中断控制方式中断控制方式应用程序用程序请求求
6、读操作操作驱动驱动程序向程序向设备设备控制器命令寄存器控制器命令寄存器输输入命令,入命令,启启动设备动设备。132设备驱动程序查询设备状态寄存器,确定设备的忙闲状态。设备驱动程序查询设备状态寄存器,确定设备的忙闲状态。如果设备忙,则驱动程序等待,直到它变为空闲为止。如果设备忙,则驱动程序等待,直到它变为空闲为止。设备设备完成了完成了I/O操作,中操作,中断断CPU,引起中,引起中断断处处理程序的理程序的运运行。行。45当驱动程序完成上述工作后,根据操作情况保存相应信息,当驱动程序完成上述工作后,根据操作情况保存相应信息,这些信息一开始保存在设备表中,系统中的每台设备都有对这些信息一开始保存在设
7、备表中,系统中的每台设备都有对应的表项,然后应的表项,然后CPU就可以分配设备给其他应用程序使用。就可以分配设备给其他应用程序使用。目录目录5.2.2 中断控制方式中断控制方式设备处设备处理程序重新理程序重新从从设备设备表中找到等待表中找到等待I/O操作的操作的状状态态信息。信息。76中断处理程序确定是哪个设备引起的中断,然后转移到该设中断处理程序确定是哪个设备引起的中断,然后转移到该设备对应的设备处理程序执行。备对应的设备处理程序执行。8设备处理程序读控制器数据寄存器的内容,然后写到用户进设备处理程序读控制器数据寄存器的内容,然后写到用户进程的内存区。设备处理程序,返回控制权给应用进程,从而
8、程的内存区。设备处理程序,返回控制权给应用进程,从而继续运行。继续运行。目录目录5.2.3 直接存储器访问控制方式直接存储器访问控制方式目录目录5.2.3 直接存储器访问控制方式直接存储器访问控制方式DMA方方式式的的工工作作流流程程目录目录5.2.4 通道控制方式通道控制方式 I/O通通道道又又称称通通道道处处理理机机,是是一一种种能能执执行行有有限限指指令令集集的的专专用用处处理理机机,它它通通过过执执行行存存储储在在内内存存中中的的固固定定的的或或由由CPU设设置置的的通通道道程程序序来来控控制制设设备的输入备的输入/输出操作。输出操作。目录目录5.2.4 通道控制方式通道控制方式通道指
9、令通道指令包含的信息包含的信息操作操作码内内存地址存地址计数数通道程序通道程序结束位束位P记录结束束标志志R通通道道是是通通过过执执行行通通道道程程序序,并并与与设设备备控控制制器器共共同同实实现现对对I/O设设备备的的控控制制的的。通道程序是由一系列通道指令(或称为通道命令)所构成的。通道程序是由一系列通道指令(或称为通道命令)所构成的。目录目录9.4 缓冲管理缓冲管理5.3.1 缓冲的引入缓冲的引入 可以协调逻辑记录大小和物理记录大小不一致的问题。可以协调逻辑记录大小和物理记录大小不一致的问题。23引入缓冲的原因引入缓冲的原因 进一步改善进一步改善CPU和和I/O设备之间速度不匹配的情况。
10、设备之间速度不匹配的情况。1还可以减少对还可以减少对CPU的中断次数,放宽的中断次数,放宽CPU对中断响对中断响应时间的限制。应时间的限制。目录目录5.3.2 单缓冲和双缓冲单缓冲和双缓冲 单缓冲是指当一个进程发出一个单缓冲是指当一个进程发出一个I/OI/O请求时,操作系统便在主存中为之请求时,操作系统便在主存中为之分配一个缓冲区,用来临时存放输入分配一个缓冲区,用来临时存放输入/输出的数据。它是操作系统提供的输出的数据。它是操作系统提供的最简单的一种缓冲形式。最简单的一种缓冲形式。单单缓缓冲冲工工作作示示意意图图目录目录5.3.2 单缓冲和双缓冲单缓冲和双缓冲所谓双缓冲(所谓双缓冲(doub
11、le bufferdouble buffer),就是在操作系统中为某一设备设置两个),就是在操作系统中为某一设备设置两个缓冲区,当一个缓冲区中的数据尚未被处理时可用另一缓冲区存放从设缓冲区,当一个缓冲区中的数据尚未被处理时可用另一缓冲区存放从设备读入的数据,用来平缓备读入的数据,用来平缓CPUCPU和和I/OI/O设备之间速度的差异。设备之间速度的差异。目录目录5.3.3 循环缓冲循环缓冲采用双缓冲技术虽然提高了采用双缓冲技术虽然提高了I/OI/O设备的并行工作速度,减少了进程调度开设备的并行工作速度,减少了进程调度开销,但在输入设备、输出设备和处理进程速度不匹配的情况下仍不十分销,但在输入设
12、备、输出设备和处理进程速度不匹配的情况下仍不十分理想。为改善上述情形,获得较高的并行度,常常采用多缓冲组成的循理想。为改善上述情形,获得较高的并行度,常常采用多缓冲组成的循环缓冲技术。环缓冲技术。目录目录5.3.4 缓冲池缓冲池.缓冲池(缓冲池(buffer poolbuffer pool)由)由主存中的一组缓冲区组成,操主存中的一组缓冲区组成,操作系统与用户进程将轮流使用作系统与用户进程将轮流使用各个缓冲区,以改善系统性能。各个缓冲区,以改善系统性能。但是系统性能并不是随着缓冲但是系统性能并不是随着缓冲区数量的不断增加而无休止地区数量的不断增加而无休止地提高的,当缓冲区到达一定数提高的,当缓
13、冲区到达一定数量时,系统性能的提高变得微量时,系统性能的提高变得微乎其微,甚至会下降。缓冲池乎其微,甚至会下降。缓冲池中多个缓冲区可供多个进程使中多个缓冲区可供多个进程使用,既可用于输入又可用于输用,既可用于输入又可用于输出,是一种现代操作系统经常出,是一种现代操作系统经常采用的公用缓冲技术。采用的公用缓冲技术。Diagram 2空空闲缓冲冲区区、装、装满输入入数数据的据的缓冲冲区区、装、装满输出出数数据的据的缓冲冲区区空空缓冲冲队列、列、输入入队列、列、输出出队列列用于收容用于收容输入入数数据、据、提取提取输出出数数据、提据、提取取输出出数数据的工作据的工作缓冲冲区区Diagram 2缓冲冲
14、区区类型型队列列工作工作缓冲冲区区目录目录5.3.4 缓冲池缓冲池目录目录5.4 I/O软件软件5.4.1 I/O软件的设计目标和原则软件的设计目标和原则设计目标设计目标设计目标设计目标设备的分设备的分设备的分设备的分配和释放配和释放配和释放配和释放同步同步同步同步/异异异异步步步步设备无关设备无关设备无关设备无关性性性性错误处理错误处理错误处理错误处理目录目录5.4.1 I/O软件的设计目标和原则软件的设计目标和原则目录目录5.4.2 中断处理程序中断处理程序 中断是指设备发送给中断是指设备发送给CPUCPU的硬件信号。中断将通知的硬件信号。中断将通知CPUCPU需需要注意设备,并且要注意设
15、备,并且CPUCPU应该停止任何当前活动并对设备进行响应该停止任何当前活动并对设备进行响应。如果应。如果 CPU CPU未执行优先级比中断优先级高的任务,则未执行优先级比中断优先级高的任务,则 CPU CPU会暂停当前线程。然后,会暂停当前线程。然后,CPUCPU会调用发送中断信号的设备的中会调用发送中断信号的设备的中断处理程序。中断处理程序的工作是服务设备并防止此设备断处理程序。中断处理程序的工作是服务设备并防止此设备中断。中断处理程序返回后,中断。中断处理程序返回后,CPUCPU便会恢复出现中断之前所执便会恢复出现中断之前所执行的工作。行的工作。中断处理程序位于中断处理程序位于I/OI/O
16、的最底层。当进程需要执行的最底层。当进程需要执行I/OI/O操操作时,操作系统应将该进程挂起,即进入阻塞,直至作时,操作系统应将该进程挂起,即进入阻塞,直至I/OI/O操作操作结束并发生中断。当中断发生时,中断处理程序执行相应的结束并发生中断。当中断发生时,中断处理程序执行相应的操作,以解除相应进程的阻塞状态。操作,以解除相应进程的阻塞状态。目录目录5.4.3 设备驱动程序设备驱动程序设备驱动程序程序的功能的功能接收由接收由接收由接收由设备设备设备设备独立性独立性独立性独立性软软软软件件件件发发发发来的命令和参数,来的命令和参数,来的命令和参数,来的命令和参数,并将命令中的抽象要求并将命令中的
17、抽象要求并将命令中的抽象要求并将命令中的抽象要求转换为转换为转换为转换为具体要求。具体要求。具体要求。具体要求。检查检查用用户户I/OI/O请请求的合法性,了解求的合法性,了解I/OI/O设备设备的状的状态态,传递传递有关参数,有关参数,设设置置设备设备的工作方式。的工作方式。发发发发出出出出I/OI/O命令。命令。命令。命令。及及及及时时时时响响响响应应应应由控制器或通道由控制器或通道由控制器或通道由控制器或通道发发发发来的中断来的中断来的中断来的中断请请请请求,并根据求,并根据求,并根据求,并根据其中断其中断其中断其中断类类类类型型型型调调调调用相用相用相用相应应应应的中断的中断的中断的中
18、断处处处处理程序理程序理程序理程序进进进进行行行行处处处处理。理。理。理。对对对对于于于于设设设设置有通道的置有通道的置有通道的置有通道的计计计计算机系算机系算机系算机系统统统统,驱动驱动驱动驱动程序程序程序程序还应还应还应还应能能能能够够够够根据用根据用根据用根据用户户户户的的的的I/OI/O请请请请求,自求,自求,自求,自动动动动地构成通道程序。地构成通道程序。地构成通道程序。地构成通道程序。目录目录5.4.3 设备驱动程序设备驱动程序设备处理方式设备处理方式设备处理方式设备处理方式为每一类设备设置一个进程,专门为每一类设备设置一个进程,专门用于执行这类设备的用于执行这类设备的I/O操作。
19、操作。在整个系统中设置一个在整个系统中设置一个I/O进程,专门进程,专门用于执行系统中所有设备的用于执行系统中所有设备的I/O操作。操作。不设置专门的设备处理进程,而只为各不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块)类设备设置相应的设备处理程序(模块),供用户进程或系统进程调用。,供用户进程或系统进程调用。目录目录5.4.3 设备驱动程序设备驱动程序 (1 1)驱动程序主要是指在请求)驱动程序主要是指在请求I/OI/O的进程与设备控制器的进程与设备控制器之间的一个通信和转换程序。之间的一个通信和转换程序。(2 2)驱动程序与设备控制器和)驱动程序与设备控制器和I/OI
20、/O设备的硬件特性紧密设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。相关,因而对不同类型的设备应配置不同的驱动程序。(3 3)驱动程序与)驱动程序与I/OI/O设备所采用的设备所采用的I/OI/O控制方式紧密相控制方式紧密相关。关。(4 4)由于驱动程序与硬件紧密相关,因而其中的一部)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言编写。分必须用汇编语言编写。(5 5)驱动程序应允许可重入。一个正在运行的驱动程)驱动程序应允许可重入。一个正在运行的驱动程序常会在一次调用完成前被再次调用。序常会在一次调用完成前被再次调用。(6 6)驱动程序不允许系统调用。)驱动程序
21、不允许系统调用。目录目录5.4.4 设备独立性软件设备独立性软件 设备独立性的基本含义是设备独立性的基本含义是:用用户编写的应用程序独立于具体使户编写的应用程序独立于具体使用的物理设备,即使设备更换了,用的物理设备,即使设备更换了,应用程序也不用改变。在实现了应用程序也不用改变。在实现了设备独立性的功能后,可带来以设备独立性的功能后,可带来以下两方面的好处。下两方面的好处。(1 1)设备分配更加灵活)设备分配更加灵活(2 2)可以实现)可以实现I/OI/O重定向重定向 为了实现设备独立性,必须在驱动为了实现设备独立性,必须在驱动程序之上设置一层软件,称为设备独立程序之上设置一层软件,称为设备独
22、立性软件。至于设备独立性软件和设备驱性软件。至于设备独立性软件和设备驱动程序之间的界限,根据不同的操作系动程序之间的界限,根据不同的操作系统和设备有所差异,主要取决于对操作统和设备有所差异,主要取决于对操作系统、设备独立性和设备驱动程序的运系统、设备独立性和设备驱动程序的运行效率等多方面因素的权衡。设备独立行效率等多方面因素的权衡。设备独立性软件的功能:性软件的功能:(1 1)执行所有设备的共有操作。)执行所有设备的共有操作。(2 2)想用户层软件提供统一接口。)想用户层软件提供统一接口。(3 3)设备维护)设备维护目录目录5.5 设备控制表设备控制表5.5.1 设备分配中的数据结构设备分配中
23、的数据结构目录目录5.5.1 设备分配中的数据结构设备分配中的数据结构目录目录5.5.2 设备分配时应考虑的因素设备分配时应考虑的因素设备分配时的安全性设备分配时的安全性设备分配时的安全性设备分配时的安全性设备分配算法设备分配算法设备分配算法设备分配算法设备的固有属性设备的固有属性设备的固有属性设备的固有属性独占设备、共享设备、可虚拟设备独占设备、共享设备、可虚拟设备独占设备、共享设备、可虚拟设备独占设备、共享设备、可虚拟设备先来先服务、优先级算法、按时间片轮先来先服务、优先级算法、按时间片轮先来先服务、优先级算法、按时间片轮先来先服务、优先级算法、按时间片轮转算法转算法转算法转算法(1 1)
24、系统需要根据用户提出的逻辑设备)系统需要根据用户提出的逻辑设备)系统需要根据用户提出的逻辑设备)系统需要根据用户提出的逻辑设备查看查看查看查看PCBPCB的的的的LUTLUT,获得该类设备的物理,获得该类设备的物理,获得该类设备的物理,获得该类设备的物理标志和访问方式。标志和访问方式。标志和访问方式。标志和访问方式。(2 2)判断此次访问是否与规定的方式一)判断此次访问是否与规定的方式一)判断此次访问是否与规定的方式一)判断此次访问是否与规定的方式一致。若不一致将拒绝访问,否则正常进致。若不一致将拒绝访问,否则正常进致。若不一致将拒绝访问,否则正常进致。若不一致将拒绝访问,否则正常进行。行。行
25、。行。目录目录5.5.3 独占设备的分配程序独占设备的分配程序设备分配程序的改进设备分配程序的改进基本的设备分配程序基本的设备分配程序分配设备分配设备分配控制器分配控制器分配通道分配通道增加设备的独立性。增加设备的独立性。考虑多通路情况。考虑多通路情况。目录目录5.5.4 SPOOLing技术技术 SPOOLing SPOOLing技术是低速技术是低速I/OI/O设备与主机交换的一种技术,通常也称为设备与主机交换的一种技术,通常也称为“假脱机真联机假脱机真联机”,它的核心思想是以联机的方式得到脱机的效果。,它的核心思想是以联机的方式得到脱机的效果。目录目录5.5.4 SPOOLing技术技术利
26、用SPOOLing技术,可将打印机改造为一台可供多个用户共享的设备,从而提高设备的利用率。当用户进程请求打印输出时,SPOOLing系统同意为它打印输出,但并不真正立即把打印机分配给该用户进程,而只为它做两件事:由输出进程在输出井中为之申请一个空闲磁盘块区,并将要打印的数据送入其中;输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。如果还有进程要求打印输出,系统仍可接受该请求,也同样为该进程做上述两件事。提高了提高了I/O速度速度静独静独占占设备改造改造为共享共享设备实现了了虚虚拟设备功功能能SPOOLing系统的特点系统的特点目录目录5
27、.6 磁盘存储器的管理磁盘存储器的管理5.6.1 磁盘性能简述磁盘性能简述目录目录5.6.2 磁盘调度磁盘调度按按请请求到求到达达队队列中的列中的先后先后顺顺序序为为其服其服务务。要求要求访问访问的磁道的磁道与当与当前磁前磁头头所在的磁道距所在的磁道距离最近,以使每次的离最近,以使每次的寻寻道道时间时间最短。最短。是是扫扫描算法的一描算法的一个个修修改算法。改算法。不不仅仅考考虑虑到欲到欲访问访问的磁道的磁道与与当当前磁道前磁道间间的距离,更的距离,更优优先考先考虑虑的是磁的是磁头头当当前的移前的移动动方向。方向。目录目录5.6.3 磁盘高速缓存磁盘高速缓存磁磁磁磁盘盘高速高速高速高速缓缓存的
28、形式存的形式存的形式存的形式置置置置换换算法算法算法算法数数数数据交付方式据交付方式据交付方式据交付方式周期性地周期性地周期性地周期性地写写写写回磁回磁回磁回磁盘盘 第一种是在内存中开辟一个单独第一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序其大小是固定的,不会受应用程序多少的影响;第二种是把所有未利多少的影响;第二种是把所有未利用的内存空间变为一个缓冲池,供用的内存空间变为一个缓冲池,供请求分页系统和磁盘请求分页系统和磁盘I/O操作时(作操作时(作为磁盘高速缓存)共享。为磁盘高速缓存)共享。数据交付是指将磁盘高速缓存中数据
29、交付是指将磁盘高速缓存中的数据传送给请求者进程。当有的数据传送给请求者进程。当有一个进程请求访问某个盘块中的一个进程请求访问某个盘块中的数据时,先去查看磁盘高速缓冲数据时,先去查看磁盘高速缓冲器,看其中是否存在进程所需访器,看其中是否存在进程所需访问的盘块数据的复制。问的盘块数据的复制。较常用的置换算法是最近最久未较常用的置换算法是最近最久未使用算法使用算法LRU、最近未使用算法、最近未使用算法NRU及最少使用算法及最少使用算法LFU等。等。在在UNIX系统中专门增设了一个修系统中专门增设了一个修改程序,使之在后台运行,该程序改程序,使之在后台运行,该程序周期性地执行一个系统调用周期性地执行一
30、个系统调用SYNC,强制性地将所有在高速缓存中已,强制性地将所有在高速缓存中已修改的盘块数据写回磁盘。修改的盘块数据写回磁盘。目录目录5.7 Windows的设备管理及实验的设备管理及实验5.7.1 Windows的设备管理的设备管理目录目录5.7.1 Windows的设备管理的设备管理 Windows XP设备驱动程序接收设备驱动程序接收I/O管理器传来的命管理器传来的命令,对相应设备进行管理,在命令完成后通知令,对相应设备进行管理,在命令完成后通知I/O管理器。管理器。设备驱动程序经常通过设备驱动程序经常通过I/O管理器向共享设备控制接口的管理器向共享设备控制接口的其他设备驱动程序转发命令
31、。其他设备驱动程序转发命令。Windows XPWindows XP驱动程序常以扩展名驱动程序常以扩展名.sys.sys的文件形式存的文件形式存在(此类型的文件不能用文本形式编辑)。每个设备对应在(此类型的文件不能用文本形式编辑)。每个设备对应一个或多个一个或多个.sys.sys文件。文件。一个设备驱动程序由一组例程构成,这些例程分别处一个设备驱动程序由一组例程构成,这些例程分别处理同一个理同一个I/OI/O请求的不同阶段。请求的不同阶段。目录目录5.7.1 Windows的设备管理的设备管理 (1)从权限级别方面可以分为用户方式驱动程序和核心方式驱动程)从权限级别方面可以分为用户方式驱动程序
32、和核心方式驱动程序。用户方式驱动程序有虚拟设备驱动程序、打印机驱动程序等。序。用户方式驱动程序有虚拟设备驱动程序、打印机驱动程序等。驱动程序、非即插即用驱动程序等。驱动程序、非即插即用驱动程序等。(2)在)在WDM模型中,划分为总线驱动程序、功能驱动程序、过滤器模型中,划分为总线驱动程序、功能驱动程序、过滤器驱动程序等。驱动程序等。(3)从硬件支持方面可将驱动程序分为类驱动程序、端口驱动程序、)从硬件支持方面可将驱动程序分为类驱动程序、端口驱动程序、小端口驱动程序等。小端口驱动程序等。对于简单的字符型设备(如鼠标、显示器、键盘、打印机),对于简单的字符型设备(如鼠标、显示器、键盘、打印机),大
33、都大都使用单层设备驱动程序结构来完成用户的使用单层设备驱动程序结构来完成用户的 I/O I/O 请求。请求。大容量的设备大容量的设备(如磁盘、磁带等)总是使用多层驱动程序结构。(如磁盘、磁带等)总是使用多层驱动程序结构。目录目录3.Windows XP单层驱动程序的单层驱动程序的I/O处理处理目录目录3.Windows XP单层驱动程序的单层驱动程序的I/O处理处理目录目录4.Windows XP两级中断处理过程目录目录4.Windows XP两级中断处理过程目录目录5.7.2 Windows的设备管理实验的设备管理实验目录目录5.8 Linux的设备管理及实验的设备管理及实验5.8.1 Li
34、nux的设备管理的设备管理 LinuxLinux的设备管理(的设备管理(I/OI/O子系统)是子系统)是LinuxLinux系统的重要组成部系统的重要组成部分。为了能够使用户通过统一的方法使用各种不同的外设,分。为了能够使用户通过统一的方法使用各种不同的外设,I/OI/O子系统必须提供一个统一而简单的系统调用接口。在子系统必须提供一个统一而简单的系统调用接口。在LinuxLinux系统系统中,管理硬件控制器的设备驱动程序保存在内核中,而不是放在中,管理硬件控制器的设备驱动程序保存在内核中,而不是放在应用程序中。应用程序中。LinuxLinux把设备驱动程序也称为设备驱动器。设备驱把设备驱动程序
35、也称为设备驱动器。设备驱动器把设备处理过程抽象化,把硬件作为设备文件看待。因此,动器把设备处理过程抽象化,把硬件作为设备文件看待。因此,对设备也可以进行打开、关闭、读、写文件等操作。这部分功能对设备也可以进行打开、关闭、读、写文件等操作。这部分功能由由I/OI/O子系统与设备无关的部分来完成。子系统与设备无关的部分来完成。用户程序是通过文件系统和设备驱动程序来请求硬件设备的。用户程序是通过文件系统和设备驱动程序来请求硬件设备的。当用户进程发出使用设备的请求时,系统把处理该请求的任务通当用户进程发出使用设备的请求时,系统把处理该请求的任务通过系统调用接口交给文件系统,文件系统通过设备驱动程序提供
36、过系统调用接口交给文件系统,文件系统通过设备驱动程序提供的接口将任务传递给设备驱动程序,设备驱动程序对设备控制器的接口将任务传递给设备驱动程序,设备驱动程序对设备控制器进行控制编码,最后由设备控制器来控制设备本身的运。进行控制编码,最后由设备控制器来控制设备本身的运。目录目录5.8.1 Linux的设备管理的设备管理字符设备是字符设备是Linux系统中简单的设备,可以作为文件访问。应用程序系统中简单的设备,可以作为文件访问。应用程序可用标准的系统对字符设备进行打开、关闭、读、写等操作。字符可用标准的系统对字符设备进行打开、关闭、读、写等操作。字符设备初始化时,设备的驱动器可向设备初始化时,设备
37、的驱动器可向device_struct数据结构中的数据结构中的chrdevs数组中增加一个表项,并登记到系统内核中。设备的主标志数组中增加一个表项,并登记到系统内核中。设备的主标志号是该数组的索引,一个设备的主标志号是固定不变的。号是该数组的索引,一个设备的主标志号是固定不变的。和字符设备不同的是,块设备有几种类型。每类块设备驱动器提供用于和字符设备不同的是,块设备有几种类型。每类块设备驱动器提供用于和字符设备不同的是,块设备有几种类型。每类块设备驱动器提供用于和字符设备不同的是,块设备有几种类型。每类块设备驱动器提供用于该类设备的特殊接口。因此,一个该类设备的特殊接口。因此,一个该类设备的特
38、殊接口。因此,一个该类设备的特殊接口。因此,一个SCSISCSI设备驱动器必须提供到设备驱动器必须提供到设备驱动器必须提供到设备驱动器必须提供到SCSISCSI子系子系子系子系统的接口,统的接口,统的接口,统的接口,SCSISCSI子系统利用该接口提供该设备到内核的文件操作。子系统利用该接口提供该设备到内核的文件操作。子系统利用该接口提供该设备到内核的文件操作。子系统利用该接口提供该设备到内核的文件操作。每个块设备驱动器除提供正常的文件操作接口外,还提供与高速缓存的每个块设备驱动器除提供正常的文件操作接口外,还提供与高速缓存的每个块设备驱动器除提供正常的文件操作接口外,还提供与高速缓存的每个块
39、设备驱动器除提供正常的文件操作接口外,还提供与高速缓存的接口。接口。接口。接口。目录目录5.8.2 Linux的设备管理实验的设备管理实验目录目录添加硬件设备添加硬件设备单击单击工具工具栏栏中的中的“新建新建”按按钮钮,打,打开开“添加一添加一个个新打印新打印机机队队列列”窗口。窗口。单击单击“前前进进”按按钮钮,打,打开开“队队列名列名称称”窗口,窗口,输输入名入名称称和和简简短描述信息。短描述信息。3在主菜在主菜单单中中选择选择“系系统设统设置置”Printing命令,打命令,打开开“打打印机配置印机配置”窗口。窗口。12目录目录5.4.2 Sprite的使用的使用单击单击“前前进进”按按钮钮,打,打开开“打印机型打印机型号号”窗口,窗口,选择选择打印打印机制造商和型机制造商和型号号。6单击单击“前前进进”按按钮钮,打,打开开“队队列列类类型型”窗口。在窗口。在“选择队选择队列列类类型型”下拉列表框中下拉列表框中选择选择正确的正确的队队列列类类型,在型,在“服服务务器器”文本框中文本框中输输入服入服务务器名器名称称。45单击单击“前前进进”按按钮钮,打打开开的窗口中的窗口中单击“应应用用”按按钮钮完完成打印机的安装成打印机的安装过过程。程。
限制150内