收藏 分享(赏)

计算机操作系统考研讲义(5).doc

上传人:精品资料 文档编号:10053503 上传时间:2019-10-02 格式:DOC 页数:16 大小:94.50KB
下载 相关 举报
计算机操作系统考研讲义(5).doc_第1页
第1页 / 共16页
计算机操作系统考研讲义(5).doc_第2页
第2页 / 共16页
计算机操作系统考研讲义(5).doc_第3页
第3页 / 共16页
计算机操作系统考研讲义(5).doc_第4页
第4页 / 共16页
计算机操作系统考研讲义(5).doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、更多免费资料下载请进:http:/ 中国最大的免费课件资料库第 5 章 输入输出设备管理本章是操作系统的第四大功能,属于对硬件的管理。主要内容有:外部设备的分类及安装、输入输出设备的分配算法、外部设备和 CPU 之间的数据传送控制方式(程序直接控制方式、中断控制方式、DMA 方式和通道方式)和设备驱动程序等。51 概述511 设备管理的任务与功能1设备管理的任务(1) 按用户需求提出的要求接入外部设备;(2) 尽量提高输入输出设备的利用率。如,发挥主机与外设以及外设之间的真正并行工作能力。2设备管理的功能(1) 分配设备按设备的不同类型和操作系统选用的算法分配,包括分配相应的通道、设备控制器以

2、及对未分配的任务或作业进行排队等。(2) 控制和实现真正的输入输出并行操作包括通道程序控制、启动设备、及时响应及处理中断讯号等。(3) 对输入输出缓冲区进行管理如:逻辑名的管理,多个缓冲区的分时及串并行操作,同类多个外部设备的均衡工作。(4)在一些较大系统中实现虚拟设备技术。512 发展历史计算机的基本输入输出设备的发展共经过了三代(1) 第一代:键盘和打印机;(2) 第二代:鼠标和调制解调器;(3) 第三代:手写笔和扫描仪等。512 外部设备的分类在现代计算机系统中,除了 CPU 和内存(也叫主存储器)外,其它大部分硬件设备都可统称为外部设备。其中包括常用的输入输出设备、外存设备和终端设备等

3、,还包括将外设和主机连接起来的通道(channel)和控制器(controller) 。在计算机系统中,从不同角度将设备划分成不同的类型加以管理和调度,归类后简化了设备管理程序,管理工作的关键之一是“分类”和“记录” 。1按用户和用户分类(1)系统设备(一般是标准设备)更多免费资料下载请进:http:/ 中国最大的免费课件资料库在操作系统的安装时可由用户在安装(install) 、设置(setup)或生成(generation)时选择。登记在系统中的标准配置,属于系统的基本配置。如显示器、键盘、鼠标器、光盘驱动器、调制解调器和打印机等。(2)用户设备(一般为非标准设备)在系统生成或摄制是未能登

4、录的非标准设备,通常由用户按需要外加,但需了解操作系统的设备接口设计规程,以便让操作系统对其实施统一的管理和控制。如:实时控制中经常用到的A/D,D/A 转换器、图像处理系统中的图像输入输出设备等。2按输入输出传送方式分类(UNIX 或 Linux 操作系统)(1)字符设备(character device)这类设备以字符为单位进行输入输出设备,如终端显示设备和打印机等,在 UNIX 系统下,用 ls l/dev 列目录时,屏幕显示的第一个字符为 c。(2)块设备(block device)这类设备是以字符块为单位进行输入输出的设备,在不同的操作系统或同一操作系统的不同版本中,块的大小是不一样

5、的,但在同一操作系统中,块一旦选定,其大小是固定的。一般有512b、1024b 或 4096b,在 UNIX 操作系统中,用 ls l /dev 列目录时,第一字符为 b。3按资源特点分类(1)独享设备(monopolize device,independent device )所谓独享是指这类设备要以用户作业或任务为单位分配,在该用户作业或任务未完成或退出之前,此设备不能分配作其它用。如:打印机、磁带机等。所有字符型设备原则上都是独享设备。(2)共享设备(sharing device)所谓共享,是指多个用户作业、多个任务或多个进程可以同时从这些设备上存取信息,而这里的同时存取实际上是指可以交

6、替地从设备上存取信息。如:软磁盘、应磁盘、光盘等。(3)虚拟设备(virtual device )通过某种软件技术将独享设备改造成多台同类型独享设备或共享设备。如:通过 SPOOLing 技术可以使一台打印机虚拟成多台打印机。4按设备硬件物理特性分类(1)顺序存取设备(sequential access device)存取时间与物理上当前位置有关,例如:磁带。更多免费资料下载请进:http:/ 中国最大的免费课件资料库(2)直接存取设备(direct access device )存取时间与物理上的当前位置关系不大,例如:磁盘。5按设备使用分类(1)物理设备(physical device)一

7、般由操作系统分类命名。如 dos 中的CON、PRN、LPT、COM 等。(2)逻辑设备(logical device )用户可以重新命名的设备。(3)伪设备(pseudo device)泛指具有特定用途的逻辑设备,如模拟的空设备,可以在内存或外存上临时开辟一个区域,充当一个“设备”用。在 dos 中,NUL 就是一个逻辑空设备。如 COPY NUL filename 相当于将filename 删除。514 设备 I/O 方式1询问(query):实时系统中必须采用,在一般系统中也广泛使用,但系统开销较大,每次进行输入输出工作,都需要由主机 CPU 干预。2中断(interrupt )有硬中断

8、和软中断之分,中断按级别分类排队工作。中断工作主要由中断请求、中断响应和中断服务处理组成。3 通道(channel )有硬通道和软通道之分,硬通道如典型的 DMA 工作方式;软通道是软件设计中使用的各种“标识”和传送机构等。4直接内存存取方式(DMA,direct memory access)DMA 方式有以下几个特点。(1) 外设和主存之间开辟直接的数据传送通路,如图 5-1。图 5-1 DMA 方式工作图(2)使用一个专门的 DMA 控制器(DMAC) 。DMAC 内有控制状主 存CPU DMA1 DMA2DMA n设备 1 设备 2 设备 n更多免费资料下载请进:http:/ 中国最大的

9、免费课件资料库态寄存器、传送字数计数器和内存地址寄存器以及可能有的数据缓冲器。(3 在通常情况下,所有工作周期均用于 CPU 的程序。当设备要输入/输出数据时,窃取一个工作周期,在 DMAC 的控制下,完成外设和内存直接交换数据。这个周期过后,CPU 仍继续执行。DMA控制实质上取代了 CPU 对 I/O 的控制。(4) 在输入/输出时,CPU 只需向 DMA 控制器提供必须的控制信息,DMA 控制器类式处理器能自动控制一批信息的传输,传输结束后再向 CPU 发出中断,较好地解决了外设与主机的成批信息交换。515 未来展望1未来十年中,要使计算机能看、能说、能听、并与外部设备密切相关;2和目前

10、流行的小闹钟大小相当,甚至小到在身上、衣服上到处可安装;3电脑象电话机一样等待你,计算机联网工作就象打电话、看电视一样方便;4显示器大到能挂在墙上或随意放大缩小,小到能放在提包里或衣袋里;5每台计算机要能连接更多的复杂外部设备,并具有自动的“时空感应”控制功能;6新的连接方式不断出现,有线的和无线的方式,例如USB、IEEE1394、FireWire 等。7操作系统 中,将可能有 90%的代码支持外设功能;8操作系统可能被“嵌入式”新型数据库查找系统代替;9要求计算机更快更小,特别是适应音频和视频的高速传输,在图形接口方面,如 Intel 的 AGP 技术和 100MHz 新的总线速度、磁盘容

11、量更大。52 外部设备的安装521 系统配置每个系统都有其基本配置,不同的年代,计算机的基本配置也不一样,当前计算机的基本配置有大容量硬盘、高分辨率显示器、光驱、键盘、鼠标和调制解调器等。522 用户外接设备现代操作系统为了方便用户,已在系统中预置了众多知名的设备驱动程序,供用户选用(操作系统的重新生成) 。为了节省内存空间,这些众多的设备驱动程序,在用户不配备那些设备是是不需要更多免费资料下载请进:http:/ 中国最大的免费课件资料库装配入操作系统内核(kernel)的,也就不占用内存空间。只有当用户选用了这些设备是,选用系统提供的添加工具修改系统后,重新构造系统内核,重新启动系统即可使用

12、新的设备。523 用户外接特殊设备用户需要外接的设备,在操作系统中往往没有提供设备驱动程序,特别是一些新产品,以及一些用户需要使用的专用设备,此类设备一般由第三方(设备提供方)提供在不同操作系统下的设备驱动程序,一般有 FOR DOS、FOR WINDOWS、FOR UNIX 等。524 外部设备的即插即用即插即用plug and play(PnP)是目前外设的一种新的外设安装方式。它不需要用户来确定外设对系统资源(中断、地址和通道)的占用,而由系统自动地进行分配。它首先使用在 Windows 操作系统中。525 设备驱动程序的编制在不同的操作系统中所采用的设备处理方式并不完全相同,书写的格式

13、也不一样。一般有以下几种方法:1不纳入操作系统的“外挂式” ,可直接利用 CPU 提供的机器指令编写,也可利用高级语言提供的相关语句编写,或利用串行口及并行口的标准接口程序“替换代入”控制设备。2利用操作系统提供的系统调用或程序请求,控制外部设备的三个基本寄存器:设备状态寄存器、数据寄存器和控制寄存器的各位内容。3要纳入操作系统时,要了解该操作系统设备处理程序的表格规范和分段格式等详细内容。4一般外购设备,不论是第三方开放、或是操作系统协作方提供的,都带有适合该操作系统的设备处理程序。5有时出来的一些新产品,可以直接到该公司提供的网站上去找新的驱动程序或升级软件。526 CPU 与外部信息的交

14、换设备和 CPU 之间的数据传送控制方式有四种,分别为程序直接控制方式、中断控制方式、DMA 方式和通道方式。1各种控制方式的比较程序直接控制方式和中断控制方式只适用与简单的,外设很少的计算机系统,因为程序直接控制方式耗费大量的 CPU 时间和无法检测发现设备或其它硬件产生的错误,而且设备和 CPU、设备和设备之间只能串行工作。中断控制方式虽然在一定程度上解决了上述问更多免费资料下载请进:http:/ 中国最大的免费课件资料库题,但由于中断次数多,因而 CPU 仍需要花大量的时间来处理中断,而且中断次数的增多也限制了并行工作的外设的台数,及导致数据丢失等问题。DMA 和通道技术比较好地解决了上

15、述问题。这两种方式采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发出中断信号要求 CPU 做善后处理,从而大大减少了 CPU 的工作负担。 DMA 和通道方式的区别是,DMA 方式要求 CPU 执行设备驱动程序启动设备,给出存放数据的内存始址以及操作方式和传送字节长度等;而通道控制方式则是在 CPU 发出 I/O启动命令之后,由通道指令来完成这些工作。2CPU 与外部设备的通讯技术(1) 串行通讯和并行通讯:并行通讯,数据所有位同时传送,速度快;串行通讯的数据位逐位顺序传送,长距离传送时节省传输线,但传送速度慢。(2) 异步通讯(asynchronous data

16、communication)和同步通讯(synchronous data communication)异步通讯方式一般以一个字符为一帧,一帧最少由三部分组成:起始位、数据、停止位。 同步通讯方式将异步通讯方式中的起始位和停止位去掉,发送端和接受端用一同步脉冲进行位同步。(3) 各种编码技术计算机系统常用的编码有 ASCII 码、BCD 码、EBCD 码,EBCDIC 码等,后几种编码主要用在中大型机上。527 总线和接口1PC 系统总线PC 系统总线见表 5-1名 称 性 能 开发者 备 注S100 双排 50 引脚,间距 0.1 英寸,8080CPU。 IEEE696 标准PC/XT 62

17、引脚,4.77MHz,2.38MB/s。ISA(PC/AT)(industry standard architecture)62+36 引脚,8MHz,为 16 位 286/AT 开发的AT 标准。IBM。之后为IEEE 标准广泛使用MCA(micro channel architecture)10MHz,40MB/s,PS/2 微通道总线。 IBM 未能推广EISA(extended industry standard architecture)专为 32 位多 CPU 扩展总线标准,向下兼容ISA,33MB/sEISA 集团(Compaq、HP、AST等)更多免费资料下载请进:http:/

18、 中国最大的免费课件资料库VISA(video electronics standards association)40MHz,132MB/s,486 以上开放总线,32 位。 VESA 组织(IBM、Compaq、AST、HP 等)目前已淘汰PCI(peripheral component interconnect)插入 CPU 与原总线之间的一级总线。 Intel 联合IBM、Compaq、AST、HP 等目前广泛使用AGP(accelerated graphics port)显示卡与主存之间,提高三维图形处理能力;第一代(1X)66MHz 总线频率,266MB/s 数据传输速率;第二代(

19、2X)133MHz,数据传输率 533MB/s。表 5-1 PC 系统总线结构简表2标准接口类型标准接口类型见表 5-2接口名称 性 能 开发者 备注IDE/EIDE(IDE: integrated devices electronics)40 线EIDE:13.3MB/s,支持 NORMAL、LBA和 LARGE 三种硬盘工作模式CompaqWestern Digital广泛应用Ultra DMA33/66 Ultra DMA66(或 Ultra ATA-66):80 针、66.6MB/SQuantum、IntelSCSI(small computer system interface)系统

20、级接口/总线,50 芯,18 条母线SCSI-1(4.0MB/s) 、SCSI-2(10.0MB/s)Ultra SCSI 的 Ultra160/m:160MB/sANSI X3T9.2 定义标准广泛使用USB(Universal Serial Bus)统一接口*传输速率为 1.5/12/120/240MbpsIntel 等七家公司已开始推广IEEE 1394 串行接口/总线,原型为 FireWire。之后由 IEEE 规范Apple Mac 机Device Bay 创建新 PC。主板仅 CPU,其它都外接,包括电视、电话等家电。Microsoft、Intel、Compaq可能搁浅!表 5-2

21、 标准接口类型简表注:USB 接口是美国 Intel 公司开发的新型接口技术,由具备 USB 的 PC 计算机系统、支撑软件和接口设备三部分组成。理论上讲,一个 USB 接口可以同时接入 127 个设备。其特点是使用方便、速度快、连接灵活、独立供电和支持多媒体。53 输入输出设备分配算法(1)先来先服务(first come first service, FCFS)每一设备有一队列管理,当多个作业或任务对同一设备提出 I/O请求时,该算法把请求的先后次序排成一个等待该设备的队列,设备分配程序把设备分配给队列中的第一个作业。更多免费资料下载请进:http:/ 中国最大的免费课件资料库(2)按优先

22、级(Priority)一般是系统高于用户,超级用户(系统管理员)高于一般用户。对于优先级相同的 I/O 请求,则按先来先服务的原则分配。54 设备管理技术541 磁盘管理技术1磁盘简介(1)磁盘有固定头磁盘和活动头磁盘两种。固定头磁盘是每个磁道都有一个磁头,这种磁盘的磁道转换快,但价格较贵。一般情况是一个磁道只有一个磁头,此磁头在径向移动以存取不同磁道上的信息,它需要磁头控制部件支持,但造价较低。(2)存取磁盘信息需要以下的地址信息:驱动器号、盘面号、磁道号、磁头数。(3)磁盘的存取速度由三部分组成:磁头定位时间、扇区定位时间和实际信息传输时间。(4)对于每一个磁盘驱动器,都有一个 I/O 请

23、求队列,每当一个进程需要 I/O 时,它发出一个系统调用给操作系统,I/O 请求包含以下必要的信息:(1)输入或是输出;(2)磁盘地址;(3)内存地址;(4)传送信息长度。如果所要求的磁盘驱动器和控制器是空闲的和可用的,则 I/O 请求被立即执行;如果设备和控制器正在为其它进程的 I/O 请求服务,则 I/O 请求必须排队等待。2硬盘容量讨论(1)硬盘的存取过程操作系统(或特殊的应用程序绕过操作系统)通过 INT 13 调用BIOS 中的磁盘服务程序,该服务程序再将 INT 13 请求转换为硬盘的 ATA 接口请求,继而在硬盘上进行数据存取。与硬盘容量有关的部分就是 INT 13 接口和 AT

24、A 接口。INT13 接口程序保存在主板的BIOS 中,而 ATA 接口与硬盘驱动器有关,这两种接口都是通过寄存器来寻址的。(2)硬盘寻址的两种方式(a)CHS 方式CHS 方式是通过 cylinder-柱面数,head-磁头数, sector-每柱面扇区数来寻址的,其支持硬盘的最大容量为:10246316512/1024KB=504MB(b)LBA 方式LBA-logical block address (逻辑块地址寻址法) ,LBA 寻址方式,简单的说,就是把原来分别表示 C、H、S 的三个参数的 28 个更多免费资料下载请进:http:/ 中国最大的免费课件资料库位(16+4+8) ,看

25、成一个表示地址的数,因而可以寻址的最大空间为:228512/1024=134G。542 缓冲技术1在 I/O 部分设置缓冲的理由(1)解决信息的到达率和离去率不一致的矛盾由于输入数据的速度和处理数据的速度往往不相同,于是,有必要设置一个缓存,作为它们之间的缓冲,以解决它们速度上的匹配以及由于速度不一致而造成数据的丢失和紊乱。(2)缓存起中转站的作用缓存可以是外存与外存之间的中转站(3)使得一次输入的信息能够多次使用这主要是用在文件系统中,由于有的文件是可以共享的,所以会出现多个任务同时需要使用一个文件的情况,这样就可以从缓存中读取所需内容,而不必启动 I/O 到外存上去读取;另外,在通道或控制

26、器内设置局部寄存器作为缓冲寄存器,可暂存 I/O 信息,以减少中断 CPU 的次数。2缓冲的种类及特点缓冲缓冲技术管理按缓冲存储器分为单缓冲、双缓冲、多缓冲和缓冲池。(1)单缓冲单缓冲是在设备和处理机之间设置一个缓冲器(区) 。设备和处理机交换数据时,先把被交换数据写入缓冲器(区) ,然后,需要数据的设备或处理机从缓冲器中取走数据。由于缓冲器属于临界资源,即不允许多个进程同时对一个缓冲器操作,因此,尽管单缓冲能匹配设备和处理机之间的处理速度,但是,设备和设备之间不能通过单缓冲达到并行操作。(2)双缓冲解决两台外设、打印机和终端之间的并行操作的办法是设置双缓冲,也就是设置两个缓冲器,分别用于外设

27、的输入和输出。双缓冲仅仅是一种说明设备和设备之间并行操作的一个简单模型,并不能用于实际系统中的并行操作。(3)多缓冲和缓冲池多缓冲是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。缓冲池则是把多个缓冲更多免费资料下载请进:http:/ 中国最大的免费课件资料库器连接起来统一管理,既可用于输入又可用于输出的缓冲结构。在缓冲池管理中,一个缓冲区由两部分组成:一部分用来标识该缓冲器和用于管理的缓冲首部,另一部分是用于存放数据的缓冲体。这两部分有一一对应的关系。对缓冲池的管理是通过对每一个缓冲器的首部进行操作实现的。缓冲首部包括设备号、设备上的数据块号(块设备时)

28、、互斥标识位以及缓冲队列连接指针和缓冲器号等。(4)缓冲的实现方式(a)硬件方式一般是采用专用硬件缓冲器,如 I/O 控制器中的数据缓冲寄存器等。(b)软件方式在内存中开辟出一个具有 N 个单元的专用缓冲区,以便存放输入输出数据。操作系统为每一个缓冲区建立一个数据结构,称为缓存控制块BCB(buffer control block) 。操作系统通过 BCB 对每一个缓存实施具体的管理。543 虚拟设备技术1SPOOLingsimultaneous peripheral operations on-line ,即外部设备联机并行操作,它是慢速字符设备如何与计算机交换信息的一种技术,通常又称为“假

29、脱机技术” 。这是一种预输入、缓输出和转储的管理技术。2字符设备和主机交换信息的两种方式有两种基本方式,即脱机方式和联机方式。(a)联机方式,就是一般字符设备直接与内存交换信息。这种交换信息的缺点是:由于字符设备信息传送速度慢,当一个任务要求从外设上输入信息时,往往要等候很长的时间;其次,由于字符设备本质上是顺序存取设备的,因此,在一个任务的信息未传输完之前,别的任务不能进行输入或输出,这就降低了整个系统的并行处理能力。(b)脱机方式,以输入为例,先使用一台外围机把字符设备上的信息输入到块设备上(磁带或磁盘等) ,然后把块设备与主机联上。这样,主机在从块设备上(而不是从字符设备)上输入它所需要

30、的更多免费资料下载请进:http:/ 中国最大的免费课件资料库信息。这种输入方式的优点是可以提高输入的并行度,缺点是需要人工干预,这就会降低系统的平均运行速度,而且容易出差错和损坏设备。 (c)SPOOLing 技术是对上述两种信息传输方式的综合,它取两者的长处,而避免两者的短处,以联机的输入、输出方式,获得脱机的输入、输出的优点,所以 SPOOLing 技术有时也叫“假脱机技术” 。3SPOOLing 系统的组成1输入井和输出井这是在磁盘上开辟的两大存储空间。输入井是模拟脱机输入时的磁盘,用于收容外部设备(I/O)设备输入的数据。输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出的数据。2

31、输入缓冲区和输出缓冲区在内存中要开辟两个缓冲区;输入缓冲区和输出缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。3程序工作的输入进程 SPi 和输出进程 SPi进程 SPi 模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当 CPU 需要输入数据时,直接从输入井读入内存。SPo 进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。4. SPOOLing 系统的特点(1)提高了 I/O 速度(2)

32、将独占设备改造为共享设备在 SPOOLing 系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章 I/O 请求表。这样,便把独占设备改造为共享设备。(3)实现了虚拟设备功能宏观上,虽然是多个进程在同时使用一台独立设备,而对每一个进程而言,它们都认为自己是独占了一个设备。当然,该设备只是逻辑上的设备。SPOOLing 系统实现了将独占设备变换为若干台对应的逻辑设备的功能。544 共享打印机共享打印机是 SPOOLing 技术应用的典型实例。它将一台打印更多免费资料下载请进:http:/ 中国最大的免费课件资料库机改造为供多个用户共享的打印机,目前广泛地应用

33、在多用户系统和局域网中。1打印机共享的 SPOOLing 技术SPOOLing 系统在收到用户进程的打印请求时(1) 由输出进程在输出井中申请一个空闲盘块区,并将要打印的数据送入其中;(2)输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求添入其中,再将该表挂到请求打印队列上。(3)如果还有进程要求打印输出,系统仍可接受其请求,也同样为该进程重复(1) 、 (2) 。2打印队列 请求打印队列是由若干张请求打印表所形成的队列,系统为每个请求打印的进程建立一张请求打印表。如果打印机空闲,输出进程将从请求打印队列的对首取出一张请求打印表,根据表中的要求将要打印的数据从输出井传送到内

34、存缓冲区,再由打印机进行打印。打印完成后,输出进程再查看请求打印队列中是否还有等待打印的请求表。若有,又取出第一张表,并根据其中的要求进行打印,如此下去,直至请求队列为空为止,输出进程才将自己停止工作,直到下次再有打印请求是才被唤醒继续工作。55 设备处理程序编制内容551 设备处理程序设备处理程序通常又称为设备驱动程序,它是 I/O 进程与设备控制器之间的通信程序,又由于它常以进程的形式存在,故以后就简称为设备驱动进程。其主要任务是接收上层软件发来的抽象要求,例如,read,write 等命令,再把它转换为具体要求后,发给设备控制器,启动设备去执行。此外,它也将由设备控制器发来的信号传送给上

35、层软件。一般设备驱动程序包含五部分:(1) 设备标题(device header);(2) 数据存储和局部过程(data storage (3) 策略过程(strategy procedure);(4) 中断过程(interrupt procedure);更多免费资料下载请进:http:/ 中国最大的免费课件资料库(5) 命令处理子程序(command processing);552 设备驱动程序的功能(1) 将接收到的抽象要求转换为具体要求;(2) 检查用户 I/O 请求的合法性,了解 I/O 设备的状态,传递有关参数,设置设备的工作方式;(3) 发出 I/O 命令,启动分配到的 I/O 设

36、备,完成指定的 I/O 操作;(4) 及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理子程序进行处理;(5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O 请求,自动地构成通道程序。553 设备驱动程序的特点设备驱动程序和一般的应用程序或系统程序相比较,存在如下一些特点:(1) 驱动程序主要是在请求 I/O 的进程与设备控制器之间的一个通信程序。它将进程的 I/O 请求传送给控制器,而且把设备控制器中所记录的设备状态、I/O 操作完成情况,反映给请求 I/O 的进程。(2) 驱动程序与 I/O 设备的特性紧密相关。因此,对于不同类型的设备,应配置不同的驱

37、动程序。(3) 驱动程序与 I/O 控制方式紧密相关。常用的设备控制方式是中断方式和 DMA 方式。(4) 由于驱动程序与硬件紧密相关,因而其中的一部分程序必须用汇编语言编写,目前有很多驱动程序,其基本部分已经固化,放在ROM 中,例如, DOS 操作系统中的 BIOS。554 设备处理方式设备驱动程序的处理过程对不同类型的设备应有不同的设备驱动程序,但大体上它们都可以分成两部分,它除了需要有能够驱动I/O 设备工作的驱动程序外,还需要有设备中断处理程序来处理 I/O完成后的工作。1设备处理程序的处理过程(1)将抽象要求转换为具体要求通常在每个设备控制器都有若干个寄存器,它们分别用于暂存命令、

38、数据和参数等。用户及上层软件对设备控制器的具体情况毫更多免费资料下载请进:http:/ 中国最大的免费课件资料库无了解,因而只能向它们发出抽象的要求。因此,就需要将这些抽象的要求转换为具体要求。例如,将盘块号转换为磁盘的盘面、磁道号及扇区。这一转换工作就由设备驱动程序来完成。(2)检查 I/O 请求的合法性对于任何输入设备都只能完成一组特定的功能,如该设备不支持这次 I/O 请求,则认为这次 I/O 请求非法。例如,用户试图请求从打印机输入数据,或是在一个打开时规定为读的设备上进行写操作,则用户的请求将被拒绝。(3)读出和检查设备的状态要启动某个设备进行 I/O 操作,其前提条件应是该设备正处

39、于空闲状态。因此,在启动设备之前,要从设备控制器的状态寄存器中读出设备的状态。例如,为了向某设备写入数据,此时应先检查该设备的状态是否处于接收就绪,只有它处于接收就绪状态时,才能启动其设备控制器,否则只能等待。(4)传送必须的参数还需传送必须的参数,例如,在启动磁盘进行读写之前,应先将本次要传送的字节数、数据应到达的内存始址送到控制器相应的寄存器中。(5)方式的设置有些设备有多种工作方式,如通过 RS-232 进行异步通信。在启动设备之前,应规定下述参数:波特率、奇偶校验方式、停止位数目及数据长度等。(6)启动 I/O 设备在完成上述各项准备工作后,驱动程序可以向控制器中的命令寄存器传送相应的

40、控制命令。对于字符设备,若发出的是写命令,驱动程序将把一个数据传送给控制器,若发出的是读命令,则驱动程序等待接收数据,并通过从控制器的状态寄存器读入状态字的方法来确定数据是否到达。驱动程序发出 I/O 命令后,基本的 I/O 是在设备控制器的控制下完成的。2设备处理方式(1) 为每一类设备设置一个进程,它专门执行这类设备的 I/O 操作。(2) 在整个系统中设置一个 I/O 进程,专门负责对系统中所有各类设备的 I/O 操作。也可以设置一个输入进程和一个输出进程,分别负责处理系统中所有的各类设备的输入或输出操作。(3) 不设置专门的设备处理进程,而是只为各类设备设置相应的更多免费资料下载请进:

41、http:/ 中国最大的免费课件资料库设备处理程序(模块) ,供用户进程或系统进程调用。555 设备驱动程序举例设备驱动程序是驱动物理设备和 DMA 控制器或 I/O 控制器等直接进行 I/O 操作的子程序的集合。它们负责设置相应设备有关寄存器的值,启动 I/O 设备进行 I/O 操作,指定操作的类型和数据流向等。1DOS 系统设备驱动程序(1) DOS 在 BIOS 模块中已提供了控制标准硬件设备的常驻设备驱动程序。(2) 系统中设置有设备开关表 DST。设备开关表中给出相应设备的各种操作子程序的入口地址,例如,打开、关闭、读、写和启动设备子程序的入口地址。设备开关是二维结构,其中的行和列分

42、别表示设备类型和驱动程序类型。I/O 控制过程为进程分配设备和缓冲区之后可以使用设备开关表调用所需的设备驱动程序进行 I/O 操作。(3) DOS 为设备驱动程序选定的扩展名为 .BIN 或.SYS ,在 DOS 的系统盘的 config.sys 中插入如下命令:DEVICE=d:path文件名.SYS 进行设备驱动。2Windows 系统的设备管理Windows 系统的特点(1) 在 MS-DOS 的基础上发展而来。(2) 吸收了“树型目录”和设备文件统一管理的优点,向“文件夹”发展。(3) 支持外部设备的即插即用(PnP)功能,在 *.inf 文件中描述安装信息和在*.vxd 文件中具备虚

43、拟设备驱动程序等。(4) Windows 中的动态连接库(dynamic link library, DLL)在 MS-DOS 环境下,所有程序的目标组件在创建过程中都被静态连接起来,而 Windows 则允许动态的连接,即一些特定结构的库可以在执行过程中被装入和连接。DLL 是一种基于 Windows 的程序模块,它可以在运行时刻被装入和连接。许多应用都被分为一系列的主程序和 DLL。在 Windows 中,多个应用可以共享同一个DLL,这就可以大大节省内存和磁盘空间,同时动态连接还可以大大增强对程序调试的灵活性,因为人们可将动态连接库单独编译和调试。3UNIX 中设备管理UNIX 设备管理

44、程序主要分为三部分:最底层的设备驱动程序、更多免费资料下载请进:http:/ 中国最大的免费课件资料库缓冲区管理和最上层与用户相“见”的特殊文件处理。设备驱动程序包含 I/O 队列管理、中断管理、地址转换、缓冲区管理和最上层与用户相“见”的特殊文件处理。其最大的特点是设备寄存器与内存地址一起编址,是从内存的最高地址开始,在核心装入内存时,从内存最高地址存放实际的设备驱动程序;缓冲区管理包括缓冲区申请、查链、摘链、清零和释放缓冲区等;按 UNIX 文件系统统一格式处理,设备处理文件也做成特殊文件,放在/dev 目录下,这里仅仅是设备文件名与内码 I 节点的对应关系,包含用户I/O 请求,命令合法

45、性检查和参数处理等。56 重点小结1设备管理的主要任务是使用户不必了解具体设备的物理特性,能方便于设备的扩充和更新,能为用户提供一个透明的、易于扩展的通用接口,控制设备和 CPU 之间进行 I/O 操作。另外,还要尽可能地提高设备和设备之间、设备和 CPU 之间的并行操作度以及设备利用率。2本章从设备分类出发,对设备和 CPU 之间的数据传送的控制方式、中断和缓冲技术、设备分配原则和算法、I/O 控制过程以及设备驱动程序进行了介绍和讨论。3设备分配的原则和算法。设备分配应保证设备有高的利用率和避免产生死锁。进程只有在得到了设备、I/O 控制器和通道(通道控制方式)之后,才能进行 I/O 操作。另外,用户进程给出的 I/O请求中包含逻辑设备号,设备管理程序必须将其转换为实际的物理设备,I/O 请求命令中的其它参数将被用来编制通道指令程序或由设备开关表选择设备驱动程序。4I/O 控制过程是对整个 I/O 操作的控制,包括对用户进程 I/O请求命令的处理、进行设备分配、缓冲区分配、启动通道指令程序或驱动程序进行真正的 I/O 操作,以及分析中断原因和响应中断等。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报