操作系统原理-方敏-设备管理_第1页
操作系统原理-方敏-设备管理_第2页
操作系统原理-方敏-设备管理_第3页
操作系统原理-方敏-设备管理_第4页
操作系统原理-方敏-设备管理_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章设备管理操作系统课程组一、引言设备的概念一个计算机系统就是由大量的设备构成的,例如:CPU,磁盘,显卡、显示器、鼠标、键盘等。这些设备的特点和功能各不相同。在这些设备中,有一类是作为计算机系统与外界交互的工具使用的,它具体负责计算机与外部的输入输出工作,我们称这类设备为外部设备简称为外设,本章重点研究的就是操作系统中对这类设备的管理策略。设备管理的目标如何提高设备的利用率:就是提高CPU与I/O设备之间的并行操作程度。为用户提供方便统一的界面:方便是指用户能独立于具体设备的复杂物理特性之外而方便地使用设备;统一是指对不同的设备尽量使用统一的操作方式。2一、引言设备管理的任务动态地掌握并记录设备的状态设备分配和释放缓冲区管理实现物理I/O设备的操作提供设备使用的用户接口设备的访问和控制I/O缓冲和调度3二、I/O系统概述I/O系统的结构单总线结构具有通道系统的I/O系统bus4二、I/O系统概述I/O系统的控制方式直接控制方式CPU优点:简单。缺点:CPU的大部分时间都用于对硬件进行测试,效率低下。5二、I/O系统概述中断驱动I/OCPU启动外设data发出中断优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。提高了CPU的利用率。中断技术使得CPU和外设之间的并行工作成为可能。缺点:数据仍然需要通过CPU进行传输,由于CPU每次处理的数据量少,因此这种方式只适于数据传输率较低的设备。6二、I/O系统概述直接存储访问I/O(DMA,DirectMemoryAccess)CPU启动外设data发出中断DMA控制器启动指令中断优点:CPU只需干预I/O操作的开始和结束,而其中的数据读写无需CPU控制,适于高速设备。7CPU二、I/O系统概述通道控制方式I/OI/O处理机一个CPU可以连接若干个通道,一个通道可以连接若干个控制器,一个控制器可以连接若干个设备。优点:解决了I/O操作的独立性和各部件工作的并行性。通道把中央处理机从繁琐的输入输出操作中解放出来。采用通道技术后,不仅能实现CPU和通道的并行操作,而且通道与通道之间也能实现并行操作,各通道上的外围设备也能实现并行操作,从而可达到提高整个系统的效率的根本目的。8二、I/O系统概述I/O设备的分类按数据组织分类块设备(BlockDevice):指以数据块为单位来组织和传送数据信息的设备。这类设备用于存储信息,有磁盘和磁带等。它属于有结构设备。磁盘设备的基本特征是:①传输速率较高,通常每秒钟为几兆位;②它是可寻址的,即可随机地读/写任意一块;③磁盘设备的I/O采用DMA方式。字符设备(CharacterDevice):指以单个字符为单位来传送数据信息的设备。这类设备一般用于数据的输入和输出,有交互式终端、打印机等。它属于无结构设备。字符设备的基本特征是:①传输速率较低;②不可寻址,即不能指定输入时的源地址或输出时的目标地址;③字符设备的I/O常采用中断驱动方式。9二、I/O系统概述从资源分配角度分类独占设备:指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备,如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地进行访问。共享设备:指在一段时间内允许多个进程同时访问的设备。典型的共享设备是磁盘。共享设备不仅可以获得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机技术(SPOOLing技术)实现虚拟设备。10二、I/O系统概述按数据传输率分类低速设备:指传输速率为每秒钟几个字节到数百个字节的设备。典型的设备有键盘、鼠标、语音的输入等;中速设备:指传输速率在每秒钟数千个字节至数十千个字节的设备。典型的设备有行式打印机、激光打印机等;高速设备:指传输速率在数百千个字节至数兆字节的设备。典型的设备有磁带机、磁盘机、光盘机等。11三、I/O软件的组成设备管理软件的组成部分I/O交通管制程序:负责各I/O设备之间的协调工作;I/O调度程序:负责设备的分配和调度;I/O设备处理程序:负责每类设备的具体操作。I/O软件的设计目标设备独立性(deviceindependence)通过某种技术使得软件和硬件彼此相对比较独立。这样,除了直接与设备打交道的低层软件之外,其他部分的软件并不依赖于硬件。优点:降低操作系统和底层硬件之间的耦合性,增强了操作系统的适应能力。方便了用户的使用。12三、I/O软件的组成统一命名系统中,每种设备都是有名称的,如何命名以方便系统管理和用户使用是一个重要的问题。这里的统一命名是指在系统中采取预先设计的、统一的逻辑名称,对各类设备进行命名,并且应用在同设备有关的全部软件模块中。命名方式:通常的做法是,用一个序列字符串或一个整数来表征一个输入输出设备的名字。这个统一命名不依赖于设备,也就是说在同一个名称,其对应的物理设备可能发生了变化,但它并不在该名称上体现。例如在UNIX中,设备采用统一命名和处理的方式。13三、I/O软件的组成I/O软件的结构外部I/O设备用户设备驱动程序与设备无关的系统软件用户级软件分层设计思想中断处理程序14三、I/O软件的组成中断处理程序中断机制原理设备管理程序与中断的关系设置中断的目的:解决高速处理设备和低速输入输出设备之间的矛盾,提高系统工作效率。设备管理程序外设启动指令中断请求data15三、I/O软件的组成设备驱动程序设备驱动程序是直接同硬件打交道的软件模块。一般而言,设备驱动程序的任务为:接受来自与设备无关的上层软件的抽象请求;进行与设备相关的处理。具体说来,其功能主要有:控制和监督各I/O控制器的正确执行,并进行必要的错误处理。处理和设备相关的操作,如排队、挂起、唤醒等。缓冲区管理。进行一些较为底层的和具体设备相关的处理工作。16三、I/O软件的组成设备驱动程序的特点与I/O设备的硬件结构密切联系,是操作系统底层中唯一知道各种输入输出设备的控制器细节及其用途的部分。 例如,只有磁盘驱动程序具体了解磁盘的区段、磁道、柱面、磁头、磁臂的运动、交错访问系数、马达驱动器、磁头定位次数以及所有保证磁盘正常工作的机制,其他软件根本不过问这些硬件操作的细节。17三、I/O软件的组成设备驱动程序的结构由于驱动程序和硬件的结构有着密切的联系,因此不同的硬件其启动程序的结构以也不同。但是对于略有差异的同一类设备,为了方面使用,系统往往会提供一个通用的设备驱动程序。当然为了追求更好的性能,用户可以使用厂家提供的专门为该设备编写的设备驱动程序。18三、I/O软件的组成与设备无关的系统软件是建立在设备驱动程序之上的,与具体设备无关的I/O功能的集合(例如所有设备都需要的I/O功能)。功能:统一命名:将设备的符号名映射到相应的设备驱动程序上,对外提供同一的命名方式。设备保护:对设备进行必要的保护,防止无授权的应用或用户的非法使用。提供与设备无关的逻辑块:屏蔽底层各种I/O设备空间大小、处理速度和传输速率的差异,只向上层提供大小统一的逻辑块尺寸。缓冲管理19三、I/O软件的组成存储设备的块分配:查找一个存储设备的空闲块并进行分配。独占设备的分配和释放出错处理:一般来说I/O错误有两种操作故障:由驱动程序处理。非操作故障:如磁盘受损而不能再读,由与设备无关的系统软件处理,并向上层返回出错信息。用户空间的I/O软件常见的主要有I/O系统调用Spooling系统:构成虚拟设备。20三、I/O软件的组成I/O系统的层次结构与每层的主要功能21四、具有通道的设备管理通道CPUI/O处理机22四、具有通道的设备管理通道的类型字节多路通道(ByteMultiplexorChannel)数组选择通道(BlockSelectorChannel)主通道子通道1子通道2子通道n设备1…设备2设备n低速设备,传输单位为字节可以获得较好的通道利用率可分配型通道设备1设备2设备n高速设备,一次传输一组数据可以获得较好的数据传输速率23四、具有通道的设备管理数组多路通道(BlockMultiplexorChannel)“瓶颈”问题主通道子通道1子通道2子通道n设备1…设备2设备n高速设备,一次传输一组数据即具有很高的数据传输速率,又能获得令人满意的通道利用率。CPU24四、具有通道的设备管理术语:通道命令(ChannelCommandWord,CCW):通道又称为I/O处理机,具有自己的指令系统,常常把I/O处理机的指令称通道命令。通道程序:用通道命令编写的程序称通道程序,通道通过执行通道程序控制I/O设备运行。通道地址字(ChannelAddressWord,CAW):用来存放通道程序首地址的内存单元称通道地址字。通道状态字(ChannelStatusWord,CSW):是通道向操作系统报告工作情况的状态汇集。25四、具有通道的设备管理通道的工作原理26五、与设备管理有关的技术DMA技术(DirectMemoryAccess,DMA)CPU启动外设data发出中断DMA控制器启动指令中断优点:CPU只需干预I/O操作的开始和结束,而其中的数据读写无需CPU控制,适于高速设备。内存传送一个数据块高速设备27五、与设备管理有关的技术缓冲技术缓冲区是一种交换数据的区域。缓冲技术的分类单缓冲技术(singlebuffer)只设置一个缓冲,CPU和外设轮流使用。CPU28五、与设备管理有关的技术双缓冲(doublebuffer)适合于外设速度较高的情况。29五、与设备管理有关的技术环形缓冲用于低速I/O设备结构30五、与设备管理有关的技术环形缓冲的两种现象系统受限计算:Nexti追上Nextg系统受限I/O:Nextg追上Nexti31五、与设备管理有关的技术缓冲池(bufferpool)可供多个进程共享的双向缓冲技术。缓冲池空缓冲队列输入队列输出队列32五、与设备管理有关的技术总线技术总线的定义:计算机中连接各个部件的一组线路。优点:便于部件和设备的扩充,使不同设备间的互连更加容易。总线的结构单总线bus优点:简单缺点:总线只能分时工作,使信息传送的吞吐量受到限制。33五、与设备管理有关的技术双总线bus存储总线在双总线结构中,因为CPU可以通过存储总线访问主存,故减轻了系统总线的负担,同时加大了信息传送的吞吐量。34五、与设备管理有关的技术三总线三总线结构采用了通道(I/O处理机),它减轻了CPU的数据的I/O控制,是整个系统的效率得到了很大的提高,所以,在中型、大型计算机系统中采用三总线结构。35五、与设备管理有关的技术总线的类型内部总线计算机内部各外围芯片与处理器之间的总线,用于芯片一级的互连。系统总线系统总线是计算机中各插件板与系统板之间的总线,用于插件板一级的互连。外部总线计算机和外部设备之间的总线,它用于设备一级的互连。36六、UNIX设备管理UNIX的设备种类块设备字符设备UNIX设备管理的主要特点块设备与字符设备具有相似的层次结构。这是指对它们的控制方法和所采用的数据结构、层次结构几乎相同。将设备作为一个特殊文件,并赋予一个文件名。这样,对设备的使用类似于对文件的存取,具有统一的接口。采用完善的缓冲区管理技术。引入“预先读”、“异步写”和“延迟写”方式,进一步提高系统效率。37六、UNIX设备管理UNIX设备管理用到的主要数据结构缓存与缓存控制块缓冲池容量:512/2048字节structbuf{intb_flage;/*缓冲区标志*/structbuf*b_forw;/*设备队列前向指针*/structbuf*b_back;/*设备队列后向指针*/structbuf*av_forw;/*自由队列前向指针*/structbuf*av_back;/*自由队列后向指针*/dev_tb_dev;/*逻辑设备号*/unsignedb_bcount;/*传送数据字节数*/union{caddr_tb_addr;/*缓冲区内存首地址*/intb_words;/*要刷新的起始地址*/structfilsys*b_filsys;/*超级块*/structdinode*b_dino;/*磁盘inode表*/daddr_t*b_daddr;/*间接块*/}b_un;daddr_tb_blkno;/*磁盘上数据的块号*/charb_error;/*返回给调用者的出错信息*/unsignedintb_resid;/*因出错而未被传送的数据字节数*/time_tb_start;/*I/O请求起始时间*/structproc*b_proc;/*执行物理或兑换I/O的进程*/}buf[NBUF];38六、UNIX设备管理块设备表UNIX中为每个块设备设置了一张管理表,称为块设备表。结构:块设备表structiobuf{intb_flags;/*设备队列的状况标志*/structbuf*b_forw;/*指向本设备的第一个缓冲区*/structbuf*b_back;/*指向本设备的最后一个缓冲区*/structbuf*b_actf;/*指向本设备I/O请求队列中的第一个缓冲区*/structbuf*b_actl;/*指向本设备I/O请求队列中的最后一个缓冲区*/dev_tb_dev;/*设备名*/char_b_active;/*设备正在执行一个I/O请求的标志*/char_b_errcnt;/*出错计数*/structeblock*io_erec;/*指向块设备错误记录块*/intio_nreg;/*设备寄存器的个数*/physadrio_addr;/*设备控制状态寄存器地址*/physadrio_mba;/*MBA配置结构寄存器地址*/structiostat*io_stp;/*指向部件I/O统计块*/time_tio_start;/*输入输出启动时间*/intio_s1;/*驱动程序留用位数*/intio_s2;/*驱动程序留用位数*/};39六、UNIX设备管理块设备开关表UNIX中每类设备都有驱动程序,每个驱动程序都包含了用于执行不同操作的多个函数,如打开、关闭、启动设备、读和写等函数。为了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论