- 1、本文档共149页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
; 6.1 I/O系统的功能、模型和接口 I/O系统管理的主要对象是I/O设备和相应的设备控制器。其最主要的任务是,完成用户提出的I/O请求,提高I/O速率,以及提高设备的利用率,并能为更高层的进程方便地使用这些设备提供手段。;6.1.1 I/O系统的基本功能 1. 隐藏物理设备的细节 I/O设备的类型非常多,且彼此间在多方面都有差异,诸如它们接收和产生数据的速度,传输方向、粒度、数据的表示形式及可靠性等方面。I/O系统必须通过对设备加以适当的抽象,以隐藏物理设备的实现细节。 隐藏物理设备的细节,在早期的OS中就已实现,它可方便用户对设备的使用。; 2. 与设备的无关性 与设备的无关性是在较晚时才实现的,这是在隐藏物理设备细节的基础上实现的。 用户可以使用抽象的I/O命令和抽象的逻辑设备名,而不必指明具体物理设备。 操作系统可以在不重新编译的情况下,添加新的设备驱动程序。 ; 3. 提高处理机和I/O设备的利用率 在一般的系统中,许多I/O设备间是相互独立的,能够并行操作,在处理机与设备之间也能并行操作。因此,I/O系统的第三个功能是要尽可能地让处理机和I/O设备并行操作,以提高它们的利用率。 为此,一方面要求处理机能快速响应用户的I/O请求,使I/O设备尽快地运行起来;另一方面也应在每个I/O设备运行时减少处理机的干预时间。 ; 4. 对I/O设备进行控制 对I/O设备进行控制是驱动程序的功能。目前对I/O设备有四种控制方式: ① 采用轮询的可编程I/O方式; ② 采用中断的可编程I/O方式; ③ 直接存储器访问方式; ④ I/O通道方式。 ; 5. 确保对设备的正确共享 从设备的共享属性上,可将系统中的设备分为如下两类: (1) 独占设备,进程应互斥地访问这类设备,即系统一旦把这类设备分配给了某进程后,便由该进程独占,直至用完释放。典型的独占设备有打印机、磁带机等。系统在对独占设备进行分配时,还应考虑到分配的安全性。 (2) 共享设备,是指在一段时间内允许多个进程同???访问的设备。典型的共享设备是磁盘,当有多个进程需对磁盘执行读、写操作时,可以交叉进行,不会影响到读、写的正确性。; 6. 错误处理 大多数的设备都包括了较多的机械和电气部分,运行时容易出现错误和故障。从处理的角度,可将错误分为临时性错误和持久性错误。对于临时性错误,可通过重试操作来纠正,只有在发生了持久性错误时,才需要向上层报告。 ;6.1.2 I/O系统的层次结构和模型 1.? I/O软件的层次结构 通常把I/O 软件组织成四个层次,如图所示。;(1) 用户层软件:实现与用户交互的接口,用户可直接调用在用户层提供的、与I/O操作有关的库函数对设备进行操作。 (2) 设备独立性软件:负责实现与设备驱动程序的统一接口、设备命名、设备的保护以及设备的分配与释放等,同时为设备管理和数据传送提供必要的存储空间。(3) 设备驱动程序:与硬件直接相关,是负责实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。(4) 中断处理程序:用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完后再恢复被中断进程的现场后返回到被中断进程。 ; 2. I/O系统中各种模块之间的层次视图 为了能更清晰地描述I/O系统中主要模块之间的关系,我们进一步介绍I/O系统中各种I/O模块之间的层次视图。见图6-2所示。 1) ?I/O系统的上、下接口 (1) ?I/O系统接口。 (2) 软件/硬件接口。;; 2) ?I/O系统的分层 与前面所述的I/O软件组织的层次结构相对应,I/O系统本身也可分为如下三个层次: (1) 中断处理程序。 (2) 设备驱动程序。 (3) 设备独立性软件。 ;6.1.3 I/O系统接口 在I/O系统与高层之间的接口中,根据设备类型的不同,又进一步分为三种接口。 1. 块设备接口 (1) 块设备。数据的存取和传输都是以数据块为单位的设备,例如:磁盘。基本特征是传输速率较高;另一特征是可寻址;此外,磁盘设备的I/O常采用DMA方式。 (2) 隐藏了磁盘的二维结构。每个扇区的地址本来用磁道号和扇区号表示,变为所有扇区从0到n-1统一编号。 (3) 将抽象命令映射为低层操作。 ; 2. 流设备接口 流设备接口是流设备管理程序与高层之间的接口。该接口又称为字符设备接口,用于控制字符设备的输入或输出。 (1) 字符设备。数据的存取和传输都是以字符为单位的设备,例如:键盘、打印机。基本特征是传输速率较低;常采用中断驱动方式。 (2) get和put操作。字符
文档评论(0)