欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作系统原理第八章输入输出管理.ppt

    • 资源ID:73415260       资源大小:481.50KB        全文页数:40页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统原理第八章输入输出管理.ppt

    第八章第八章 输入输出管理输入输出管理8.1 I/O管理概念管理概念8.2 缓冲技术缓冲技术8.3 设备分配技术设备分配技术8.4 I/O控制控制18.1 输入输入/输出管理概念输出管理概念o一、引言一、引言o设备分类设备分类o1.存储设备存储设备:是存储信息的设备,如:磁盘、磁鼓。(以块为单位传输信息)。o2.输入输出设备输入输出设备:能将信息从计算机外部输入到机内,或反之,如:键盘、显示器、打印机。o3.传输设备传输设备 n负责计算机之间的信息传输,如调制调节器、网卡。o设备按传输信息的特点来分:字符设备、块设备28.1 输入输入/输出管理概念输出管理概念o设备设备管理的设计目标管理的设计目标n1.提高设备利用率(关键是实现设备的并行操作)提高设备利用率(关键是实现设备的并行操作)o合理分配设备o提高设备与CPU、各外部设备之间的并行性(通道和中断)n2.方便用户使用方便用户使用o独立于设备:用户使用的设备与物理设备无关o建立虚拟环境n3.设备处理的一致性设备处理的一致性o设备品种繁多、用法各异,逐一管理十分复杂;o输入输出系统应将设备的特性与处理它们的程序分开。38.1 输入输入/输出管理概念输出管理概念o二、输入二、输入/输出输出管理功能管理功能n1.状态跟踪状态跟踪o动态地记录各种设备的状态(保留在设备控制块中)n2.确定设备分配策略确定设备分配策略o决定设备分配策略,确定谁、何时存取设备、使用多长时间。n3.设备分配与回收设备分配与回收o作业级静态分配:作业进入系统时就进行分配,退出系统时就收回全部资源。o进程级动态分配:进程需要使用某设备而提出申请时进行分配,使用完毕后立即将其收回。n4.设备控制设备控制o负责将用户I/O请求转换为设备能识别的I/O指令,实施设备驱动和中断处理的工作。4o三三.设备独立性设备独立性n1.设备独立性概念设备独立性概念o(1)什么是设备独立性什么是设备独立性:所谓设备独立性是指,用户在编制程序时所使用的设备与实际使用的设备无关,也就是在用户程序中仅使用逻辑设备名。o(2)逻辑设备名逻辑设备名:逻辑设备名,是用户自己指定的设备名(或设备号),它是暂时的、可更改的。o(3)物理设备名物理设备名:物理设备名是系统提供的设备的标准名称,它是永久的、不可更改的。8.1 输入输入/输出管理概念输出管理概念5o2.设备独立性的实现设备独立性的实现n(1)在高级语言中用软通道实现在高级语言中用软通道实现o使用高级语言提供的指派语句,通过指派一个逻辑设备名(通道号)来定义一个设备或文件。如:fd=open(“/dev/lp”,mode);number1=write(fd,buf,count1);n(2)在批处理系统中,用连接说明语句来定义在批处理系统中,用连接说明语句来定义 如:OUTPUT1=LPTn(3)在交互系统中,用指派命令来定义在交互系统中,用指派命令来定义 如:PDP系列机上的RT11系统 ASSIGN 设备物理名 设备逻辑名8.1 输入输入/输出管理概念输出管理概念6n逻辑设备描述器ldd(logic-device-descriptor)o是一种数据结构,进程控制块中有一个指针指向它。o3.实现设备独立性的优点实现设备独立性的优点n方便用户n改善设备利用率n提高系统的可扩展性和可适应性 8.1 输入输入/输出管理概念输出管理概念ldd_ptrpcbI1sr1dcb_ptrO1lp3dcb_ptrldd1ldd2Ldd包括:设备逻辑名设备物理名设备控制块dcb指针逻辑设备描述器队列勾链字78.1 输入输入/输出管理概念输出管理概念o四四.设备控制块设备控制块 n1.什么是设备控制块什么是设备控制块(DCB)o系统为每一台设备都配置了一个用来记录设备的硬件特性、连接和使用情况的一组数据,称为设备控制块。n2.设备转换表设备转换表o进程的每个I/O请求都要转换成调用一个能执行I/O操作的设备例程。通过操作码检索“设备转换表”以找到相应的设备例程地址。8o2.设备控制块的内容设备控制块的内容n表8.1 设备控制块 dcb n1.设备名:是设备的系统名,即设备的物理名。n2.设备属性:描述设备现行状态的一组属性n3.命令转换表:转换表包含设备特定的I/O例程地址,不具备相应功能的设备在其例程地址上可以填“1”。设备名设备属性指向命令转换表的指针在I/O总线上的设备地址设备状态当前用户进程指针I/O请求队列指针 8.1 输入输入/输出管理概念输出管理概念9o一一.缓冲概念缓冲概念n1.什么是缓冲什么是缓冲o缓冲是两种不同速度的设备之间传输信息时平滑传输过程的常用手段。n2.缓冲器缓冲器o是以硬件的方式来实现缓冲,容量较小,是用来暂时存放数据的一种存储装置。n3.软件缓冲区软件缓冲区o用来保存在两设备之间或在设备和应用程序之间所传数据的内存区域。8.2 缓冲技术缓冲技术10o4.为什么引入缓冲为什么引入缓冲n(1)处理数据流的生产者与消费者间的速度差异处理数据流的生产者与消费者间的速度差异 o如:从调制解调器收到一个文件,并保存到硬盘上。n(2)协调传输数据大小不一致的设备协调传输数据大小不一致的设备o在计算机网络中用来处理消息的分段和重组。n(3)应用程序的拷贝语义应用程序的拷贝语义o如:操作系统为保证系统调用write的正确语义,即应用程序要写入磁盘的数据就是write系统调用发生时的版本。o方法:在系统调用返回前将应用程序缓冲区复制到内核缓冲区。8.2 缓冲技术缓冲技术11o二二.常用的缓冲技术常用的缓冲技术n双缓冲、环形缓冲、缓冲池 n.双缓冲双缓冲o在双缓冲方案下,为输入或输出分配两个缓冲区buf1、buf2。o(1)输入数据时,如何利用双缓冲输入数据时,如何利用双缓冲o(2)输出数据时,如何利用双缓冲输出数据时,如何利用双缓冲o(3)缓冲区既用于输入,也用于输出数据时,如何利用缓冲区既用于输入,也用于输出数据时,如何利用双缓冲双缓冲8.2 缓冲技术缓冲技术12o(1)输入、输出数据时,如何利用双缓冲输入、输出数据时,如何利用双缓冲输入设备输入设备BUF1进程进程BUF2输出设备输出设备BUF1进程进程BUF28.2 缓冲技术缓冲技术13o说明使用双缓冲可以提高I/O的效率的例sio,读一张卡片到 buf1等待卡片输入机结束等待打印机就绪sio,打印 buf1的内容sio,读一张卡片到 buf2等待卡片输入机结束等待打印机就绪sio,打印 buf2的内容读卡机、打印机可并行操作读卡机、打印机可并行操作8.2 缓冲技术缓冲技术14o一、设备分配原则一、设备分配原则n1.静态分配和动态分配o独占设备静态分配;共享设备动态分配n2.I/O设备分配算法o先请求先服务o优先级最高者优先n3.设备分配的安全性o防止发生死锁。o对独占设备一般采用静态分配,不会产生死锁。若采用动态分配,如一个进程只提出一个I/O请求,则也不会产生死锁,但如一个进程可同时操作多个外设时,就有可能产生死锁。8.3 设备分配设备分配15o设备分配的主要技术设备分配的主要技术独享、共享、虚拟技术独享、共享、虚拟技术o二二.独享分配独享分配n1.什么是独享设备什么是独享设备o让一个作业在整个运行期间独占使用的设备。n2.什么是独享分配什么是独享分配o在一个作业执行前,将它所要使用的设备分配给它;当它结束撤离时,将分配给它的这类设备收回。o三三.共共享分配享分配n1.什么是共享设备什么是共享设备o由多个作业、进程共同使用的设备称为共享设备(磁盘)。n2.什么是共享分配什么是共享分配o共享分配就是动态分配。当进程提出资源申请时,由设备管理模块进行分配,进程使用完毕后,立即归还。8.3 设备分配设备分配16o三三.虚拟虚拟分配分配n虚拟分配:分配虚拟设备,使用SPOOLing系统。n1.SPOOL(Simultaneous Peripheral Operation On Line)ing系统,即外部设备联机同时操作o实现思想:用常驻内存的进程去模拟一台外围机,从而用一台主机就可完成脱机技术中需要多台计算机完成的工作。o该系统在作业执行前将作业信息通过独占设备预先输入到辅存上一个特定的区域(称为“井”)存放好,称为预输入。o作业执行中,不必直接启动独占设备输出数据,而只要将作业输出数据写入磁鼓或磁盘中存放,在作业执行完毕后,由操作系统来组织信息输出,称为缓输出。oSpool系统利用通道和中断技术,在主机控制之下,由通道完成输入/输出工作。系统包括预输入程序、缓输入程序和预输入表、缓输出表等数据结构。8.3 设备分配设备分配178.3 设备分配设备分配o2.虚拟设备和虚拟分配虚拟设备和虚拟分配n通过外部设备联机操作技术后,一台设备可以和辅存中若干个存储区域相对应,所以在形式上就好像把一台输入设备(或输出设备)变成了许多虚拟的输入设备(或输出设备)。即:把一台不能共享的输入输出设备转换成了一台可以共享的缓冲输入输出设备。n虚拟设备:通常把用来代替独占型设备的那部分外存空间(包括有关的控制表格)称为虚拟设备。n虚拟分配技术:当某进程需要与独占型设备交换信息时,Spool系统就将与该独占设备所对应的那部分磁盘、磁鼓的一部分存储空间分配给它。18o虚拟虚拟设备设备 虚宽行1虚宽行2进程A进程B进程C进程D输入井输出井光字符阅读机打印机虚光字符阅读机虚光字符阅读机8.3 设备分配设备分配19o3.虚拟打印功能虚拟打印功能o4.SPOOLING系统的优点系统的优点n(1)提供虚拟设备n(2)加快作业处理速度n(3)外围设备同时联机操作输入机1输入机2作业1作业2打印机磁盘输入井磁盘输出井内存8.3 设备分配设备分配208.4 输入输入/输出控制输出控制o一、I/O硬件n端口(port):计算机端口是设备与计算机通信的一个连接点。n总线:如果一个或多个设备使用一组共同的线,这种连接称为总线(bus)。o总线是一组线和可以描述在线上传输信息的协议。n控制器:OS软件和硬件设备之间接口,它接收CPU的命令,并控制I/O设备进行实际的操作;o控制器通常有四种寄存器:状态、控制、数据输入、数据输出寄存器;21o二二.输入输入/输出输出控制方式控制方式nCPU一般通过I/O控制器与物理设备打交道。按照I/O控制器智能化程度的高低,将I/O设备的控制方式分为四类:o循环测试I/O方式oI/O中断方式oDMA方式o通道方式8.4 输入输入/输出控制输出控制22o1.循环测试循环测试I/O方式方式 n该方式中I/O控制器是操作系统和软件和硬件设备之间的接口,它接收CPU的命令,并控制I/O设备进行实际操作。n循环测试I/O工作过程。假如一个程序要从某一输入设备输入一个数据,那么将按如下步骤进行:o把一个启动位为“1”的控制字写入该设备的控制状态寄存器,从而启动该设备进行输入操作。o反复读控制寄存器的内容,并测试其中的完成位,若为0,转,否则转。o把数据缓冲区中的数据读入CPU或主存单元。n优点:控制简单,无须太多硬件支持;n缺点:CPU利用率低;8.4 输入输入/输出控制输出控制238.4 输入输入/输出控制输出控制o2.I/O中断方式中断方式 nI/O中断方式实现了CPU与I/O设备并行工作,提高了CPU利用率。它要求在控制状态寄存器中有一位“中断允许位”:n在I/O中断方式下,数据的输入按如下步骤进行:o要求输入数据的进程把一个启动和中断允许位为“1”的控制字写入设备控制状态寄存器中,从而启动该设备进行物理操作。o上述进程因等待输入操作的完成而进入等待状态。于是进程调度程序调另一进程运行。o当输入完成时,输入设备通过中断申请线向CPU发中断请求信号,通过中断进入,CPU转向该设备的中断处理程序。248.4 输入输入/输出控制输出控制o中断处理程序首先保护被中断程序的现场,然后把输入缓冲寄存器中的输入数据转送到某一特定单元中去,以便要输入的进程使用。同时,还把等待输入完成的那个进程唤醒,最后中断处理程序恢复被中断程序的现场,并返回到被中断的进程继续执行。o在以后某个时刻,进程调度程序将调度到要求输入的进程,该进程从约定的特定单元中取出做进一步处理。n优点:CPU的利用率大大提高;n缺点:每台设备每次输入输出都会产生中断,中断次数太多,影响CPU的有效计算时间;258.4 输入输入/输出控制输出控制o3.通道方式通道方式 n通道:一个独立于CPU的专管输入/输出控制的处理机,它控制设备和内存直接进行数据交换,它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号;通道也被称为“I/O处理机”。n通道的三种类型:字节多路通道(多个通道程序轮流执行);选择通道(一个通道程序从头到尾执行);数组多路通道(分时方式执行几个通道程序);n优点:有关I/O工作,CPU委托通道去做,使CPU基本摆脱了I/O控制工作,大大提高了CPU和外设的并行工作程度。268.4 输入输入/输出控制输出控制278.4 输入输入/输出控制输出控制o4.DMA方式 n在外设和主存之间开辟直接的数据交换通路;nDMA控制器取代I/O控制器,控制外设和主存之间成批的进行数据交换,而不用CPU干预;nDMA控制器中包含有:控制状态寄存器、数据缓冲寄存器、传送字节数寄存器、内存地址寄存器;nCPU只在两处参与数据传输工作:o数据块传送开始时发启动命令;o整个数据块传输结束时发中断信号请求CPU进行中断处理;nDMA控制器与CPU、主存及I/O设备这间的关系如图:288.4 输入输入/输出控制输出控制29o三、三、I/O子系统子系统n为了对不同的设备按统一的标准方式来处理,为用户建立虚拟环境,I/O子系统采用了抽象、包装与软件分层的方法。每个通用类型都可以通过一组标准函数(接口)来访问。8.4 输入输入/输出控制输出控制308.4 输入输入/输出控制输出控制o1.各类设备的接口各类设备的接口n块设备接口o块设备接口规定了访问磁盘驱动器和其他基本块设备所需要的各方面。o一般而言设备应提供read和write命令,随机访问还提供seek命令,它们描述了块存储设备的基本特点,应用程序就不必关注这些设备的低层细节差别。n主存映射接口o主存映射接口不提供read和write操作,而是通过主存中的字节数组来访问磁盘存储信息。系统调用将文件映射在主存上,并返回一个字符数组的虚拟主存地址,该字符数组包含了文件的拷贝。实际数据的传输在需要时才执行。318.4 输入输入/输出控制输出控制n字符流设备接口o这类设备的基本系统调用使应用程序可get或put字符。n网络套接字接口o基于套接字(套接字,简单的说就是通信的两方的一种约定)接口的系统调用可以让应用程序创建一个套接字,连接本地套接字和远程地址(将本地应用程序与由远程应用程序创建的套接字相连),监听要与本地套接字相连的远程应用程序。连接后可以发送和接收数据。o套接字接口还提供了select函数,用来管理一组套接字。32o2.I/O子系统功能子系统功能nI/O子系统使进程能与外部设备及网络进行通信,主要功能:o(1)解释用户的I/O系统调用o(2)设备驱动o(3)中断处理n设备处理程序设备处理程序o设备处理程序是能直接控制设备运转的程序,它根据各类设备的特点和性能来编写。每一类设备有一个相应的设备处理程序,能控制同类中多台物理设备同时工作。8.4 输入输入/输出控制输出控制33o3.调用调用I/O核心模块的方式核心模块的方式n控制设备I/O工作的核心模块通常称为设备驱动程序,该核心模块有以下两种实现方式:n(1)通过设备处理进程的方式o为每一类设备设置一个设备处理进程(对应的程序就是设备处理程序)o该进程当有I/O请求来到时,被唤醒,进行设备驱动工作o当没有I/O请求时,就睡眠oI/O控制模块的接口程序:负责解释用户的I/O系统调用;转换成I/O控制模块认识的命令形式;将I/O请求发给对应设备处理进程。n(2)将设备与文件一样对待o将设备与文件一样对待,使用文件系统的系统调用命令进行设备的读、写。8.4 输入输入/输出控制输出控制34o四四.I/O控制的例控制的例nI/O接口程序接口程序(I/O过程过程)o1.将逻辑设备转换为物理设备将逻辑设备转换为物理设备n根据 I/O系统调用中给出的逻辑设备名(ldev)n根据逻辑设备描述器,将逻辑设备名转换为物理设备名o2.合法性检查合法性检查n对所需进行的操作进行合法性检查。n根据 I/O系统调用中给出的操作模式moden根据DCB中命令转换表中允许的操作o3.形成形成I/O请求块,发消息给对应的设备处理进程请求块,发消息给对应的设备处理进程n将请求的参数输入到I/O请求块(IORB)n将I/O请求块(IORB)挂到对应的设备请求队列上8.4 输入输入/输出控制输出控制35oI/O请求接口程序的描述请求接口程序的描述 算法 doio 输入:设备的逻辑名 ldev 操作类型 mode 传送数据数目 amount 传数数据地址 addr 输出:如果传送出错,则带错误码返回,否则正确返回 while (该进程的逻辑设备描述器队列不空)if (与ldev相联结的物理设备找到)break;/*找到*/if (该进程的逻辑设备描述器队列为空)return(错误码);/*设备逻辑名错*/检查参数与该设备特性是否一致;if (不一致)return(错误码);/*传送参数错*/构造iorb;把iorb插入到该设备的请求队列中;唤醒因等待I/O请求块而睡眠的进程;8.4 输入输入/输出控制输出控制36o设备处理进程设备处理进程 process io 1:while (设备请求队列不空)取一个iorb;提取请求的详细信息;启动I/O操作;sleep (事件:I/O完成)/*I/O操作*/*等I/O完成后,进入中断处理程序,并在那里唤醒设备处理进程*/if(出错)将错误信息写在该设备的dcb中;传送数据到目的地;唤醒请求此I/O操作的进程;删除iorb;sleep (事件:因无I/O请求);goto 1;8.4 输入输入/输出控制输出控制37o请求请求I/O的进程、的进程、I/O过程、设备处理进程、中断处理过程、设备处理进程、中断处理程序之间的同步关系程序之间的同步关系 8.4 输入输入/输出控制输出控制38一.设备管理的基本概念 1.I/O管理的功能 2.设备独立性 定义 优点 3.设备控制块 定义 二.缓冲技术 1.什么是缓冲 2.常用的缓冲技术 3.双缓冲技术第八章第八章 小小 结结39三.设备分配 1.常用的设备分配技术 2.独享设备 独享分配 定义 3.共享设备 共享分配 定义 4.虚拟设备 虚拟技术 定义 四.I/O控制 1.I/O控制的主要功能 2.请求I/O的进程、I/O过程、设备处理进程、中断处理程序之间的同步关系 第八章第八章 小小 结结40

    注意事项

    本文(操作系统原理第八章输入输出管理.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开