版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、18.18.28.38.428.1 输入输入/输出管理概念输出管理概念o一、引言一、引言o设备分类设备分类o1. 存储设备存储设备:是存储信息的设备,如:磁盘、磁鼓。(以块为单位传输信息)。o2. 输入输出设备输入输出设备:能将信息从计算机外部输入到机内,或反之,如:键盘、显示器、打印机。 o3.传输设备传输设备 n负责计算机之间的信息传输,如调制调节器、网卡。o设备按传输信息的特点来分:字符设备、块设备38.1 输入输入/输出管理概念输出管理概念o设备设备管理的设计目标管理的设计目标n1. 提高设备利用率(关键是实现设备的并行操作)提高设备利用率(关键是实现设备的并行操作)o合理分配设备o提
2、高设备与CPU、各外部设备之间的并行性(通道和中断)n2. 方便用户使用方便用户使用o独立于设备:用户使用的设备与物理设备无关o建立虚拟环境n3. 设备处理的一致性设备处理的一致性o设备品种繁多、用法各异,逐一管理十分复杂;o输入输出系统应将设备的特性与处理它们的程序分开。48.1 输入输入/输出管理概念输出管理概念o二、输入二、输入/输出输出管理功能管理功能n1. 状态跟踪状态跟踪o动态地记录各种设备的状态(保留在设备控制块中)n2. 确定设备分配策略确定设备分配策略o决定设备分配策略,确定谁、何时存取设备、使用多长时间。n3. 设备分配与回收设备分配与回收o作业级静态分配:作业进入系统时就
3、进行分配,退出系统时就收回全部资源。o进程级动态分配:进程需要使用某设备而提出申请时进行分配,使用完毕后立即将其收回。n4. 设备控制设备控制o负责将用户I/O请求转换为设备能识别的I/O指令,实施设备驱动和中断处理的工作。5o三三. 设备独立性设备独立性n1. 设备独立性概念设备独立性概念o(1) 什么是设备独立性什么是设备独立性: 所谓设备独立性是指,用户在编制程序时所使用的设备与实际使用的设备无关,也就是在用户程序中仅使用逻辑设备名。o(2) 逻辑设备名逻辑设备名: 逻辑设备名,是用户自己指定的设备名(或设备号),它是暂时的、可更改的。o(3) 物理设备名物理设备名: 物理设备名是系统提
4、供的设备的标准名称,它是永久的、不可更改的。 8.1 输入输入/输出管理概念输出管理概念6o2. 设备独立性的实现设备独立性的实现n(1) 在高级语言中用软通道实现在高级语言中用软通道实现o使用高级语言提供的指派语句,通过指派一个逻辑设备名(通道号)来定义一个设备或文件。 如:fd = open(“/dev/lp” ,mode); number1=write(fd,buf,count1);n(2) 在批处理系统中,用连接说明语句来定义在批处理系统中,用连接说明语句来定义 如:OUTPUT1 = LPTn(3) 在交互系统中,用指派命令来定义在交互系统中,用指派命令来定义 如:PDP系列机上的R
5、T11系统 ASSIGN 设备物理名 设备逻辑名8.1 输入输入/输出管理概念输出管理概念7n逻辑设备描述器ldd(logic-device-descriptor)o是一种数据结构,进程控制块中有一个指针指向它。o3. 实现设备独立性的优点实现设备独立性的优点n方便用户n改善设备利用率n提高系统的可扩展性和可适应性 8.1 输入输入/输出管理概念输出管理概念ldd_ptrpcbI1sr1dcb_ptrO1lp3dcb_ptrldd1ldd2Ldd包括:设备逻辑名设备物理名设备控制块dcb指针逻辑设备描述器队列勾链字88.1 输入输入/输出管理概念输出管理概念o四四. 设备控制块设备控制块 n1
6、. 什么是设备控制块什么是设备控制块(DCB )o系统为每一台设备都配置了一个用来记录设备的硬件特性、连接和使用情况的一组数据,称为设备控制块。n2.设备转换表设备转换表o进程的每个I/O请求都要转换成调用一个能执行I/O操作的设备例程。通过操作码检索“设备转换表”以找到相应的设备例程地址。9o2. 设备控制块的内容设备控制块的内容n表8.1 设备控制块 dcb n1. 设备名:是设备的系统名,即设备的物理名。n2. 设备属性:描述设备现行状态的一组属性n3. 命令转换表:转换表包含设备特定的I/O例程地址,不具备相应功能的设备在其例程地址上可以填“1”。设备名设备属性指向命令转换表的指针在I
7、/O总线上的设备地址设备状态当前用户进程指针I/O请求队列指针 8.1 输入输入/输出管理概念输出管理概念10o一一. 缓冲概念缓冲概念n1. 什么是缓冲什么是缓冲o缓冲是两种不同速度的设备之间传输信息时平滑传输过程的常用手段。n2. 缓冲器缓冲器o是以硬件的方式来实现缓冲,容量较小,是用来暂时存放数据的一种存储装置。n3. 软件缓冲区软件缓冲区o用来保存在两设备之间或在设备和应用程序之间所传数据的内存区域。8.2 缓冲技术缓冲技术11o4. 为什么引入缓冲为什么引入缓冲n(1) 处理数据流的生产者与消费者间的速度差异处理数据流的生产者与消费者间的速度差异 o如:从调制解调器收到一个文件,并保
8、存到硬盘上。n(2) 协调传输数据大小不一致的设备协调传输数据大小不一致的设备o在计算机网络中用来处理消息的分段和重组。n(3) 应用程序的拷贝语义应用程序的拷贝语义o如:操作系统为保证系统调用write的正确语义,即应用程序要写入磁盘的数据就是write系统调用发生时的版本。o方法:在系统调用返回前将应用程序缓冲区复制到内核缓冲区。8.2 缓冲技术缓冲技术12o二二. 常用的缓冲技术常用的缓冲技术n双缓冲、环形缓冲、缓冲池 n. 双缓冲双缓冲o在双缓冲方案下,为输入或输出分配两个缓冲区buf1 、 buf2 。o(1) 输入数据时,如何利用双缓冲输入数据时,如何利用双缓冲o(2) 输出数据时
9、,如何利用双缓冲输出数据时,如何利用双缓冲o(3) 缓冲区既用于输入,也用于输出数据时,如何利缓冲区既用于输入,也用于输出数据时,如何利用双缓冲用双缓冲8.2 缓冲技术缓冲技术13o(1) 输入、输出数据时,如何利用双缓冲输入、输出数据时,如何利用双缓冲输入设备输入设备BUF1进程进程BUF2输出设备输出设备BUF1进程进程BUF28.2 缓冲技术缓冲技术14o说明使用双缓冲可以提高I/O的效率的例sio,读一张卡片到 buf1等待卡片输入机结束等待打印机就绪sio,打印 buf1的内容sio,读一张卡片到 buf2等待卡片输入机结束等待打印机就绪sio,打印 buf2的内容读卡机、打印机可并
10、行操作读卡机、打印机可并行操作8.2 缓冲技术缓冲技术15o一、设备分配原则一、设备分配原则n1. 静态分配和动态分配o独占设备静态分配;共享设备动态分配n2. I/O设备分配算法o先请求先服务o优先级最高者优先n3. 设备分配的安全性o防止发生死锁。 o对独占设备一般采用静态分配,不会产生死锁。若采用动态分配,如一个进程只提出一个I/O请求,则也不会产生死锁,但如一个进程可同时操作多个外设时,就有可能产生死锁。8.3 设备分配设备分配16o设备分配的主要技术设备分配的主要技术独享、共享、虚拟技术独享、共享、虚拟技术o二二. 独享分配独享分配n1. 什么是独享设备什么是独享设备o让一个作业在整
11、个运行期间独占使用的设备。 n2. 什么是独享分配什么是独享分配o在一个作业执行前,将它所要使用的设备分配给它;当它结束撤离时,将分配给它的这类设备收回。o三三. 共共享分配享分配n1. 什么是共享设备什么是共享设备o由多个作业、进程共同使用的设备称为共享设备(磁盘)。n2. 什么是共享分配什么是共享分配o共享分配就是动态分配。当进程提出资源申请时,由设备管理模块进行分配,进程使用完毕后,立即归还。8.3 设备分配设备分配17o三三. 虚拟虚拟分配分配n虚拟分配:分配虚拟设备,使用SPOOLing系统。n1. SPOOL(Simultaneous Peripheral Operation On
12、 Line)ing系统,即外部设备联机同时操作o实现思想:用常驻内存的进程去模拟一台外围机,从而用一台主机就可完成脱机技术中需要多台计算机完成的工作。o该系统在作业执行前将作业信息通过独占设备预先输入到辅存上一个特定的区域(称为“井”)存放好,称为预输入。o作业执行中,不必直接启动独占设备输出数据,而只要将作业输出数据写入磁鼓或磁盘中存放,在作业执行完毕后,由操作系统来组织信息输出,称为缓输出。oSpool系统利用通道和中断技术,在主机控制之下,由通道完成输入/输出工作。系统包括预输入程序、缓输入程序和预输入表、缓输出表等数据结构。8.3 设备分配设备分配188.3 设备分配设备分配o2.虚拟
13、设备和虚拟分配虚拟设备和虚拟分配n通过外部设备联机操作技术后,一台设备可以和辅存中若干个存储区域相对应,所以在形式上就好像把一台输入设备(或输出设备)变成了许多虚拟的输入设备(或输出设备)。即:把一台不能共享的输入输出设备转换成了一台可以共享的缓冲输入输出设备。n虚拟设备:通常把用来代替独占型设备的那部分外存空间(包括有关的控制表格)称为虚拟设备。n虚拟分配技术:当某进程需要与独占型设备交换信息时,Spool系统就将与该独占设备所对应的那部分磁盘、磁鼓的一部分存储空间分配给它。19o虚拟虚拟设备设备 虚宽行1虚宽行2进程A进程B进程C进程D输入井输出井光字符阅读机打印机虚光字符阅读机虚光字符阅
14、读机8.3 设备分配设备分配20o3. 虚拟打印功能虚拟打印功能o4. SPOOLING系统的优点系统的优点n(1) 提供虚拟设备n(2) 加快作业处理速度n(3) 外围设备同时联机操作输入机1输入机2作业1作业2打印机磁盘输入井磁盘输出井内存8.3 设备分配设备分配218.4 输入输入/输出控制输出控制o一、I/O硬件n端口(port):计算机端口是设备与计算机通信的一个连接点。n总线:如果一个或多个设备使用一组共同的线,这种连接称为总线(bus)。o总线是一组线和可以描述在线上传输信息的协议。n控制器:OS软件和硬件设备之间接口,它接收CPU的命令,并控制I/O设备进行实际的操作; o控制
15、器通常有四种寄存器:状态、控制、数据输入、数据输出寄存器; 22o二二. 输入输入/ /输出输出控制方式控制方式nCPU一般通过I/O控制器与物理设备打交道。按照I/O控制器智能化程度的高低,将I/O设备的控制方式分为四类:o循环测试I/O方式oI/O中断方式oDMA方式o通道方式8.4 输入输入/输出控制输出控制23o1. 循环测试循环测试I/O方式方式 n该方式中I/O控制器是操作系统和软件和硬件设备之间的接口,它接收CPU的命令,并控制I/O设备进行实际操作。n循环测试I/O工作过程。假如一个程序要从某一输入设备输入一个数据,那么将按如下步骤进行:o把一个启动位为“1”的控制字写入该设备
16、的控制状态寄存器,从而启动该设备进行输入操作。o反复读控制寄存器的内容,并测试其中的完成位,若为0,转,否则转。 o把数据缓冲区中的数据读入CPU或主存单元。n优点:控制简单,无须太多硬件支持;n缺点:CPU利用率低;8.4 输入输入/输出控制输出控制248.4 输入输入/输出控制输出控制o2. I/O中断方式中断方式 nI/O中断方式实现了CPU与I/O设备并行工作,提高了CPU利用率。它要求在控制状态寄存器中有一位“中断允许位”:n在I/O中断方式下,数据的输入按如下步骤进行:o要求输入数据的进程把一个启动和中断允许位为“1”的控制字写入设备控制状态寄存器中,从而启动该设备进行物理操作。o
17、上述进程因等待输入操作的完成而进入等待状态。于是进程调度程序调另一进程运行。o当输入完成时,输入设备通过中断申请线向CPU发中断请求信号,通过中断进入,CPU转向该设备的中断处理程序。 258.4 输入输入/输出控制输出控制o中断处理程序首先保护被中断程序的现场,然后把输入缓冲寄存器中的输入数据转送到某一特定单元中去,以便要输入的进程使用。同时,还把等待输入完成的那个进程唤醒,最后中断处理程序恢复被中断程序的现场,并返回到被中断的进程继续执行。 o在以后某个时刻,进程调度程序将调度到要求输入的进程,该进程从约定的特定单元中取出做进一步处理。n优点:CPU的利用率大大提高;n缺点:每台设备每次输
18、入输出都会产生中断,中断次数太多,影响CPU的有效计算时间;268.4 输入输入/输出控制输出控制o3. 通道方式通道方式 n通道:一个独立于CPU的专管输入/输出控制的处理机,它控制设备和内存直接进行数据交换,它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号;通道也被称为“I/O处理机”。n通道的三种类型:字节多路通道(多个通道程序轮流执行);选择通道(一个通道程序从头到尾执行);数组多路通道(分时方式执行几个通道程序);n优点:有关I/O工作,CPU委托通道去做,使CPU基本摆脱了I/O控制工作,大大提高了CPU和外设的并行工作程度。 278.4 输入输入/输
19、出控制输出控制.288.4 输入输入/输出控制输出控制o4. DMA方式 n在外设和主存之间开辟直接的数据交换通路;nDMA控制器取代I/O控制器,控制外设和主存之间成批的进行数据交换,而不用CPU干预;nDMA控制器中包含有:控制状态寄存器、数据缓冲寄存器、传送字节数寄存器、内存地址寄存器;nCPU只在两处参与数据传输工作:o数据块传送开始时发启动命令;o整个数据块传输结束时发中断信号请求CPU进行中断处理;nDMA控制器与CPU、主存及I/O设备这间的关系如图:298.4 输入输入/输出控制输出控制.30o三、三、I/O子系统子系统n为了对不同的设备按统一的标准方式来处理,为用户建立虚拟环
20、境,I/O子系统采用了抽象、包装与软件分层的方法。每个通用类型都可以通过一组标准函数(接口)来访问。8.4 输入输入/输出控制输出控制软件硬件318.4 输入输入/输出控制输出控制o1.各类设备的接口各类设备的接口n块设备接口o块设备接口规定了访问磁盘驱动器和其他基本块设备所需要的各方面。o一般而言设备应提供read和write命令,随机访问还提供seek命令,它们描述了块存储设备的基本特点,应用程序就不必关注这些设备的低层细节差别。n主存映射接口o主存映射接口不提供read和write操作,而是通过主存中的字节数组来访问磁盘存储信息。系统调用将文件映射在主存上,并返回一个字符数组的虚拟主存地
21、址,该字符数组包含了文件的拷贝。实际数据的传输在需要时才执行。328.4 输入输入/输出控制输出控制n字符流设备接口o这类设备的基本系统调用使应用程序可get或put字符。n网络套接字接口o基于套接字(套接字,简单的说就是通信的两方的一种约定 )接口的系统调用可以让应用程序创建一个套接字,连接本地套接字和远程地址(将本地应用程序与由远程应用程序创建的套接字相连),监听要与本地套接字相连的远程应用程序。连接后可以发送和接收数据。o套接字接口还提供了select函数,用来管理一组套接字。33o2. I/O子系统功能子系统功能nI/O子系统使进程能与外部设备及网络进行通信,主要功能:o(1) 解释用
22、户的I/O系统调用o(2) 设备驱动o(3) 中断处理n设备处理程序设备处理程序o设备处理程序是能直接控制设备运转的程序,它根据各类设备的特点和性能来编写。每一类设备有一个相应的设备处理程序,能控制同类中多台物理设备同时工作。8.4 输入输入/输出控制输出控制34o3. 调用调用I/O核心模块的方式核心模块的方式n控制设备I/O工作的核心模块通常称为设备驱动程序,该核心模块有以下两种实现方式:n(1) 以设备处理进程的方式o为每一类设备设置一个设备处理进程(对应的程序就是设备处理程序)o该进程当有I/O请求来到时,被唤醒,进行设备驱动工作o当没有I/O请求时,就睡眠oI/O控制模块的接口程序:
23、负责解释用户的I/O系统调用;转换成I/O控制模块认识的命令形式;将I/O请求发给对应的设备处理进程。n(2) 将设备与文件一样对待o将设备与文件一样对待,使用文件系统的系统调用命令进行设备的读、写。8.4 输入输入/输出控制输出控制35o四四. 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 输入输入/输出控制输出控制36oI/O请求接口程序的描述请求接口程序的描述 算法 doio 输入:设备的逻辑名 ldev 操作类型 mode 传送数据数目 amount 传送数据地址 addr 输出:如果传送出错,则带错误码返回,否则正确返回 while (该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件插连接教学课件
- 水果趣味课件教学课件
- 2024年培训学校安全培训与发展协议
- 2024年广告投放合同标的与服务内容的详细规定
- 2024年度软件开发与维护担保合同
- 2024互联网公司与网络安全公司之间的安全服务合同
- 2024年员工福利方案设计与实施合同
- 2024营销推广服务合同范本
- 2024厂房租赁协议私人厂房出租合同
- 2024年度大数据分析平台建设与技术支持合同
- 《埃隆·马斯克传》导读
- 环保设施安全风险评估报告
- MOOC创新创业与管理基础(东南大学)
- 【基于活动理论的信息技术课程教学研究8300字(论文)】
- 年产15万吨PET的生产工艺设计-毕业论文
- 车间生产计划完成情况统计表
- 品管圈(QCC)降低ICU护士床头交接班缺陷率课件
- 《左道:中国宗教文化中的神与魔》读书笔记模板
- 施工现场临时用电安全技术规范
- 同仁堂药品目录
- 社会问题概论
评论
0/150
提交评论