您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 操作系统原理_庞丽萍_第八章输入输出管理
1、1(一)I/O管理的基本概念(二)缓冲技术(三)设备分配技术(四)I/O控制第八章输入输出管理2(一)I/O管理概念一.设备分类1.存储设备又称块设备,是存储信息的设备,如:磁盘、磁鼓。(以块为单位传输信息)2.输入输出设备又称字符设备,能将信息从计算机外部输入到机内,或反之,如:键盘、显示器、打印机。(以字符为单位传输信息)3二.设备管理的设计目标1.提供使用方便且独立于设备的界面统一:对各种不同的设备提供一致的界面独立于设备:用户使用的设备与物理设备无关2.提高设备利用率合理分配设备提高设备与CPU、各外部设备之间的并行性3.设备处理的一致性设备品种繁多、用法各异,逐一管理十分复杂;输入输出系统应将设备的特性与处理它们的程序分开。4三.设备管理功能1.状态跟踪动态地记录各种设备的状态2.确定设备分配策略决定设备分配策略,以确定谁、何时存取设备、使用多长时间。3.设备分配与回收作业级——静态分配,进程级——动态分配4.设备控制实施设备驱动和中断处理的工作。5四.设备独立性1.设备独立性概念(1)什么是设备独立性所谓设备独立性是指,用户在编制程序时所使用的设备与实际使用的设备无关,也。
2、就是在用户程序中仅使用逻辑设备名。(2)逻辑设备名逻辑设备名,是用户自己指定的设备名(或设备号),它是暂时的、可更改的。(3)物理设备名物理设备名是系统提供的设备的标准名称,它是永久的、不可更改的。62.设备独立性的实现(1)在高级语言中用软通道实现使用高级语言提供的指派语句,通过指派一个逻辑设备名(通道号)来定义一个设备或文件。如:fd=open(“/dev/lp”,mode)(2)在批处理系统中,用联接说明语句来定义如:OUTPUT1=LPT(3)在交互系统中,用指派命令来定义如:PDP系列机上的RT11系统ASSIGN设备物理名设备逻辑名73.实现设备独立性的优点方便用户改善设备利用率提高系统的可扩展性和可适应性五.设备控制块1.什么是设备控制块(DCB)系统为每一台设备都配置了一个用来记录设备的硬件特性、连接和使用情况的一组数据,称为设备控制块。82.设备控制块的内容表8.1设备控制块dcb设备名设备属性指向命令转换表的指针在I/O总线上的设备地址设备状态当前用户进程指针I/O请求队列指针1.设备名是设备的系统名,即设备的物理名。2.设备属性是描述设备现行状态的一组属性3。
3、.命令转换表转换表包含设备特定的I/O例程地址,不具备相应功能的设备在其例程地址上可以填“-1”。9(二)缓冲技术一.缓冲概念1.什么是缓冲缓冲是两种不同速度的设备之间传输信息时平滑传输过程的常用手段。2.缓冲器容量较小,是用来暂时存放数据的一种存储装置。3.缓冲区用来保存在两设备之间或在设备和应用程序之间所传数据的内存区域.10二.常用的缓冲技术双缓冲、环形缓冲、缓冲池1.双缓冲在双缓冲方案下,为输入或输出分配两个缓冲区buf1、buf2。(1)输入数据时,如何利用双缓冲(2)输出数据时,如何利用双缓冲(3)缓冲区既用于输入,也用于输出数据时,如何利用双缓冲112.说明使用双缓冲可以提高I/O的效率的例sio,读一张卡片到buf1等待卡片输入机结束等待打印机就绪sio,打印buf1的内容sio,读一张卡片到buf2等待卡片输入机结束等待打印机就绪sio,打印buf2的内容读卡机、打印机可并行操作读卡机、打印机可并行操作12(三)设备分配设备分配的主要技术——独享、共享、虚拟技术一.独享分配1.什么是独享设备让一个作业在整个运行期间独占使用的设备。2.什么是独享分配在一个作业执行前,将。
4、它所要使用的设备分配给它;当它结束撤离时,将分配给它的这类设备收回。13二.共享分配1.什么是共享设备由多个作业、进程共同使用的设备称为共享设备。2.什么是共享分配共享分配就是动态分配。当进程提出资源申请时,由设备管理模块进行分配,进程使用完毕后,立即归还。14三.虚拟分配1.什么是虚拟技术所谓虚拟技术,是在一类物理设备上模拟另一类物理设备的技术,是将独占设备转化为共享设备的技术。2.什么是虚拟设备通常把用来代替独占型设备的那部分外存空间(包括有关的控制表格)称为虚拟设备。3.什么是虚拟分配当进程需要与独占型设备交换信息时,系统将分配磁盘空间,并建立相应的数据结构,这种分配方法称为设备的虚拟分配。15虚拟设备虚宽行1虚宽行2进程A进程B进程C进程D输入井输出井光字符阅读机打印机虚光字符阅读机1虚光字符阅读机216四.SPOOLING系统SPOOLING系统提供假脱机技术,或称外围设备同时联机操作。1.设计思想(1)预输入在作业需要数据前,操作系统已将所需数据预先输入到辅存输入井存放。当作业(或进程)需要数据时,可以从辅存中读入内存。(2)缓输出在作业执行时,将输出数据写入辅存输出井中。。
5、当作业(或进程)执行完毕(或需要数据时),由操作系统将数据输出。172.实现SPOOLING系统的基础(1)大容量的辅存空间在辅存上需开辟两个较大的输入井和输出井,用以存放多作业的输入信息和输出信息。(2)硬件基础通道装置、中断系统(3)数据结构预输入表、缓输出表:描述辅存输入井和输出井的状态变化的表格。18(4)所需软件程序预输入程序:控制信息从独占设备输入到辅存缓输出程序:控制信息从辅存输出到独占设备井管理程序:控制用户程序和辅存之间的信息输交换输入机1输入机2作业1作业2打印机磁盘输入井磁盘输出井内存193.什么是SPOOLING系统利用通道、中断技术,在主机控制之下,由通道完成输入输出工作。系统提供一个软件系统(包括预输入程序、缓输出程序、井管理程序、预输入表、缓输出表)。它提供输入收存和输出发送的功能,使外部设备可以并行称赞。这一软件系统称为SPOOLING系统。4.SPOOLING系统的优点(1)提供虚拟设备(2)加快作业处理速度(3)外围设备同时联机操作20(四)设备控制一.输入/输出控制方式CPU一般通过I/O控制器与物理设备打交道。按照I/O控制器智能化程度的高低,将。
6、I/O设备的控制方式分为四类——循环测试I/O方式I/O中断方式DMA方式通道方式21二.输入/输出控制1.用户进程请求I/O的系统功能调用系统功能调用的形式为:doio(ldev,mode,amount,addr);ldev:逻辑设备名mode:操作模式amount:传输数据的数目addr:传送地址222.I/O控制的主要功能(1)解释用户的I/O系统调用(2)设备驱动(3)中断处理3.设备处理程序设备处理程序是能直接控制设备运转的程序,它根据各类设备的特点和性能来编写。每一类设备有一个相应的设备处理程序,能控制同类中多台物理设备同时工作。234.控制I/O核心模块的方式(1)以设备处理进程的方式为每一类设备设置一个设备处理进程(对应的程序就是设备处理程序)该进程当有I/O请求来到时,被唤醒,进行设备驱动工作当没有I/O请求时,就睡眠I/O控制模块的接口程序,负责解释用户的I/O系统调用;转换成I/O控制模块认识的命令形式;将I/O请求发给对应的设备处理进程。(2)将设备与文件一样对待将设备与文件一样对待,使用文件系统的系统调用命令进行设备的读、写。UNIX系统就是采用这种方法。
7、。24三.I/O接口程序(I/O过程)1.将逻辑设备转换为物理设备•根据I/O系统调用中给出的逻辑设备名(ldev)•根据逻辑设备描述器,将逻辑设备名转换为物理设备名2.合法性检查对所需进行的操作进行合法性检查。•根据I/O系统调用中给出的操作模式mode•根据DCB中命令转换表中允许的操作253.形成I/O请求块,发消息给对应的设备处理进程•将请求的参数输入到I/O请求块(IORB)•将I/O请求块(IORB)挂到对应的设备请求队列上4.I/O请求接口程序的描述算法doio输入:设备的逻辑名ldev操作类型mode传送数据数目amount传数数据地址addr输出:如果传送出错,则带错误码返回,否则正确返回26{while(该进程的逻辑设备描述器队列不空){if(与ldev相联结的物理设备找到)break;/**/}if(该进程的逻辑设备描述器队列为空)return(错误码);/**/检查参数与该设备特性是否一致;if(不一致)return(错误码);/*传送参数错*/构造iorb;把iorb插入到该设备的请求队列中;唤醒因等待I/O请求块而睡眠的进程;}27四.I/O设备处理进程ro。
8、cessio{l:while(设备请求队列不空){取一个iorb;提取请求的详细信息;启动I/O操作;sleep(事件:I/O完成)/*I/O*//*等I/O完成后,进入中断处理程序,并在那里唤醒设备处*/if(出错)将错误信息写在该设备的dcb中;传送数据到目的地;唤醒请求此I/O操作的进程;删除iorb;}sleep(事件:因无I/O请求);gotol;}28五.请求I/O的进程、I/O过程、设备处理进程、中断处理程序之间的同步关系中断处理程序┇doio(ldev,mode,amount,addr);/*等I/O完成*/┇标识设备;执行出错检查;构成iocb;将iocb送入设备请求队列;唤醒因等待I/O请求块而睡眠的I/O进程;取iocb;如无iocb则等待;启动I/O操作;/*等I/O完成*/执行出错检查;┇唤醒等待I/O的进程;I/O设备┇中断服务;唤醒I/O处理进程;┇用户进程I/O进程I/O处理进程启动设备中断信号控制关系同步关系29第八章小结一.设备管理的基本概念1.I/O管理的功能2.设备独立性定义优点3.设备控制块定义二.缓冲技术1.什么是缓冲2.常用的缓冲技术3.双。
9、缓冲技术3.UNIX系统的缓冲管理30三.设备分配1.常用的设备分配技术2.独享设备独享分配定义3.共享设备共享分配定义4.虚拟设备虚拟技术定义四.I/O控制1.I/O控制的主要功能2.请求I/O的进程、I/O过程、设备处理进程、中断处理程序之间的同步关系。
本文标题:操作系统原理_庞丽萍_第八章输入输出管理
链接地址:https://www.777doc.com/doc-3350204 .html