计算机操作系统考研讲义.docx

上传人:b****9 文档编号:26220843 上传时间:2023-06-17 格式:DOCX 页数:21 大小:35.26KB
下载 相关 举报
计算机操作系统考研讲义.docx_第1页
第1页 / 共21页
计算机操作系统考研讲义.docx_第2页
第2页 / 共21页
计算机操作系统考研讲义.docx_第3页
第3页 / 共21页
计算机操作系统考研讲义.docx_第4页
第4页 / 共21页
计算机操作系统考研讲义.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

计算机操作系统考研讲义.docx

《计算机操作系统考研讲义.docx》由会员分享,可在线阅读,更多相关《计算机操作系统考研讲义.docx(21页珍藏版)》请在冰豆网上搜索。

计算机操作系统考研讲义.docx

计算机操作系统考研讲义

第5章输入输出设备管理

本章是操作系统的第四大功能,属于对硬件的管理。

主要内容有:

外部设备的分类及安装、输入输出设备的分配算法、外部设备和CPU之间的数据传送控制方式(程序直接控制方式、中断控制方式、DMA方式和通道方式)和设备驱动程序等。

5.1概述

5.1.1设备管理的任务与功能

1.设备管理的任务

(1)按用户需求提出的要求接入外部设备;

(2)尽量提高输入输出设备的利用率。

如,发挥主机与外设以及外设之间的真正并行工作能力。

2.设备管理的功能

(1)分配设备

按设备的不同类型和操作系统选用的算法分配,包括分配相应的通道、设备控制器以及对未分配的任务或作业进行排队等。

(2)控制和实现真正的输入输出并行操作

包括通道程序控制、启动设备、及时响应及处理中断讯号等。

(3)对输入输出缓冲区进行管理

如:

逻辑名的管理,多个缓冲区的分时及串并行操作,同类多个外部设备的均衡工作。

(4)在一些较大系统中实现虚拟设备技术。

5.1.2发展历史

计算机的基本输入输出设备的发展共经过了三代

(1)第一代:

键盘和打印机;

(2)第二代:

鼠标和调制解调器;

(3)第三代:

手写笔和扫描仪等。

5.1.2外部设备的分类

在现代计算机系统中,除了CPU和内存(也叫主存储器)外,其它大部分硬件设备都可统称为外部设备。

其中包括常用的输入输出设备、外存设备和终端设备等,还包括将外设和主机连接起来的通道(channel)和控制器(controller)。

在计算机系统中,从不同角度将设备划分成不同的类型加以管理和调度,归类后简化了设备管理程序,管理工作的关键之一是“分类”和“记录”。

1.按用户和用户分类

(1)系统设备(一般是标准设备)

在操作系统的安装时可由用户在安装(install)、设置(setup)或生成(generation)时选择。

登记在系统中的标准配置,属于系统的基本配置。

如显示器、键盘、鼠标器、光盘驱动器、调制解调器和打印机等。

(2)用户设备(一般为非标准设备)

在系统生成或摄制是未能登录的非标准设备,通常由用户按需要外加,但需了解操作系统的设备接口设计规程,以便让操作系统对其实施统一的管理和控制。

如:

实时控制中经常用到的A/D,D/A转换器、图像处理系统中的图像输入输出设备等。

2.按输入输出传送方式分类(UNIX或Linux操作系统)

(1)字符设备(characterdevice)

这类设备以字符为单位进行输入输出设备,如终端显示设备和打印机等,在UNIX系统下,用ls–l/dev列目录时,屏幕显示的第一个字符为c。

(2)块设备(blockdevice)

这类设备是以字符块为单位进行输入输出的设备,在不同的操作系统或同一操作系统的不同版本中,块的大小是不一样的,但在同一操作系统中,块一旦选定,其大小是固定的。

一般有512b、1024b或4096b,在UNIX操作系统中,用ls–l/dev列目录时,第一字符为b。

3.按资源特点分类

(1)独享设备(monopolizedevice,independentdevice)

所谓独享是指这类设备要以用户作业或任务为单位分配,在该用户作业或任务未完成或退出之前,此设备不能分配作其它用。

如:

打印机、磁带机等。

所有字符型设备原则上都是独享设备。

(2)共享设备(sharingdevice)

所谓共享,是指多个用户作业、多个任务或多个进程可以同时从这些设备上存取信息,而这里的同时存取实际上是指可以交替地从设备上存取信息。

如:

软磁盘、应磁盘、光盘等。

(3)虚拟设备(virtualdevice)

通过某种软件技术将独享设备改造成多台同类型独享设备或共享设备。

如:

通过SPOOLing技术可以使一台打印机虚拟成多台打印机。

4.按设备硬件物理特性分类

(1)顺序存取设备(sequentialaccessdevice)

存取时间与物理上当前位置有关,例如:

磁带。

(2)直接存取设备(directaccessdevice)

存取时间与物理上的当前位置关系不大,例如:

磁盘。

5.按设备使用分类

(1)物理设备(physicaldevice)

一般由操作系统分类命名。

如dos中的CON、PRN、LPT、COM等。

(2)逻辑设备(logicaldevice)

用户可以重新命名的设备。

(3)伪设备(pseudodevice)

泛指具有特定用途的逻辑设备,如模拟的空设备,可以在内存或外存上临时开辟一个区域,充当一个“设备”用。

在dos中,NUL就是一个逻辑空设备。

如COPYNULfilename相当于将filename删除。

5.1.4设备I/O方式

1.询问(query):

实时系统中必须采用,在一般系统中也广泛使用,但系统开销较大,每次进行输入输出工作,都需要由主机CPU干预。

2.中断(interrupt)

有硬中断和软中断之分,中断按级别分类排队工作。

中断工作主要由中断请求、中断响应和中断服务处理组成。

3.通道(channel)

有硬通道和软通道之分,硬通道如典型的DMA工作方式;软通道是软件设计中使用的各种“标识”和传送机构等。

4.直接内存存取方式(DMA,directmemoryaccess)

DMA方式有以下几个特点。

(1)

外设和主存之间开辟直接的数据传送通路,如图5-1。

 

图5-1DMA方式工作图

(2)使用一个专门的DMA控制器(DMAC)。

DMAC内有控制状态寄存器、传送字数计数器和内存地址寄存器以及可能有的数据缓冲器。

(3在通常情况下,所有工作周期均用于CPU的程序。

当设备要输入/输出数据时,窃取一个工作周期,在DMAC的控制下,完成外设和内存直接交换数据。

这个周期过后,CPU仍继续执行。

DMA控制实质上取代了CPU对I/O的控制。

(4)在输入/输出时,CPU只需向DMA控制器提供必须的控制信

息,DMA控制器类式处理器能自动控制一批信息的传输,传输结束后再向CPU发出中断,较好地解决了外设与主机的成批信息交换。

5.1.5未来展望

1.未来十年中,要使计算机能看、能说、能听、并与外部设备密切相关;

2.和目前流行的小闹钟大小相当,甚至小到在身上、衣服上到处可安装;

3.电脑象电话机一样等待你,计算机联网工作就象打电话、看电视一样方便;

4.显示器大到能挂在墙上或随意放大缩小,小到能放在提包里或衣袋里;

5.每台计算机要能连接更多的复杂外部设备,并具有自动的“时空感应”控制功能;

6.新的连接方式不断出现,有线的和无线的方式,例如USB、IEEE1394、FireWire等。

7.操作系统中,将可能有90%的代码支持外设功能;

8.操作系统可能被“嵌入式”新型数据库查找系统代替;

9.要求计算机更快更小,特别是适应音频和视频的高速传输,在图形接口方面,如Intel的AGP技术和100MHz新的总线速度、磁盘容量更大。

5.2外部设备的安装

5.2.1系统配置

每个系统都有其基本配置,不同的年代,计算机的基本配置也不一样,当前计算机的基本配置有大容量硬盘、高分辨率显示器、光驱、键盘、鼠标和调制解调器等。

5.2.2用户外接设备

现代操作系统为了方便用户,已在系统中预置了众多知名的设备驱动程序,供用户选用(操作系统的重新生成)。

为了节省内存空间,这些众多的设备驱动程序,在用户不配备那些设备是是不需要装配入操作系统内核(kernel)的,也就不占用内存空间。

只有当用户选用了这些设备是,选用系统提供的添加工具修改系统后,重新构造系统内核,重新启动系统即可使用新的设备。

5.2.3用户外接特殊设备

用户需要外接的设备,在操作系统中往往没有提供设备驱动程序,特别是一些新产品,以及一些用户需要使用的专用设备,此类设备一般由第三方(设备提供方)提供在不同操作系统下的设备驱动程序,一般有FORDOS、FORWINDOWS、FORUNIX等。

5.2.4外部设备的即插即用

即插即用—plugandplay(PnP)是目前外设的一种新的外设安装方式。

它不需要用户来确定外设对系统资源(中断、地址和通道)的占用,而由系统自动地进行分配。

它首先使用在Windows操作系统中。

5.2.5设备驱动程序的编制

在不同的操作系统中所采用的设备处理方式并不完全相同,书写的格式也不一样。

一般有以下几种方法:

1.不纳入操作系统的“外挂式”,可直接利用CPU提供的机器指令编写,也可利用高级语言提供的相关语句编写,或利用串行口及并行口的标准接口程序“替换代入”控制设备。

2.利用操作系统提供的系统调用或程序请求,控制外部设备的三个基本寄存器:

设备状态寄存器、数据寄存器和控制寄存器的各位内容。

3.要纳入操作系统时,要了解该操作系统设备处理程序的表格规范和分段格式等详细内容。

4.一般外购设备,不论是第三方开放、或是操作系统协作方提供的,都带有适合该操作系统的设备处理程序。

5.有时出来的一些新产品,可以直接到该公司提供的网站上去找新的驱动程序或升级软件。

5.2.6CPU与外部信息的交换

设备和CPU之间的数据传送控制方式有四种,分别为程序直接控制方式、中断控制方式、DMA方式和通道方式。

1.各种控制方式的比较

程序直接控制方式和中断控制方式只适用与简单的,外设很少的计算机系统,因为程序直接控制方式耗费大量的CPU时间和无法检测发现设备或其它硬件产生的错误,而且设备和CPU、设备和设备之间只能串行工作。

中断控制方式虽然在一定程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花大量的时间来处理中断,而且中断次数的增多也限制了并行工作的外设的台数,及导致数据丢失等问题。

DMA和通道技术比较好地解决了上述问题。

这两种方式采用了外设和内存直接交换数据的方式。

只有在一段数据传送结束时,这两种方式才发出中断信号要求CPU做善后处理,从而大大减少了CPU的工作负担。

DMA和通道方式的区别是,DMA方式要求CPU执行设备驱动程序启动设备,给出存放数据的内存始址以及操作方式和传送字节长度等;而通道控制方式则是在CPU发出I/O启动命令之后,由通道指令来完成这些工作。

2.CPU与外部设备的通讯技术

(1)串行通讯和并行通讯:

并行通讯,数据所有位同时传送,速度

快;串行通讯的数据位逐位顺序传送,长距离传送时节省传输线,但传送速度慢。

(2)异步通讯(asynchronousdatacommunication)和同步通讯

(synchronousdatacommunication)

异步通讯方式一般以一个字符为一帧,一帧最少由三部分组成:

起始位、数据、停止位。

同步通讯方式将异步通讯方式中的起始位和停止位去掉,发送端和接受端用一同步脉冲进行位同步。

(3)各种编码技术

计算机系统常用的编码有ASCII码、BCD码、EBCD码,

EBCDIC码等,后几种编码主要用在中大型机上。

5.2.7总线和接口

1.PC系统总线

PC系统总线见表5-1

名称

性能

开发者

备注

S100

双排50引脚,间距0.1英寸,8080CPU。

IEEE696标准

PC/XT

62引脚,4.77MHz,2.38MB/s。

ISA(PC/AT)

(industrystandardarchitecture)

62+36引脚,8MHz,为16位286/AT开发的AT标准。

IBM。

之后为IEEE标准

广泛使用

MCA(microchannelarchitecture)

10MHz,40MB/s,PS/2微通道总线。

IBM

未能推广

EISA(extendedindustrystandardarchitecture)

专为32位多CPU扩展总线标准,向下兼容ISA,33MB/s

EISA集团

(Compaq、HP、AST等)

VISA(videoelectronicsstandardsassociation)

40MHz,132MB/s,486以上开放总线,32位。

VESA组织(IBM、Compaq、AST、HP等)

目前已淘汰

PCI(peripheralcomponentinterconnect)

插入CPU与原总线之间的一级总线。

Intel联合IBM、Compaq、AST、HP等

目前广泛使用

AGP(acceleratedgraphicsport)

显示卡与主存之间,提高三维图形处理能力;

第一代(1X)66MHz总线频率,266MB/s数据传输速率;

第二代(2X)

133MHz,数据传输率533MB/s。

表5-1PC系统总线结构简表

2.标准接口类型

标准接口类型见表5-2

接口名称

性能

开发者

备注

IDE/EIDE

(IDE:

integrateddeviceselectronics)

40线

EIDE:

13.3MB/s,支持NORMAL、LBA和LARGE三种硬盘工作模式

Compaq

WesternDigital

广泛应用

UltraDMA33/66

UltraDMA66(或UltraATA-66):

80针、66.6MB/S

Quantum、Intel

SCSI(smallcomputersysteminterface)

系统级接口/总线,50芯,18条母线

SCSI-1(4.0MB/s)、

SCSI-2(10.0MB/s)

UltraSCSI的Ultra160/m:

160MB/s

ANSIX3T9.2定义标准

广泛使用

USB(UniversalSerialBus)

统一接口*

传输速率为1.5/12/120/240Mbps

Intel等七家公司

已开始推广

IEEE1394

串行接口/总线,原型为FireWire。

之后由IEEE规范

AppleMac机

DeviceBay

创建新PC。

主板仅CPU,其它都外接,包括电视、电话等家电。

Microsoft、Intel、Compaq

可能搁浅!

表5-2标准接口类型简表

注:

USB接口是美国Intel公司开发的新型接口技术,由具备USB的PC计算机系统、支撑软件和接口设备三部分组成。

理论上讲,一个USB接口可以同时接入127个设备。

其特点是使用方便、速度快、连接灵活、独立供电和支持多媒体。

5.3输入输出设备分配算法

(1)先来先服务(firstcomefirstservice,FCFS)

每一设备有一队列管理,当多个作业或任务对同一设备提出I/O请求时,该算法把请求的先后次序排成一个等待该设备的队列,设备分配程序把设备分配给队列中的第一个作业。

(2)按优先级(Priority)

一般是系统高于用户,超级用户(系统管理员)高于一般用户。

对于优先级相同的I/O请求,则按先来先服务的原则分配。

5.4设备管理技术

5.4.1磁盘管理技术

1.磁盘简介

(1)磁盘有固定头磁盘和活动头磁盘两种。

固定头磁盘是每个磁道都有一个磁头,这种磁盘的磁道转换快,但价格较贵。

一般情况是一个磁道只有一个磁头,此磁头在径向移动以存取不同磁道上的信息,它需要磁头控制部件支持,但造价较低。

(2)存取磁盘信息需要以下的地址信息:

驱动器号、盘面号、磁道号、磁头数。

(3)磁盘的存取速度由三部分组成:

磁头定位时间、扇区定位时间和实际信息传输时间。

(4)对于每一个磁盘驱动器,都有一个I/O请求队列,每当一个进程需要I/O时,它发出一个系统调用给操作系统,I/O请求包含以下必要的信息:

(1)输入或是输出;

(2)磁盘地址;(3)内存地址;(4)传送信息长度。

如果所要求的磁盘驱动器和控制器是空闲的和可用的,则I/O请求被立即执行;如果设备和控制器正在为其它进程的I/O请求服务,则I/O请求必须排队等待。

2.硬盘容量讨论

(1)硬盘的存取过程

操作系统(或特殊的应用程序绕过操作系统)通过INT13调用BIOS中的磁盘服务程序,该服务程序再将INT13请求转换为硬盘的ATA接口请求,继而在硬盘上进行数据存取。

与硬盘容量有关的部分就是INT13接口和ATA接口。

INT13接口程序保存在主板的BIOS中,而ATA接口与硬盘驱动器有关,这两种接口都是通过寄存器来寻址的。

(2)硬盘寻址的两种方式

(a)CHS方式

CHS方式是通过cylinder-柱面数,head-磁头数,sector-每柱面扇区数来寻址的,其支持硬盘的最大容量为:

1024×63×16×512/1024KB=504MB

(b)LBA方式

LBA-logicalblockaddress(逻辑块地址寻址法),LBA寻址方式,简单的说,就是把原来分别表示C、H、S的三个参数的28个位(16+4+8),看成一个表示地址的数,因而可以寻址的最大空间为:

228×512/1024=134G。

5.4.2缓冲技术

1.在I/O部分设置缓冲的理由

(1)解决信息的到达率和离去率不一致的矛盾

由于输入数据的速度和处理数据的速度往往不相同,于是,有必要设置一个缓存,作为它们之间的缓冲,以解决它们速度上的匹配以及由于速度不一致而造成数据的丢失和紊乱。

(2)缓存起中转站的作用

缓存可以是外存与外存之间的中转站

(3)使得一次输入的信息能够多次使用

这主要是用在文件系统中,由于有的文件是可以共享的,所以会出现多个任务同时需要使用一个文件的情况,这样就可以从缓存中读取所需内容,而不必启动I/O到外存上去读取;另外,在通道或控制器内设置局部寄存器作为缓冲寄存器,可暂存I/O信息,以减少中断CPU的次数。

2.缓冲的种类及特点

缓冲缓冲技术管理按缓冲存储器分为单缓冲、双缓冲、多缓冲和缓冲池。

(1)单缓冲

单缓冲是在设备和处理机之间设置一个缓冲器(区)。

设备和处理机交换数据时,先把被交换数据写入缓冲器(区),然后,需要数据的设备或处理机从缓冲器中取走数据。

由于缓冲器属于临界资源,即不允许多个进程同时对一个缓冲器操作,因此,尽管单缓冲能匹配设备和处理机之间的处理速度,但是,设备和设备之间不能通过单缓冲达到并行操作。

(2)双缓冲

解决两台外设、打印机和终端之间的并行操作的办法是设置双缓冲,也就是设置两个缓冲器,分别用于外设的输入和输出。

双缓冲仅仅是一种说明设备和设备之间并行操作的一个简单模型,并不能用于实际系统中的并行操作。

(3)多缓冲和缓冲池

多缓冲是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。

缓冲池则是把多个缓冲器连接起来统一管理,既可用于输入又可用于输出的缓冲结构。

在缓冲池管理中,一个缓冲区由两部分组成:

一部分用来标识该缓冲器和用于管理的缓冲首部,另一部分是用于存放数据的缓冲体。

这两部分有一一对应的关系。

对缓冲池的管理是通过对每一个缓冲器的首部进行操作实现的。

缓冲首部包括设备号、设备上的数据块号(块设备时)、互斥标识位以及缓冲队列连接指针和缓冲器号等。

(4)缓冲的实现方式

(a)硬件方式

一般是采用专用硬件缓冲器,如I/O控制器中的数据缓冲寄存器等。

(b)软件方式

在内存中开辟出一个具有N个单元的专用缓冲区,以便存放输入输出数据。

操作系统为每一个缓冲区建立一个数据结构,称为缓存控制块BCB(buffercontrolblock)。

操作系统通过BCB对每一个缓存实施具体的管理。

5.4.3虚拟设备技术

1.SPOOLing—simultaneousperipheraloperationson-line,即外部设备联机并行操作,它是慢速字符设备如何与计算机交换信息的一种技术,通常又称为“假脱机技术”。

这是一种预输入、缓输出和转储的管理技术。

2.字符设备和主机交换信息的两种方式

有两种基本方式,即脱机方式和联机方式。

(a)联机方式,就是一般字符设备直接与内存交换信息。

这种交换信息的缺点是:

由于字符设备信息传送速度慢,当一个任务要求从外设上输入信息时,往往要等候很长的时间;其次,由于字符设备本质上是顺序存取设备的,因此,在一个任务的信息未传输完之前,别的任务不能进行输入或输出,这就降低了整个系统的并行处理能力。

(b)脱机方式,以输入为例,先使用一台外围机把字符设备上的信息输入到块设备上(磁带或磁盘等),然后把块设备与主机联上。

这样,主机在从块设备上(而不是从字符设备)上输入它所需要的信息。

这种输入方式的优点是可以提高输入的并行度,缺点是需要人工干预,这就会降低系统的平均运行速度,而且容易出差错和损坏设备。

(c)SPOOLing技术是对上述两种信息传输方式的综合,它取两者的长处,而避免两者的短处,以联机的输入、输出方式,获得脱机的输入、输出的优点,所以SPOOLing技术有时也叫“假脱机技术”。

3.SPOOLing系统的组成

1.输入井和输出井

这是在磁盘上开辟的两大存储空间。

输入井是模拟脱机输入时的磁盘,用于收容外部设备(I/O)设备输入的数据。

输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出的数据。

2.输入缓冲区和输出缓冲区

在内存中要开辟两个缓冲区;输入缓冲区和输出缓冲区。

输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。

输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。

3.程序工作的输入进程SPi和输出进程SPi

进程SPi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。

当CPU需要输入数据时,直接从输入井读入内存。

SPo进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。

4.SPOOLing系统的特点

(1)提高了I/O速度

(2)将独占设备改造为共享设备

在SPOOLing系统中,实际上并没有为任何进程分配,而只是在输入井和输出井中,为进程分配一存储区和建立一章I/O请求表。

这样,便把独占设备改造为共享设备。

(3)实现了虚拟设备功能

宏观上,虽然是多个进程在同时使用一台独立设备,而对每一个进程而言,它们都认为自己是独占了一个设备。

当然,该设备只是逻辑上的设备。

SPOOLing系统实现了将独占设备变换为若干台对应的逻辑设备的功能。

5.4.4共享打印机

共享打印机是SPOOLing技术应用的典型实例。

它将一台打印机改造为供多个用户共享的打印机,目前广泛地应用在多用户系统和局域网中。

1.打印机共享的SPOOLing技术

SPOOLing系统在收到用户进程的打印请求时

(1)由输出进程在输出井中申请一个空闲盘块区,并将要打印

的数据送入其中;

(2)输出进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求添入其中,再将该表挂到请求打印队列上。

(3)如果还有进程要求打印输出,系统仍可接受其请求,也同样为该进程重复

(1)、

(2)。

2.打印队列

请求打印队列是由若干张请求打印表所形成的队列,系统为每个请求打印的进程建立一张请求打印表。

如果打印机空闲,输出进程将从请求打印队列的对首取出一张请求打印表,根据表中的要求将要打印的数据从输出井传送到内存缓冲区,再由打印机进行打印。

打印完成后,输出进程再查看请求打印队列中是否还有等待打印的请求表。

若有,又取出第一张

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

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1