第6章设备管理.pptx

上传人:莉*** 文档编号:87407238 上传时间:2023-04-16 格式:PPTX 页数:81 大小:926.82KB
返回 下载 相关 举报
第6章设备管理.pptx_第1页
第1页 / 共81页
第6章设备管理.pptx_第2页
第2页 / 共81页
点击查看更多>>
资源描述

《第6章设备管理.pptx》由会员分享,可在线阅读,更多相关《第6章设备管理.pptx(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、具体应用具体应用即插即用即插即用PnPPnP设备设备非即插即用设备非即插即用设备LinuxLinux将将外外部部设设备备看看作作文文件件设设备备文文件件,它它以以设备名作为文件名。设备名作为文件名。应应用用物物理理设设备备前前用用mountmount命命令令挂挂装装到到目目录录树树上上(称为加载)。(称为加载)。使使用用完完成成后后用用umountumount命命令令从从目目录录树树卸卸下下(称称为为卸卸载),才可取走该设备。载),才可取走该设备。要要挂挂装装到到作作为为挂挂装装点点的的目目录录,系系统统通通常常已已准准备备了了一一些些常常用用挂挂装装点点,如如果果挂挂装装点点不不存存在在,必

2、必需需要要用用mkdirmkdir命命令令建立,然后才可进行挂装。建立,然后才可进行挂装。第1页/共81页6.1.2 6.1.2 设备管理的功能设备管理的功能1.1.设备管理应为每一类设备提供相应的设备驱动程序设备管理应为每一类设备提供相应的设备驱动程序2.2.提供设备独立性提供设备独立性3.3.对缓冲区进行管理对缓冲区进行管理4.4.对对SpoolingSpooling技术的支持。技术的支持。5.5.进行设备分配进行设备分配6.6.提供中断处理机制提供中断处理机制第2页/共81页1.1.提供相应的设备驱动程序提供相应的设备驱动程序选择打印机选择打印机型号型号确定打印机确定打印机的驱动程序。的

3、驱动程序。图6.1 选定打印机型号第3页/共81页2.2.提供设备独立性提供设备独立性用用户户使使用用或或编编程程时时,打打印印机机表表现现为为一一个个普通的逻辑名称。普通的逻辑名称。系系统统为为了了识识别别其其管管理理的的所所有有设设备备,给给每每个个设设备备一一个个唯唯一一的的不不可可更更改改的的识识别别号号,称为设备的物理名。称为设备的物理名。通通过过逻逻辑辑设设备备名名和和物物理理设设备备名名,提提供供设设备备独独立立性性,这这是是设设备备管管理理的的一一项项重重要要任任务。务。图6.2 逻辑打印机第4页/共81页3.3.对缓冲区进行管理对缓冲区进行管理为了解决速度不匹配问题,大部分外

4、设都采用设为了解决速度不匹配问题,大部分外设都采用设置缓冲区的方法。置缓冲区的方法。缓冲区可设置在内存中,称为缓冲区可设置在内存中,称为“软件缓冲软件缓冲”;也可让外设自带专用的寄存器,作为硬件缓冲器。也可让外设自带专用的寄存器,作为硬件缓冲器。例如利用打印机打印一篇文章,例如利用打印机打印一篇文章,CPUCPU在打印机就在打印机就绪后,可把数据输出到缓冲区,打印机则从缓冲绪后,可把数据输出到缓冲区,打印机则从缓冲区取出数据打印,就这样一边送一边打,提高区取出数据打印,就这样一边送一边打,提高CPUCPU的利用率。并且由于一次可以送一批数据到的利用率。并且由于一次可以送一批数据到缓冲区,因而节

5、省了缓冲区,因而节省了CPUCPU的数据传送时间。的数据传送时间。第5页/共81页4.4.对对SpoolingSpooling技术的支持技术的支持SpoolingSpooling(Simultaneous Simultaneous Peripheral Peripheral Operations On-lineOperations On-line)也称为假脱机技术。也称为假脱机技术。此此技技术术在在磁磁盘盘上上专专门门开开辟辟一一个个区区域域,CPUCPU不不需需等等到到打打印印机机处处于于就就绪绪状状态态,就就可可直直接接将将要要打打印印的的所所有作业存放到磁盘中,排成打印队列。有作业存放到

6、磁盘中,排成打印队列。合合适适的的时时候候由由专专门门的的程程序序(在在WindowsWindows中中称称为为后后台台进进程程)把把要要打打印印的的信信息息从从磁磁盘盘送送到到打打印印机机,并管理打印机的打印工作。并管理打印机的打印工作。给给人人的的感感觉觉好好像像每每个个作作业业都都有有一一台台打打印印机机。也也就就是是说说,该该技技术术将将一一台台独独享享设设备备模模拟拟成成了了共共享享设设备备。支持支持SpoolingSpooling技术意味着支持虚拟设备。技术意味着支持虚拟设备。图6.4 等待打印机的队列第6页/共81页5.5.进行设备分配进行设备分配多多个个进进程程或或作作业业都都

7、要要求求使使用用某某种种设设备备时时,设设备备管管理理根根据据一一定定的的算算法法进进行行设设备备分分配配,对对暂暂时时不不能能获获得得设设备备的的,系系统统将将它它们们排排在在该该设设备备请请求求队队列列中中,排排队队顺顺序序决决定定了了获获得得设设备备的的次次序序。而而当当设设备备使使用用完完毕毕,设设备备管管理理要要及及时时回收。回收。第7页/共81页6.6.提供中断处理机制提供中断处理机制如如果果打打印印过过程程中中出出现现问问题题(如如掉掉电电、缺缺纸纸、脱机等),需要脱机等),需要CPUCPU进行紧急处理。进行紧急处理。系系统统采采用用了了中中断断技技术术当当某某个个事事件件发发生

8、生时时,系系统统中中止止现现行行程程序序的的运运行行,转转去去执执行行相相应应的的事事件件处处理理程程序序,处处理理完完毕毕,返返回回被被中断处继续执行。中断处继续执行。当当出出现现问问题题时时,中中断断源源立立即即向向CPUCPU发发出出一一个中断信号,系统进入中断处理机制。个中断信号,系统进入中断处理机制。第8页/共81页6.2 6.2 设备标识与设备驱动程序设备标识与设备驱动程序6.2.1 6.2.1 逻辑设备与物理设备逻辑设备与物理设备1.1.逻辑设备和物理设备的含义逻辑设备和物理设备的含义2.2.设备独立性设备独立性3.3.设备独立性的优点设备独立性的优点第9页/共81页1.1.逻辑

9、设备和物理设备的含义逻辑设备和物理设备的含义逻辑设备逻辑设备逻逻辑辑设设备备是是对对实实际际物物理理设设备备属属性性的的抽抽象象,它它并并不不限限于于某某个具体设备。个具体设备。用用户户在在编编程程时时,不不用用关关心心系系统统具具体体配配置置了了哪哪些些设设备备,也也不不需需要要了了解解各各种种设设备备的的物物理理特特性性,而而只只要要按按照照惯惯例例为为所所用到的设备起个逻辑名字,称为逻辑设备名。用到的设备起个逻辑名字,称为逻辑设备名。物理设备物理设备物理设备是一个具体的设备。物理设备是一个具体的设备。系系统统为为了了能能识识别别全全部部外外设设,给给每每台台外外设设分分配配一一个个唯唯一

10、一不不变的名字,称为物理设备名。变的名字,称为物理设备名。通过引入逻辑设备和物理设备,可实现设备独立性。通过引入逻辑设备和物理设备,可实现设备独立性。第10页/共81页2.2.设备独立性设备独立性设设备备独独立立性性也也称称为为设设备备无无关关性性,指指用用户户编编程程时时所所使使用用的的设设备备与与实实际际使使用用的的设设备备无无关关,用用户户编编程程时时使使用用逻辑设备名。逻辑设备名。用用户户程程序序以以逻逻辑辑设设备备名名来来请请求求使使用用某某类类设设备备时时,系系统统将将在在该该类类设设备备中中,根根据据设设备备的的使使用用情情况况,将将任任一一台台合合适适的的物理设备分配给该程序。

11、物理设备分配给该程序。如如果果用用户户程程序序是是以以物物理理设设备备名名来来请请求求指指定定某某台台设设备备,假假如如该该设设备备有有故故障障或或正正在在被被其其他他进进程程使使用用,则则用用户户程程序序只只能一直等待。能一直等待。采采用用逻逻辑辑设设备备名名,可可以以使使用用户户程程序序独独立立于于分分配配给给它它的的某某类设备的具体设备。类设备的具体设备。第11页/共81页2.2.设备独立性设备独立性使用逻辑设备名,还能使用户程序独立于所使用使用逻辑设备名,还能使用户程序独立于所使用的某类设备。的某类设备。例如,在例如,在LinuxLinux系统环境下,系统提供标准输入系统环境下,系统提

12、供标准输入/输出,输出,在用户程序中的输入在用户程序中的输入/输出都使用这两个标准的输出都使用这两个标准的I/OI/O,实际运行时,可根据具体情况而定。实际运行时,可根据具体情况而定。如果配备打印机,可将输出信息送到打印机打印;如果配备打印机,可将输出信息送到打印机打印;如果没有配备打印机,就把输出重定向到某个指定文件,如果没有配备打印机,就把输出重定向到某个指定文件,把要打印的信息送到该文件中。把要打印的信息送到该文件中。第12页/共81页3.3.设备独立性的优点设备独立性的优点(1 1)方便用户编程。)方便用户编程。(2 2)便于程序移植。)便于程序移植。(3 3)提高了资源利用率。)提高

13、了资源利用率。(4 4)能适应多用户多进程的需要。)能适应多用户多进程的需要。第13页/共81页6.2.2 6.2.2 实用系统中的逻辑设备和物理设备实用系统中的逻辑设备和物理设备LinuxLinux系统中外部设备等同文件系统中外部设备等同文件设备文件;设备文件;这些设备文件名就是系统规定的逻辑设备名;这些设备文件名就是系统规定的逻辑设备名;系统的系统的/dev/dev目录下是各种设备:目录下是各种设备:(1 1)以)以fdfd开头的文件是软盘设备。开头的文件是软盘设备。/dev/fd0/dev/fd0第一个软盘驱动器第一个软盘驱动器/dev/fd1/dev/fd1第二个软盘驱动器第二个软盘驱

14、动器/dev/fd1h1440/dev/fd1h1440第一软驱中的第一软驱中的3.53.5英寸高密软盘。英寸高密软盘。(2 2)以)以hdhd开头的文件是开头的文件是IDEIDE硬盘设备。硬盘设备。/dev/hda/dev/hda第一硬盘第一硬盘hda1hda1第一个硬盘第一个硬盘/dev/hda/dev/hda的第一个分区的第一个分区hdahda、hdbhdb、hdchdc、系统中的多个系统中的多个IDEIDE硬盘硬盘(3 3)/dev/ttys/dev/ttys串行端口串行端口COM1COM1,/dev/cua/dev/cua调制解调器。调制解调器。(4 4)以)以lplp开头的文件是并

15、行端口设备。开头的文件是并行端口设备。/dev/lp0/dev/lp0LPT1LPT1。以以ttytty开头的文件是系统的虚拟终端开头的文件是系统的虚拟终端以以ptypty开头的文件是伪终端,用开头的文件是伪终端,用telnettelnet远程登录时用到远程登录时用到/dev/console/dev/console控制台,即直接与系统相连的显示器和键盘。控制台,即直接与系统相连的显示器和键盘。第14页/共81页WindowsWindows中的设备中的设备图6.6 设备管理器 第15页/共81页6.2.3 6.2.3 设备驱动程序设备驱动程序设备驱动程序是驱动物理设备直接进行各设备驱动程序是驱动

16、物理设备直接进行各种操作的软件,它可看作种操作的软件,它可看作I/OI/O系统和物理系统和物理设备的接口,所有进程对于设备的请求都设备的接口,所有进程对于设备的请求都要通过设备驱动程序来完成。要通过设备驱动程序来完成。1.1.设备控制器设备控制器2.2.设备驱动程序的引入设备驱动程序的引入3.3.设备驱动程序的处理过程设备驱动程序的处理过程4.4.实用系统中的设备驱动程序实用系统中的设备驱动程序第16页/共81页1.1.设备控制器设备控制器外设机械部件电子部件独立出来设备控制器设备只有在设备控制器的控制下才能运行,且一个控制器可以控制几台同类设备。设备控制器CPU设备控制寄存器、状态寄存器、数

17、据寄存器、地址译码器等接收和识别CPU发来的命令 实现控制器与CPU之间、控制器和外设之间的数据交换 记录设备的状态(如设备就绪、设备忙、操作错误等)供CPU了解 用于识别每个设备的地址 第17页/共81页2.2.设备驱动程序的引入设备驱动程序的引入将用户命令中的逻辑设备名转换为物理设备名,将用户命令中的逻辑设备名转换为物理设备名,系统只是完成了第一步工作,至于要具体操纵这系统只是完成了第一步工作,至于要具体操纵这台物理设备,就复杂多了。台物理设备,就复杂多了。操作系统设计者把与物理设备直接有关的软件部操作系统设计者把与物理设备直接有关的软件部分独立出来,构成设备驱动程序系列,一般由设分独立出

18、来,构成设备驱动程序系列,一般由设备商和软硬件开发商提供的针对某一种具体设备备商和软硬件开发商提供的针对某一种具体设备的驱动程序组成。的驱动程序组成。系统和用户可根据需要,灵活配置物理设备,选系统和用户可根据需要,灵活配置物理设备,选择相应的驱动程序装载。择相应的驱动程序装载。第18页/共81页3.3.设备驱动程序的处理过程设备驱动程序的处理过程(1 1)将将抽抽象象要要求求转转换换为为具具体体要要求求(控控制制器器中中寄寄存存器内容)。器内容)。(2 2)检查)检查I/OI/O请求的合法性。请求的合法性。(3 3)检检查查设设备备状状态态。读读状状态态寄寄存存器器内内容容,看看设设备备忙忙/

19、闲状态。闲状态。(4 4)传送必要的参数。)传送必要的参数。(5 5)启启动动I/OI/O设设备备。向向设设备备控控制制器器中中的的命命令令寄寄存存器器传传送送控控制制命命令令,将将外外设设启启动动,然然后后可可由由设设备备控控制制器来控制外设进行基本器来控制外设进行基本I/OI/O操作。操作。不同类型的外设,驱动程序是不一样的。不同类型的外设,驱动程序是不一样的。第19页/共81页4.4.实用系统中的设备驱动程序实用系统中的设备驱动程序控制面板管理工具计算机管理设备管理器指定设备属性驱动程序驱动程序详细清单图6.7 设备驱动程序详细资料图6.8 Windows设备及其的驱动程序第20页/共8

20、1页4.4.实用系统中的设备驱动程序实用系统中的设备驱动程序Linux Linux 核核心心的的设设备备驱驱动动程程序序本本质质上上是是特特权权的的、驻驻留留内内存存的的低低级的硬件控制例程的共享库。级的硬件控制例程的共享库。Linux Linux 支持三类的硬件设备:字符、块和网络。支持三类的硬件设备:字符、块和网络。字字符符设设备备直直接接读读写写,没没有有缓缓冲冲区区,例例如如系系统统的的串串行行端端口口 /dev/cua0/dev/cua0 和和 /dev/cua1/dev/cua1。块块设设备备只只能能按按照照一一个个块块(一一般般是是 512 512 字字节节或或者者 1024 1

21、024 字字节节)的的倍倍数数进进行行读读写写。块块设设备备通通过过 buffer buffer cache cache 访访问问,可可以以随随机机存取。存取。大大多多数数的的设设备备驱驱动动程程序序可可以以在在需需要要的的时时候候作作为为核核心心模模块块加加载载,在不再需要的时候卸载。在不再需要的时候卸载。每每一一类类的的设设备备驱驱动动程程序序:字字符符、块块和和网网络络,都都提提供供了了通通用用的的接口供核心在需要请求它们的服务的时候使用。接口供核心在需要请求它们的服务的时候使用。第21页/共81页6.3 6.3 输入输入/输出控制方式输出控制方式6.3.1 6.3.1 程序控制输入程序

22、控制输入/输出方式输出方式6.3.2 6.3.2 中断输入中断输入/输出方式输出方式6.3.3 6.3.3 直接存储器访问方式直接存储器访问方式6.3.4 6.3.4 通道方式通道方式由谁来做输入/输出的工作?CPU(程序)?DMA?通道?第22页/共81页6.3.1 6.3.1 程序控制输入程序控制输入/输出方式输出方式程序控制输入程序控制输入/输出方式又称为输出方式又称为 状态驱动输入状态驱动输入/输出方式输出方式 或应答输入或应答输入/输出方式输出方式它采用程序查询的方式直接参与数据它采用程序查询的方式直接参与数据的输入的输入/输出。(注意:程序就是输出。(注意:程序就是CPUCPU)第

23、23页/共81页程序控制输入程序控制输入/输出方式输出方式 以以键盘键盘为例为例1.1.CPUCPU向向键键盘盘的的控控制制器器发发一一条条输输入入命命令令,启启动动键键盘盘进进行行输输入入操操作作,并并将将状状态态寄寄存存器器的的”忙忙闲位闲位”置置1 1,表示忙。,表示忙。2.2.然然后后CPUCPU运运行行程程序序不不断断测测试试状状态态寄寄存存器器的的完完成成位位,看看键键盘盘是是否否完完成成了了输输入入。直直到到键键盘盘已已将将数数据据输输入入到到了了键键盘盘控控制制器器的的数数据据寄寄存存器器中中,状状态态寄寄存存器器的的完完成成位位变变为为1 1时时,CPUCPU才才停停止止测测

24、试。试。3.CPU3.CPU取走数据寄存器中的输入数据。取走数据寄存器中的输入数据。目目 前前 IDEIDE接接 口口 硬硬 盘盘 仍仍 在在 使使 用用 这这 种种 方方 式式,称称 为为PIOPIO(Programming Input/OutputProgramming Input/Output)模式。)模式。问题:CPU等待每一个操作完成的时候会花费大量时间“忙于什么也不做”(busy doing nothing)CPU大部分时间都处于检查和等待状态,整个计算系统的效率十分低下。第24页/共81页6.3.2 6.3.2 中断输入中断输入/输出方式输出方式 CPUCPU请请求求设设备备传传

25、输输后后不不等等待待,转转去去做做其其他他更更有有用用的的事事情情,当当设设备备完完成成请请求求的的时时候候向向CPUCPU发发设设备备中中断断。(系系统统中中同同一一时时刻刻可可能能有有许许多多设设备备的的请请求求在在同时发生。)同时发生。)所所谓谓中中断断,就就是是指指当当某某个个事事件件发发生生时时,向向系系统统发发出出一一个个中中断断信信号号,系系统统于于是是中中止止现现行行程程序序的的运运行行,转转去去执执行行相相应应的的中中断断处处理理程程序序,完完毕毕后后返返回回断断点点继续执行。继续执行。需需要要在在CPUCPU和和每每一一个个设设备备控控制制器器之之间间增增加加一一条条中中断

26、断请请求求线线,并并在在设设备备控控制制器器的的控控制制寄寄存存器器中中增增加加一个中断允许位。一个中断允许位。第25页/共81页中断输入中断输入/输出方式输出方式 以键盘输入为以键盘输入为例例(1 1)开开中中断断。CPUCPU把把启启动动位位和和中中断断允允许许位位为为1 1的的控控制制字字写写入入键键盘盘控控制制状状态态寄寄存存器器中中,启启动动键键盘盘。(当当中中断断允允许许位位为为1 1时时,中断程序可以被调用。)中断程序可以被调用。)(2 2)进进程程等等待待键键盘盘输输入入完完成成(进进入入等等待待队队列列),由由进进程程调调度程序调度其他就绪进程使用度程序调度其他就绪进程使用C

27、PUCPU。(3 3)键键盘盘启启动动后后,当当数数据据寄寄存存器器装装满满后后,键键盘盘控控制制器器通通过过中断请求线向中断请求线向CPUCPU发出中断信号。发出中断信号。(4 4)CPUCPU暂暂停停正正在在进进行行的的工工作作,转转向向执执行行中中断断处处理理程程序序。(取取出出数数据据寄寄存存器器中中的的输输入入数数据据送送到到内内存存特特定定单单元元,并并将将等待输入完成的进程唤醒。)等待输入完成的进程唤醒。)(5 5)中断处理程序完毕,)中断处理程序完毕,CPUCPU返回断点继续执行。返回断点继续执行。(6 6)以以后后某某个个时时刻刻,进进程程调调度度程程序序选选中中正正处处于于

28、就就绪绪状状态态的的那那个个进进程程,该该进进程程从从特特定定内内存存单单元元中中取取出出所所需需的的数数据据继继续续工作。工作。第26页/共81页图图6.9 6.9 中断输入中断输入/输出方输出方式式 中断输入/输出方式优点:CPU不需等待数据传输完成,I/O设备与CPU并行工作,CPU的利用率因此提高。缺点:CPU在响应中断后,还需要时间来执行中断服务程序。如果数据量大,需要多次执行中断程序,CPU的效率仍然不高。第27页/共81页6.3.3 6.3.3 直接存储器访问方式直接存储器访问方式 DMADMA(Direct Memory AccessDirect Memory Access)方

29、式:)方式:在外部设备和主存之间建立了直接数据通路,在外部设备和主存之间建立了直接数据通路,即外设和主存之间可直接读写数据,且数据即外设和主存之间可直接读写数据,且数据传送的基本单位是数据块。传送的基本单位是数据块。整块数据的传输在一个称为整块数据的传输在一个称为DMADMA控制器的控控制器的控制下完成。制下完成。DMADMA数据传输期间不需数据传输期间不需CPUCPU干预,仅在传送干预,仅在传送一个或多个数据块的开始或结束时,才需一个或多个数据块的开始或结束时,才需CPUCPU处理。处理。第28页/共81页图图6.10 DMA6.10 DMA控制方式控制方式第29页/共81页图图6.11 D

30、MA6.11 DMA数据输入处理过数据输入处理过程程使用 DMA 的时候设备驱动程序必须小心。1、所有的 DMA 控制器都不了解虚拟内存,它只能访问系统中的物理内存。2、DMA 控制器无法访问全部的物理内存。DMA的地址寄存器的位数决定了它能访问的内存地址。DMA方式缺点:(1)外设数量众多,配置DMA控制器,硬件的成本过大。(2)每一台外设的DMA都需要CPU的I/O指令初始化,浪费CPU时间。(3)由于DMA控制器实际上是使用窃取CPU工作周期的方法进行工作的,它工作时,CPU将被挂起。如果众多外设都采用DMA方式工作,接连不断的窃取周期,则会使CPU长时间被挂起,从而降低了CPU的效率。

31、第30页/共81页DMADMA与中断输入与中断输入/输出方式进行比输出方式进行比较较(1 1)谁的中断次数多?)谁的中断次数多?(2 2)由谁完成数据传输?)由谁完成数据传输?(3 3)工作机制?软件?硬件?适用范围?)工作机制?软件?硬件?适用范围?(4 4)DMADMA与中断是否矛盾?与中断是否矛盾?第31页/共81页6.3.4 6.3.4 通道方式通道方式1.1.通道的概念通道的概念通通道道是是一一个个独独立立于于CPUCPU的的专专管管输输入入输输出出控控制制的的处处理理机机,它它控控制制设设备与内存直接进行数据交换。备与内存直接进行数据交换。通通道道有有自自己己的的一一套套简简单单的

32、的指指令令系系统统,称称为为通通道道指指令令。每每条条通通道道指指令令规规定定了了设设备备的的一一种种操操作作,通通道道指指令令序序列列便便是是通通道道程程序序,通通道道执执行行通通道程序来完成规定动作。道程序来完成规定动作。第32页/共81页1.1.通道的概念通道的概念通道处理机寄存器部分控制部分数据寄存器主存地址寄存器传输字节寄存器通道命令寄存器通道状态寄存器分时控制地址分配数据传送等通道靠执行通道程序软件完成数据传输,通道控制器的功能比DMA控制器更强大,它能够承担外设的大部分工作。第33页/共81页2.2.通道的种类通道的种类以字节为传输单位,可以分时地执行多个通道程序。这是一种简单的

33、共享通道,主要为多台低速或中速的字符设备服务。它用开关来控制对高速外设的选择,在一段时间内单独为一台外围设备服务,直到该设备的数据传输工作全部结束。然后通道再选择另一台外设为其提供服务。它分时地为多台外围设备服务,每个时间片传送一个数据块。可以同时连接多台高速存储设备,因此,它能够充分发挥高速通道的数据传输能力。第34页/共81页3.3.通道工作过程通道工作过程CPUCPU根根据据进进程程的的I/OI/O请请求求,形形成成有有关关通通道道程程序序,然后执行然后执行I/OI/O指令启动通道。指令启动通道。通通道道处处理理机机开开始始运运行行CPUCPU存存放放在在主主存存中中的的通通道道程程序序

34、,独独立立负负责责外外设设和和主主存存之之间间的的数数据据传传送送。当整个当整个I/OI/O过程结束,才向过程结束,才向CPUCPU发出中断请求。发出中断请求。CPUCPU响响应应中中断断,进进行行关关闭闭通通道道、记记录录相相关关数数据据等工作。等工作。采用通道方式,CPU基本上摆脱了I/O传输工作,大大增强了CPU和外设的并行处理能力,有效地提高了整个系统的资源利用率。第35页/共81页4.4.通道和通道和DMADMA控制器的区别控制器的区别(1 1)DMADMA控制器和通道是硬件工作还是软件工作?控制器和通道是硬件工作还是软件工作?(2 2)连接外设的类型限制?)连接外设的类型限制?(3

35、 3)和)和CPUCPU的沟通方式?的沟通方式?CPUCPU的介入程度?对外设的控制?的介入程度?对外设的控制?第36页/共81页6.3.5 6.3.5 WindowsWindows中中的的数数据据传传输输控控制制方方式式(1 1)端口:外设都是通过接口和系统相连的,)端口:外设都是通过接口和系统相连的,接口中有数据寄存器、状态寄存器、命令接口中有数据寄存器、状态寄存器、命令寄存器等,每个寄存器被分配一个称为寄存器等,每个寄存器被分配一个称为I/OI/O端口的地址编码加以区分。故一个外设常端口的地址编码加以区分。故一个外设常有多个有多个I/OI/O端口地址,计算机通过不同的端口地址,计算机通过

36、不同的I/OI/O端口来选择外设,并通过端口来和外设端口来选择外设,并通过端口来和外设进行通信。进行通信。第37页/共81页图图6.13 6.13 键盘使用的端口地址键盘使用的端口地址第38页/共81页(2 2)中断向量:当设备准备接受或发送)中断向量:当设备准备接受或发送信息时,可以用来发送信号以获得处理信息时,可以用来发送信号以获得处理器注意的硬件线路。每条线路用一个中器注意的硬件线路。每条线路用一个中断向量断向量IRQIRQ来标志。每个设备都必须有唯来标志。每个设备都必须有唯一的一的IRQIRQ线路。线路。第39页/共81页图图6.14 IRQ6.14 IRQ及其对应的及其对应的设备设备

37、第40页/共81页(3 3)DMADMA:DMADMA是不涉及处理器的内存是不涉及处理器的内存访问。经常用于内存和外围设备(如磁盘访问。经常用于内存和外围设备(如磁盘驱动器)之间的直接数据传输。在驱动器)之间的直接数据传输。在PCPC机机中,中,DMADMA控制器通常集成到大规模控制器通常集成到大规模ICIC芯芯片中,一个片中,一个DMADMA控制器只有四个独立的控制器只有四个独立的DMADMA通道,为了使用更多的通道,为了使用更多的DMADMA通道,通道,可由两个可由两个DMADMA控制器组成组联方式,将控制器组成组联方式,将第二个第二个DMADMA控制器连到第一个控制器连到第一个DMADM

38、A控制控制器的第四个通道,因此一共有七个器的第四个通道,因此一共有七个DMADMA通道可供使用。通道可供使用。第41页/共81页图图6.15 DMA6.15 DMA通通道道第42页/共81页6.3.5 Windows6.3.5 Windows中的数据传输控制方中的数据传输控制方式式一个设备要能正常工作,就必需为它分一个设备要能正常工作,就必需为它分配合适的配合适的I/OI/O端口地址、端口地址、IRQIRQ、DMADMA通通道等资源。当然,对于不使用道等资源。当然,对于不使用DMADMA方式方式的设备,只需的设备,只需I/OI/O和和IRQIRQ即可。即可。不同设备如果分配的不同设备如果分配的

39、I/OI/O、IRQIRQ、DMADMA资源有重复,必然会发生资源冲突,轻资源有重复,必然会发生资源冲突,轻者设备不能正常工作,重者导致系统崩者设备不能正常工作,重者导致系统崩溃。溃。图6.16 冲突与共享第43页/共81页6.4 6.4 设备分配设备分配由于外设、设备控制器、通道等资源有限,对多个请求使用设由于外设、设备控制器、通道等资源有限,对多个请求使用设备的进程,设备管理应能合理、有效地进行设备的分配。备的进程,设备管理应能合理、有效地进行设备的分配。第44页/共81页图图6.17 6.17 设备分配中的数据结构设备分配中的数据结构就象进程控制块PCB、作业控制块JCB一样,系统为每个

40、设备建立一个设备控制块DCB,主要用来记录本设备的各种情况。记录控制器的情况。记录通道的情况。整个系统有一张系统设备表SDT,存放了系统的所有设备,每个设备占一个表项,内容有设备标识、设备类型、设备DCB指针、还可包含设备驱动程序入口等内容。系统通过这些数据结构对各种设备进行记录,再配合适当的分配策略和算法,就能实施有效的设备分配。只有当一个进程经过系统的设备分配,获得了通道、控制器和所需设备后,才具备了进行I/O操作的物理条件。第45页/共81页6.4.2 6.4.2 设备分配思想设备分配思想设备分配的原则:设备分配的原则:充分提高设备的利用率;充分提高设备的利用率;在不导致死锁的情况下尽量

41、满足用户的要求。在不导致死锁的情况下尽量满足用户的要求。设备分配的功能:设备分配的功能:接受用户提出的逻辑设备分配的要求,把它转换为对物理设备的接受用户提出的逻辑设备分配的要求,把它转换为对物理设备的分配。分配。第46页/共81页1.1.设备分配方式设备分配方式如果将独享设备虚拟为共享设备,破坏产如果将独享设备虚拟为共享设备,破坏产生死锁的互斥条件,那么死锁就不会产生生死锁的互斥条件,那么死锁就不会产生了。了。静态分配动态分配在进程刚建立就把其需要的设备全部分配给它,直到整个进程运行后被撤销才释放这些设备。静态分配的优点是不会产生死锁。常用于单用户系统。当进程运行过程中提出对设备的请求,系统为

42、这个进程分配所需的设备,一旦该进程使用完这个设备,立刻释放出来给别的进程。动态分配使设备的利用率得到很大提高,但这种方式如果采取的分配算法不当,则有可能会导致死锁。第47页/共81页2.2.独享设备调度算法独享设备调度算法(1 1)先来先服务)先来先服务(2 2)优先级高者先服务)优先级高者先服务当有多个进程对同一台设备提出分配请求时,根据进程对某设备提出请求的时间顺序,将这些进程控制块排成一个设备请求队列,处于队首的进程最先获得使用权。请求设备的进程按优先级排入设备请求队列,在优先级相同的情况下,再按时间顺序排列,设备总是分配给队首具有最高优先级的进程使用。第48页/共81页3.3.共享设备

43、调度算法共享设备调度算法 共共享享设设备备的的典典型型代代表表为为磁磁盘盘,完完成成磁磁盘盘某某一个物理块的访问要经过三个时间段:一个物理块的访问要经过三个时间段:寻道时间寻道时间TsTs旋转延迟旋转延迟TwTw读写时间读写时间TrwTrw寻道时间Ts是磁头从当前磁道移动到目标磁道所需的时间;旋转延迟Tw是当磁头停留在目标磁道后,目标物理块从当前位置旋转到磁头位置的时间;读写时间Trw是目标物理块内容与内存中对应区交换的时间。磁盘调度的原则是公平和高吞吐量,衡量指标有:访问时间T:T=Ts+Tw+Trw =Ts+Tw平均访问时间Ta:Ta=Tsa+Twa+Trwa =Tsa+Twa第49页/共

44、81页3.3.共享设备调度算法共享设备调度算法(1 1)先来先服务)先来先服务(First Come First ServeFirst Come First Serve)(2 2)最短寻道时间优先)最短寻道时间优先(Shortest Service Time FirstShortest Service Time First)(3 3)电梯算法)电梯算法第50页/共81页(1 1)先来先服务)先来先服务FCFSFCFS将申请磁盘服务的进程按先后顺序将申请磁盘服务的进程按先后顺序排队,每次调度选择位于队首的进程运排队,每次调度选择位于队首的进程运行。行。例:假定当前磁头处在第例:假定当前磁头处在第

45、6 6道,等待服务道,等待服务的进程有的进程有7 7个,它们请求的磁道先后顺序个,它们请求的磁道先后顺序是:是:8 8、1 1、2424、2 2、3232、5 5、1818。求所有。求所有进程运行后磁头一共移动的磁道数。进程运行后磁头一共移动的磁道数。解:移动的磁道数计算如下:解:移动的磁道数计算如下:2+7+23+22+30+27+13=1242+7+23+22+30+27+13=124公平,但吞吐量不高!第51页/共81页(2 2)最短寻道时间优先)最短寻道时间优先SSTFSSTF算法选择离当前磁头位置最近的目标物算法选择离当前磁头位置最近的目标物理块优先访问,以保证最短的寻道时间。理块优

46、先访问,以保证最短的寻道时间。例:假定当前磁头处在第例:假定当前磁头处在第6 6道,等待服务的进道,等待服务的进程有程有7 7个,它们请求的磁道先后顺序是:个,它们请求的磁道先后顺序是:8 8、1 1、2424、2 2、3232、5 5、1818。求所有进程运行后磁头。求所有进程运行后磁头一共移动的磁道数。一共移动的磁道数。解:采用解:采用SSTFSSTF算法后的调度序列变为:算法后的调度序列变为:8 8、5 5、2 2、1 1、1818、2424、3232 移动的磁道数计算如下:移动的磁道数计算如下:2+3+3+1+17+6+8=402+3+3+1+17+6+8=40优点:降低了系统的平均寻

47、道时间,提高了系统吞吐量;缺点:磁盘内外边缘的磁道访问频率降低,有失公平性。第52页/共81页(3 3)电梯算法)电梯算法磁头向一个方向移动的过程中,选择离磁头最近磁头向一个方向移动的过程中,选择离磁头最近的目标物理块访问,直到没有要访问的物理块,的目标物理块访问,直到没有要访问的物理块,然后磁头变换移动方向,以同样的方式选择访问然后磁头变换移动方向,以同样的方式选择访问磁盘的进程。磁盘的进程。例:假定当前磁头处在第例:假定当前磁头处在第6 6道,等待服务的进程有道,等待服务的进程有7 7个,它们请求的磁道先后顺序是:个,它们请求的磁道先后顺序是:8 8、1 1、2424、2 2、3232、5

48、 5、1818。求所有进程运行后磁头一共移动的。求所有进程运行后磁头一共移动的磁道数(假定磁头的初始方向是由低磁道向高磁磁道数(假定磁头的初始方向是由低磁道向高磁道)。道)。解:采用电梯算法后的调度序列变为:解:采用电梯算法后的调度序列变为:8 8、1818、2424、3232、5 5、2 2、1 1 移动的磁道数:移动的磁道数:2+10+6+8+27+3+1=572+10+6+8+27+3+1=57电梯算法兼顾了公平性和高吞吐量,目前较多采用电梯调度算法。第53页/共81页4.4.设备分配程序设备分配程序第54页/共81页如何对应逻辑设备和物理设备?如何对应逻辑设备和物理设备?进进程程是是以

49、以物物理理设设备备名名提提出出I/OI/O请请求求的的。而而事事实实上上进进程程应应采采用用逻逻辑辑设设备备名名来来提提出出设设备备请请求求,以以保证设备独立性。保证设备独立性。系系 统统 建建 立立 逻逻 辑辑 设设 备备 表表 LUTLUT(Logical Logical Unit Unit TableTable),来来对对应应逻逻辑辑设设备备名名和和物物理理设设备备名名的的关系。关系。在在多多用用户户系系统统中中,每每个个用用户户进进程程PCBPCB中中有有一一张张LUTLUT,当当进进程程使使用用逻逻辑辑设设备备名名请请求求I/OI/O操操作作时时,系统通过查找系统通过查找LUTLUT

50、,即可找到对应的物理设备。,即可找到对应的物理设备。第55页/共81页6.4.3 Spooling6.4.3 Spooling技术技术SpoolingSpooling又称假脱机技术,又称假脱机技术,现代操作系统都支持该技术,它现代操作系统都支持该技术,它主要实现将独享设备虚拟为共享主要实现将独享设备虚拟为共享设备。设备。SpoolingSpooling技术在大容量外技术在大容量外存的支持下,由预输入程序和预存的支持下,由预输入程序和预输出程序来进行数据传输。输出程序来进行数据传输。第56页/共81页图图6.19 Spooling6.19 Spooling系统系统(1)在磁盘上开辟两个空间,分别

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁