第8章 输入输出管理

第8章 输入输出管理

ID:41357201

大小:7.07 MB

页数:54页

时间:2019-08-22

第8章 输入输出管理_第1页
第8章 输入输出管理_第2页
第8章 输入输出管理_第3页
第8章 输入输出管理_第4页
第8章 输入输出管理_第5页
资源描述:

《第8章 输入输出管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第八章I/O管理1第八章输入输出管理8.1I/O管理的概念8.1.1引言计算机外部设备在计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。28.1.1引言存储设备:用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等;I/O设备:用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。在现代计算机系统中有些设备既可以做存储设备,也可以做I/O设备,例如,软盘、硬盘等。I/O管理就是设备管理,它是操作系统的一个重要的组成部分,负责管理

2、系统中所有的外部设备。38.1.1引言计算机外部设备种类繁多,特性各异。主要表现在以下几个方面:1.速度不同的外部设备的传输速度的差别相当大,如键盘的传输速度不过几十,上百个字符,而磁盘的传输速度则是60万字节/每秒。2.传输单位有的设备的传输单位是字节,如键盘、打印机、显示器;有的传输单位是字符块,如软盘、硬盘、磁带等;有的传输单位是位,如个人计算机中的SerialPort(s)COM1、COM248.1.1引言3.容许的操作(操作特性)设备完成的操作种类各不相同,如打印机只允许写操作,键盘只

3、能做读操作,而磁盘既可读,也可写。4.出错条件不同的设备,其出错条件也不相同,即数据传输失败的原因各种各样,如打印机有缺纸错,磁盘I/O有奇偶校验错等。58.1.1引言设计目标:1.字符代码的独立性;现在使用的ASCII码(美国信息交换标准码)2.设备独立性;3.效率;4.设备处理的一致性;68.1.2I/O管理功能1.状态跟踪设备控制块是存放设备管理和控制信息的数据结构。系统要掌握设备的状态。2.设备存取实现对设备的存取操作。3.设备分配在多用户的环境下,负责设备的分配和回收。4.设备控制设备

4、控制包括设备的驱动、完成和故障中断处理。78.1.3设备独立性一、设备独立性的概念设备独立性是指用户在编程序时所使用的设备与实际设备无关。两类设备独立性:1.一个程序应独立于分配给它的某种类型的具体设备。即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。2.程序要尽可能地与它使用的设备类型无关。即在用户程序中只要指出要输入或输出信息,至于信息I/O使用的设备不需用户指明。88.1.3设备独立性二、设备独立性的实现在UNIX系

5、统中,把设备与文件统一处理,这比前两种设备独立性又前进了一步,对于用户来说,就没有设备的概念。98.1.3设备独立性三、设备独立性的优点1.方便用户编程;2.使用程序运行不受具体的机器环境的限制,如UNIX系统环境下,系统提供标准输入和输出,在用户程序中的输入输出都使用这两个标准的I/O,实际运行时,根据具体情况而定。如果配备打印机,则将输出信息送到打印机打印,如果没有配备打印机,就把输出重定向到某个指定文件,把要打印的信息送到该文件中。3.便于程序移植;108.1.4设备控制块一、设备控制块设

6、备控制块是设备管理的数据结构,用来存放设备的管理和控制信息,每类设备有一个设备控制块。118.1.4设备控制块二、设备转换表(设备开关表)设备开关表存放设备驱动和控制程序入口地址。128.2缓冲技术8.2.1概述CPU与各种外部设备的速度上的差异很大,设备与设备之间的速度的差异也很大。系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O。造成I/O负荷的不均匀要解决这两个方面的问题就要引入缓冲的概念。缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。缓冲技术是用来匹配

7、CPU与设备之间速度差异和负荷的不均匀。常用的缓冲技术有三种:双缓冲、环形缓冲、缓冲池138.2.2双缓冲系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓冲区。这种缓冲技术是最简单的,用于低频度I/O活动的系统。工作过程:首先输入将数据送入BUF1,然后,申请BUF2,在向BUF2输入数据的同时,输出进程可从BUF1中取数据。同理,向BUF1输入与从BUF2中取数据可以并行。教材p203图8.2是双缓冲技术应用的策略图。148.2.3环形缓冲在系统中设置若干缓冲区,并把这些缓冲区链接起

8、来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。158.2.3环形缓冲环形缓冲技术使用设置一个输入指针in、一个输出指针out、开始指针strat。系统初始时,strat=in=out。输入时,要判断in是否与out相等,若相等,则要等待。否则,将信息送入in指向的缓冲区,填满后,将缓冲区中的指向下一个缓冲区的指针next置in,如此类推。输出时,首先判断out=in,若相等,则等待(意味着系统中没有数据可取)。否则,取出缓冲区中的信息,将缓冲区中的next置out;168.2.4缓冲池系统

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。