操作系统原理第四章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

设备管理是计算机系统的重要资源,用户无权直接使用。设备管理的一个重要任务:便是按照一定的算法在各进程间调度和分配设备。另外,设备管理还要按照用户要求启动具体设备,完成数据传输操作,并且处理设备的中断。还有如何利用虚拟技术使独享设备“变为”共享设备,使一台物理设备“变为”多台逻辑设备。4.1设备管理概述一、设备管理的分类1.按从属关系分类(1)系统设备:指在操作系统生成时已经登记在系统中的标准设备。如键盘、显示器、打印机等。(2)用户设备:指操作系统生成时未登记入系统的非标准设备。如鼠标、绘图仪、扫描仪等。2.按传输速率分类(1)低速设备:指传输速率为每秒钟几个字符至数百个字节设备,如键盘、鼠标、语音输入等。(2)中速设备:指传输速率为每秒钟数千个字节至数万个字节的设备,如针式打印机、激光打印机等。(3)高速设备:指传输速率为数兆字节的设备,如磁带机、磁盘机、光盘机等。3.按使用特性分类(1)存储设备:是计算机用来保存各种信息的设备,如磁盘、磁带等。(2)I/O设备:是向CPU传输信息或输出CPU加工处理信息的设备。例如:键盘,CRT(1)独占设备:指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备。如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地访问独占设备。4.按设备共享属性分类(2)共享设备:指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备,典型的共享设备是磁盘。(3)虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机(SPOOLing)技术实现虚拟设备。(1)字符设备:是指处理信息的基本单位是字符的设备,如键盘、打印机、显示器是字符设备。(2)块设备:是指处理信息的基本单位是字符块的设备,一般块的大小为512B~4KB,如磁盘、磁带等都是块设备。5.按信息交换单位分类二、设备管理的功能(1)设备分配。按照设备类型和相应的分配算法决定将I/O设备分配给哪一要求使用该设备的进程。凡未分配到所需设备的进程被放入一个等待队列。(2)设备处理。设备处理程序实现CPU和设备控制器之间的通信。即当CPU向设备控制器发出I/O指令时,设备处理程序应启动设备进行I/O操作,并能对设备发来的中断请求作出及时的响应和处理。(3)实现其他功能。包括对缓冲区的管理功能及实现设备独立性。三、设备管理的目标(1)提高设备的利用率。应尽量提高CPU与I/O设备之间的并行操作程度,主要利用的技术有:中断技术、DMA技术、通道技术和缓冲技术。(2)为用户提供方便、统一的界面。所谓方便,是指用户能独立于具体设备的复杂物理特性之外而方便使用设备。所谓统一,是指对不同的设备尽量使用统一的操作方式,例如各种字符设备用一种I/O操作方式。这就要求用户操作的是简便的逻辑设备,而具体的I/O物理设备有操作系统去实现,这种性能常常被称为设备的独立性。四、设备管理结构:1.逻辑I/O:2.设备I/O:3.调度和控制:4.4缓冲技术①4.4.1缓冲技术的基本思想:缓冲技术好比水库在CPU和外设之间设立缓冲区,用以暂存CPU和外设之间交换的数据,从而缓和CPU与外设速度不匹配所产生的矛盾。凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。在操作系统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之间速度不匹配的矛盾,提高资源利用率。(1)改善CPU与I/O设备间速度不匹配的矛盾例如,通常的程序都是时而时而输出。若没有缓冲,则程序在输出数据时,必然会由于打印机的速度跟不上CPU,而使得CPU长时间地等待。在计算阶段,打印机又空闲无事。在打印机或控制区中设置一缓冲区,用来快速暂存程序输出的数据,以后再由打印机慢慢的从中取出数据打印。这样就实现了CPU与I/O设备之间的并行工作。(2)减少对CPU的中断频率,放宽对中断响应时间的限制如果I/O操作每传送1B就要产生一次中断,那么设置了n个字节的缓冲区后,则可以等到缓冲区满才产生中断,这样中断次数就减少到1/n,而且中断响应的时间也可以相应地放宽。(3)提高CPU和I/O设备之间的并行性缓冲的引入可显著提高CPU和设备的并行操作程度,提高系统的吞吐量和设备的利用率。二、缓冲技术的分类缓冲有硬件缓冲和软件缓冲之分。根据系统设置的缓冲区个数,可以将缓冲技术分为:单缓冲、双缓冲、环形缓冲和缓冲池。4.6SPOOLing系统(斯普林系统)早期的计算机只能由一个用户独占,后来,随着分时系统的出现,允许由多个用户共享一台主机。类似的,一台只允许一个用户使用的独享设备能否通过某种技术把它改造成由多个用户共享的设备呢?Spooling技术就是将一台独享设备改造成共享设备比较有效的技术。一、什么是spooling全名是(SPOOLing,SimultaneousPeripheralOperationOnLine,也称为虚拟设备技术),是关于慢速字符设备如何与计算机主机交换信息的一种技术。也叫:假脱机技术。定义:spooling系统是OS中采用的一项可以把独享设备转变成具有共享特征的虚拟设备的技术,从而提高设备利用率。脱机输入输出技术为了解决人机矛盾及CPU和I/O设备间速度不匹配的矛盾,50年代末出现了该技术。事先将装有用户程序和数据的纸带(卡片)装入纸带输入机,在一台外围机的控制下把纸带上的数据(程序)输入到磁带上。当CPU需要这些数据时再从磁带上高速的调入内存。类似的,当CPU需要输出时可由CPU直接高速的把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。输入设备外围机磁盘磁盘磁盘外围机主机磁盘输出设备由于程序和数据的输入和输出都是在外围机的控制下完成的,或者说他们是在脱离主机的情况下进行的,所以称为脱机输入输出方式。脱机I/O示意图SPOOLing系统的组成:(1)输入井和输出井:这是在磁盘上开辟出来的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井模拟脱机输出时的磁盘,用于收容用户程序的输出数据。(2)输入缓冲区和输出缓冲区:这是在内存中开辟的两个缓冲取区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井。输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。(3)输入进程和输出进程:输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读如内存。输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输入井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。(4)请求打印队列这是由若干张请求打印表所形成的队列,系统为每个请求打印的进程建立一张请求打印表。4.7磁盘设备管理一、磁盘结构一般:硬盘、软盘、单片盘和多片盘固定头磁盘、移动头磁盘固定头磁盘:是指盘面上的每一条磁道都有一个读写头,固定头磁盘由于成本较高而较少使用。移动头磁盘:是指每个盘面只有一个读/写磁头,每执行一次盘的操作都须先移动磁头,使其对准所要找的磁道,这称为寻找操作。通常在计算机系统中所说的磁盘,是由若干片盘所组成的磁盘迭,各盘片均安装在一个高速旋转的枢轴。读写头安装在移动臂上,移动臂可沿盘半径方向移动。枢轴盘片梁为了对磁盘迭中的一个物理记录进行定位,需要三个参数:(1)柱面号随着臂的移动,各盘面所有的读写头同时移动,并定位在同样的垂直位置的磁道上,这些磁道形成了一个柱面。通常由外向里给各柱面依次编以顺序号,0,1,2,…。(2)磁头号将一个磁盘迭的全部有效盘面从上至下依次编以顺序号,0,1,2,…,称为磁头号,因此盘面号与磁头号是相对的。(3)扇区号将各磁道分成若干个大小相等的扇区,并编以序号0,1,2,…。扇区是磁盘存储和传送信息的基本单位。要在磁盘上访问一个扇区,必须给出其柱面号、磁头号和扇区号,这样才能准确地定位要访问的扇区,这称为扇区的物理地址,即物理扇区号。由物理扇区号表示的扇区称为绝对扇区。为了方便,操作系统通常将其转变为逻辑扇区号加以管理。编址方式为:在磁道上按扇区号增加,在柱面上按磁道号增加,对整个磁道从柱面0到最后一个柱面增加。例如,每磁道扇区数为S,每个柱面的磁道数为T,那么可将柱面号为I,磁头号为j,扇区号为k的物理扇区转换为逻辑扇区号为:b=k+S*(T*I+j)。例4.1设磁盘组共有n个柱面,编号顺序为0、1、2、…、n-1;共有m个磁头,编号顺序为0、1、2、…、m-1;每个磁道内的k个信息块从1开始编号,依次为1、2、…、k。现用x表示逻辑磁盘块号,用a,b,c分别表示任一逻辑磁盘块的柱面号、磁头号、磁道内块号,则x与a,b,c可通过如下公式进行转换:x=k*m*a+k*b+ca=(x-1)DIV(k*m)b=((x-1)MOD(k*m))DIVkc=((x-1)MOD(k*m))MODk+1CH5文件管理现代计算机系统中,要用到大量的程序和数据,由于内存容量有限,且不能长期保存。所以平时总是把他们以文件的形式存放在外存中,需要时随时调入内存即可。如果由用户直接管理外存上的文件,不但要熟悉外存的特性,各种文件的属性,他们在外存上的位置等。而且,还要保证数据的安全性。用户是不能胜任的。在os中增加了文件管理的功能,即构成一个文件系统,负责管理在外存上的文件。5.1.2文件分类1.按用途分类(1)用户文件:由用户建立,并由文件拥有者进行读/写和执行。这类文件只能由文件所有者或所有者授权用户使用。(2)库文件:由系统为用户提供的实用程序、标准子程序、动态链接库等。(3)系统文件:由系统建立的文件,如操作系统、编辑系统、编译系统等。这类文件只允许通过系统调用来执行,不允许读/写与修改。2.按文件保护类型分类(1)只读文件:允许所有者或授权用户对文件进行读,但不允许写。(2)读写文件:允许所有者或授权用户对文件进行读写。(3)执行文件:允许授权用户调用执行,但不允许对它进行读写。(4)不保护文件:不加任何访问限制的文件。3.按信息流向分类(1)输入文件:如读卡机上的文件只能读入,所以它们是输入文件。(2)输出文件:如打印机上的文件只能写出,所以它们是输出文件。(3)输入/输出文件如磁盘、磁带上的文件,既可读又可写,所以它们是输入/输出文件。4.按文件的组织方式分类(1)一般文件:也叫普通文件,它按一般的文件格式进行组织,如字符流文件。(2)特殊文件:如目录文件(由目录信息构成的文件)。在某些操作系统中,把I/O设备也定义为特殊文件。CH6作业管理对于单作业来说,一个作业就是一个进程。对于多作业步的作业来说,一个作业步通常是一个进程。作业管理的任务:建立作业,使之执行,并在完成任务后将其撤销。问题:在批处理系统中,作业提交后是否马上放在内存中?为什么?因为内存容量有限,而提交的作业数量可能很多,无法把他们都放入内存,当内存中可以同时运行的作业太多的时候,会影响系统的性能,如使周转时间太长。另外,大量的作业被收容在输入井中,可以选择对资源需求不同的作业进行合理搭配,再放入内存中,从而使得系统的各个部分都得到均衡利用。

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功