版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(优选)第六章设备管理当前第1页\共有59页\编于星期二\11点6.1I/O系统1、I/O设备的类型
1)按传输速率分类低速设备:这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备。典型设备有键盘、鼠标器、语音的输入和输出等设备。中速设备:这是指其传输速率在每秒钟数千个字节至数万个字节的一类设备。典型设备有:行式打印机、激光打印机等。高速设备:这是指其传输速率在数百千个字节至数十兆字节的一类设备。典型的高速设备有磁带机、磁盘机、光盘机等。当前第2页\共有59页\编于星期二\11点
2)按信息交换的单位分类块设备(BlockDevice),这类设备用于存储信息。由于信息的存取总是以数据块为单位,故而得名。典型的块设备是磁盘,每个盘块的大小为512B~4KB。磁盘设备的基本特征是:1)传输速率较高,通常每秒钟为几兆位;
2)可寻址,即对它可随机地读/写任一块;字符设备(CharacterDevice),用于数据的输入和输出。其基本单位是字符,故称为字符设备。如交互式终端、打印机等。传输速率低。字符设备在I/O时,常采用中断驱动方式。当前第3页\共有59页\编于星期二\11点3)按设备的共享属性分类这种分类方式可将I/O设备分为如下三类:独占设备:它是指在一段时间内只允许一个用户(进程)访问的设备,即临界资源;因而,对多个并发进程而言,应互斥地访问这类设备,系统一旦把这类设备分配给某进程后,便由该进程独占,直至用完释放,应当注意,独占设备的分配有可能引起进程死锁。共享设备:它是指在一段时间内允许多个进程同时访问的设备,当然,对于每一时刻而言,该类设备仍然只允许一个进程访问。虚拟设备:它是指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备,称为虚拟设备。当前第4页\共有59页\编于星期二\11点2.设备控制器(I/O部件)
设备控制器是计算机中的一个实体,其主要职责是控制一个或多个I/O设备,以实现I/O设备与和计算机之间的数据交换。它是CPU与I/O设备的接口,它接收从CPU发来的命令,并去控制I/O设备工作。
操作系统一般只与控制器打交道,而非设备本身。
早期CPU是直接控制外部设备的,在引入设备控制器之后,I/O指令功能加强,才将CPU逐渐从与外设的交互细节中解放出来。当前第5页\共有59页\编于星期二\11点PCI总线控制器处理机内存显卡外设光盘磁盘IDE总线控制器外设控制器控制器控制器连接CPU、内存、设备控制器和I/O设备模型
当前第6页\共有59页\编于星期二\11点
每个控制器都有一些用来与CPU通讯的I/O寄存器。操作系统通过向这些寄存器写命令字来实现I/O功能。键盘060-063硬盘320–32F打印机378–37F软盘3F0–3F7彩色显示器3D0–3DFIBMPC的I/O地址当前第7页\共有59页\编于星期二\11点6.2I/O控制方式所谓I/O操作的控制方式也就是外围设备和内存之间的数据传送控制方式,经历了程序直接控制方式,中断控制方式,DMA方式和通道方式四种。它们之间的不同主要在与I/O交互过程中CPU的干预程度。当前第8页\共有59页\编于星期二\11点一、程序直接控制方式
CPU直接控制I/O操作的全过程,包括发送读写命令、传输数据、测试设备状态。
设备控制器接收到相应的命令后,将I/O状态寄存器的相应位置上。随着操作的执行更改状态位,由CPU执行相应指令读取I/O完成状态。在该方式中,CPU还负责从主存中取出需要输出的数据,送到设备控制器寄存器;或从设备控制器寄存器取出输入数据,将输入数据存入主存。当前第9页\共有59页\编于星期二\11点CPU向设备控制器发读命令读设备控制器状态寄存器检查状态从设备控制器读字数据到CPU寄存器中将该字写入内存未OKOK出错该块读完?OK下一指令未OK当前第10页\共有59页\编于星期二\11点缺点:在这种方式中CPU的大量时间用在了等待输入输出的循环测试上,使主机不能充分发挥效率,外设也不能得到合理使用,整个系统效率很低。当前第11页\共有59页\编于星期二\11点二、中断控制方式
CPU向I/O部件发出命令后,转去做其他有用的工作。当I/O部件准备好数据后,利用中断通知CPU,再由CPU完成数据传输。
CPU不必反复测试寄存器状态,节约了时间。当前第12页\共有59页\编于星期二\11点向设备控制器发读命令读设备控制器状态寄存器检查状态从设备控制器读字数据将该字写入内存OK出错处理该块读完?OK下一指令未OK中断当前第13页\共有59页\编于星期二\11点缺点:虽然中断的引入改善了中央处理机的利用率,但I/O操作毕竟还是由CPU控制的,此时每传输一个字或字符,往往就要做一次中断处理,每个字的数据传输都必须经过CPU寄存器转发。由此可见,当I/O设备很多时,CPU可能完全陷入I/O处理中。当前第14页\共有59页\编于星期二\11点三、DMA方式前两种方式的缺陷:
I/O的传输速率受CPU测试或中断响应的速度限制
CPU为管理I/O耗费大量时间。
DMA(直接内存存取)负责完成整个I/O操作,无需再经CPU寄存器转发,并在全部传输结束后向CPU发中断信号。
CPU向DMA部件发送I/O命令后,即可进行其他工作。当传送完成后,DMA部件向CPU发中断信号。因此仅在数据块传送的开始和结束涉及到CPU。当前第15页\共有59页\编于星期二\11点四、通道方式I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预,减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。当前第16页\共有59页\编于星期二\11点通道又称I/O处理机,它能完成主存储器和外设之间的信息传输,并与中央处理机并行操作。通道技术解决了I/O操作的独立性和各部件的并行性。通道是一个具有特殊功能的处理器,可以实现对外围设备的统一管理和外围设备与内存之间的数据传输。当前第17页\共有59页\编于星期二\11点CPU直接控制外部设备CPU直接控制设备控制器程序直接控制方式中断驱动方式DMA控制方式I/O通道控制方式输入输出控制方式的发展过程引入设备控制器当前第18页\共有59页\编于星期二\11点6.3.1I/O层次结构
通常,操作系统将设备管理系统划分并组织成四个层次:用户层I/O
设备无关的I/O(设备独立性软件)
设备驱动程序中断处理程序用户层I/O设备驱动及中断处理硬件系统调用接口,设备无关的操作系统软件
6.3设备I/O子系统当前第19页\共有59页\编于星期二\11点用户进程用户层I/O设备无关的I/O设备驱动及中断处理硬件设备管理子系统逻辑结构图核心态运行当前第20页\共有59页\编于星期二\11点一、用户层I/O
实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数,对设备进行操作。它将所有的设备看作逻辑资源,为用户进程提供各类I/O函数。用户以设备标识符和一些简单的函数来使用设备,如打开、关闭、读、写等。如C库中的函数open();read();write();close()等。当前第21页\共有59页\编于星期二\11点设备相关系统调用简介申请设备。该系统调用中有参数说明了要申请的设备名称,操作系统处理该系统调用时,会按照设备特性(是独占还是共享式使用)及设备的占用情况来分配设备,返回申请是否成功标志。将数据写入设备。从设备读取数据。释放设备。这是申请设备的逆操作。当前第22页\共有59页\编于星期二\11点在UNIX中,你也可以用如下的系统调用将数据直接写入软盘中:fd=open(“/dev/fd0”,O_RDRW);申请软盘,/dev/fd0代表软盘。iseek(fd,1024,0);将软盘当前I/O位置定位到1024字节位置。write(fd,buffer,36);将用户缓冲区buffer中的36个字节写入软盘1024-1059字节。…close(fd);释放软盘。
当前第23页\共有59页\编于星期二\11点二、设备无关的I/O(设备独立性软件)
设备独立性的概念设备独立性,也称为设备无关性。其基本含义是:应用程序独立于具体使用的物理设备。I/O系统中有许多不同种类的设备,作为程序员,只需要知道如何使用这些资源来完成所需的操作,而无需了解设备的有关具体实现细节。当前第24页\共有59页\编于星期二\11点
这一层的基本功能:向上层提供统一的系统调用接口,对下通过设备驱动程序接口调用设备驱动程序。主要任务:设备命名及与设备驱动程序的映射。在UNIX中,如/dev/fd0唯一地确定了一个inode数据结构,其中包含了主设备号,通过主设备号可以找到相应的设备驱动程序。统一命名:在系统中对各类设备采取预先设计的、统一的逻辑名称进行命名,所有软件都以逻辑名称访问设备。当前第25页\共有59页\编于星期二\11点在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。当前第26页\共有59页\编于星期二\11点逻辑设备名物理设备名驱动程序入口地址/dev/tty31024/dev/printer52046…..…..…..当前第27页\共有59页\编于星期二\11点三、设备驱动程序
设备驱动程序包括了所有与设备相关的代码,其功能是从与设备无关的软件中接收I/O请求并执行。与硬件直接相关,负责具体实现系统对设备发出的操作命令,驱动I/O设备工作的驱动程序。当前第28页\共有59页\编于星期二\11点中断处理用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后恢复被中断进程的线程后返回被中断进程。中断处理层的主要工作有:进行进程上下文的切换,对处理中断信号源进行测试,读取设备状态和修改进程状态等。四、中断处理程序当前第29页\共有59页\编于星期二\11点1、独占式使用设备
所谓独占式使用设备是指在一段时间内只允许一个用户(进程)访问的设备。通常以一次设备使用过程为单位使用设备。在申请设备时,如果设备空闲,就将其独占,不再允许其它进程申请使用,一直等到该设备被释放,才允许被其它进程申请使用。6.3.2.设备的使用方法当前第30页\共有59页\编于星期二\11点2、分时共享式使用设备独占式使用设备时,设备利用率很低。分时共享式设备是指在一段时间内允许多个进程同时访问的设备,当然,对于每一时刻而言,该类设备仍然只允许一个进程访问。当前第31页\共有59页\编于星期二\11点3、可虚拟设备可虚拟设备是指一台物理设备采用虚拟技术后,可变成多台逻辑上的所谓虚拟设备。一台可虚拟设备是可共享的设备,可以将它同时分配给多个进程使用,并对这些访问该设备的先后次序进行控制。当前第32页\共有59页\编于星期二\11点SPOOLing技术SPOOLing技术是在批处理操作系统时代引入的,即所谓假脱机输入输出技术。把这种技术用于对设备的使用实质就是对输入/输出数据成批处理。对于有些设备必须进行独占式使用,如打印机,通常往打印机输出的数据不是独立的字符行,而是一批关联的字符行。当输出这批关联字符行时,必须独占打印机设备,才能使关联的字符行打印出来。如果在进程执行中一边生成输出结果一边调用写打印机系统调用输出,则打印机在独占期间因为等输出结果而未被充分利用。因此必须避免边生成边打印,可以将输出数据边生成边写入文件中,文件相当于虚拟打印设备,待全部输入完成,在独占打印机把文件内容从打印机上打印出来。当前第33页\共有59页\编于星期二\11点例如:同一进程所有输出数据在进程运行时被写到同一文件当中,文件排到打印输出队列,打印进程申请占用打印机后,成批读出文件中数据,并送打印机打印出去。打印请求队列(含要打印文件)打印daemon进程打印机当前第34页\共有59页\编于星期二\11点Spooling技术能将()改造成可以共享的虚拟设备。
A.内存B.独占设备
C.CPUD.I/O设备虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机(SPOOLing)技术实现虚拟设备。当前第35页\共有59页\编于星期二\11点Spooling技术可以实现设备的()分配。A.独占B.虚拟C.物理当前第36页\共有59页\编于星期二\11点6.3.3.缓冲技术虽然中断、DMA和通道控制技术使得系统中设备和设备、设备和CPU等得以并行工作,但是外围设备和CPU的处理速度不匹配的问题是客观存在的。外围设备和CPU处理速度不匹配的问题极大地制约了计算机系统性能的进一步提高和限制了系统的应用范围。例如,当计算进程阵发性地把大批量数据输出到打印机上打印时,由于CPU输出数据的速度大大高于打印机的打印速度,因此,CPU只好停下来等待。反之,在计算进程进行计算时,打印机又因无数据输出而空闲无事。当前第37页\共有59页\编于星期二\11点6.3.3.缓冲技术外围设备与处理机速度不匹配的问题可以采用设置缓冲区的方法解决。缓冲技术提高CPU与设备之间的并行程度。在系统主存空间开辟一片区域,将要从外部设备读的数据预先读到这片主存区,将要输出到外部设备的数据先写到这片主存区,以后再择机写到外部设备。在设置了缓冲区之后,计算进程可把数据首先输出到缓冲区,然后继续执行,而打印机则可以从缓冲区取出数据慢慢打印。主存速度远高于外部设备,因此缓冲技术的引入,匹配了外设与CPU之间的处理速度。当前第38页\共有59页\编于星期二\11点一、单缓冲
当用户进程发出I/O请求时,操作系统在主存的系统空间为该操作分配一个缓冲区,可以实现预读和滞后写。当前第39页\共有59页\编于星期二\11点二、双缓冲
可以实现用户数据区—缓冲区之间交换数据和缓冲区—外设之间交换数据并行。三、循环缓冲
引入系统缓冲池,采用有限缓冲区的生产者/消费者模型对缓冲池中的缓冲区进行循环使用。
缓冲区结合预读和滞后写技术对具有重复性及阵发性I/O进程提高I/O速度很有帮助。当前第40页\共有59页\编于星期二\11点6.4存储设备6.4.1.常见存储外设
磁盘物理设施移动臂(动臂)、主轴、盘面、读写磁头数据组织
(一个磁盘由多个盘面组成,盘面由同心圆磁道组成,磁道由扇区(盘块)组成,扇区为基本传输单位)当前第41页\共有59页\编于星期二\11点存取装置主轴动臂盘面柱面磁道读写头多磁头活动头盘示意图
当前第42页\共有59页\编于星期二\11点当前第43页\共有59页\编于星期二\11点6.4.2.磁盘调度磁盘地址:台号+磁道号+盘面号+扇区号
读写一次磁盘信息所需的时间可分解为:寻找时间、延迟时间、传输时间寻找时间:读写磁头在读写信息之前,必须首先将磁头移到相应的磁道。磁头这种定位磁道所花费的时间称为寻找时间。延迟时间:读写磁头定位于某一个磁道的扇区所需时间称为延迟时间。传输时间:数据写入磁盘或从磁盘读出的时间。当前第44页\共有59页\编于星期二\11点为提高磁盘传输效率,软件应着重考虑减少寻找时间和延迟时间。当前第45页\共有59页\编于星期二\11点一、减少寻找时间的方法
减少寻找时间是提高磁盘传输效率的关键。因为“寻找时间”在几十毫秒时间量级。
操作系统磁盘驱动程序可以通过合理调度多道进程对磁盘的访问请求顺序,达到减少磁盘平均服务时间的目的。当前第46页\共有59页\编于星期二\11点例如,假设在某一时间,系统中的若干进程同时请求下列磁盘地址上的读写操作T0:磁道1,盘面2,扇区1;T1:磁道40,盘面3,扇区3;T2:磁道4,盘面4,扇区5;T3:磁道38,盘面5,扇区7.当前第47页\共有59页\编于星期二\11点若按照自然的时间顺序访问磁盘,则磁头将在盘面的水平方向为定位在各柱面来回运动,寻找时间会较长。若操作系统对各服务请求顺序进行重新调整,可以减少寻找时间。当前第48页\共有59页\编于星期二\11点调度策略:
FCFS(先来先服务法)
SSTF(最短寻道时间优先法)
SCAN调度(电梯调度法)
C-SCAN调度(单向扫描法)当前第49页\共有59页\编于星期二\11点FCFS调度最简单的磁盘调度算法,简单,效果不好。假设磁盘请求队列中所涉及的柱面号(磁道号)为Queue=98,183,37,122,14,124,65,67。磁头的初始位置为53。当前第50页\共有59页\编于星期二\11点当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分享成长目标规划
- 印刷行业薪资发放规则
- 生态农业机耕道施工合同
- 无人驾驶汽车测试项目商务标
- 企业内部沟通行政人事部技巧
- 研究院高管聘用合同
- 古建筑修复浮雕施工协议
- 码头瓷砖施工合同
- 师傅收徒传授技艺
- 建筑工程合规合同样本
- 2024秋期国家开放大学《政治学原理》一平台在线形考(形考任务四)试题及答案
- 成都市温江区殡葬设施布局专项规划2021-2035年
- 新员工入职消防安全教育培训记录
- 读了萧平实导师的《念佛三昧修学次第》才知道原来念佛门中有微妙法
- 周边传动浓缩刮泥机检验报告(ZBG型)(完整版)
- 纸箱理论抗压强度、边压强度、耐破强度的计算
- 土地增值税清算审核指南
- 鹬蚌相争课件
- PMC(计划物控)面试经典笔试试卷及答案
- 失业保险金申领表_11979
- 《质量管理体系文件》风险和机遇评估分析表
评论
0/150
提交评论