第六章 输入输出系统 ( IO系统 )

这章的重点内容是外设管理
这章比较简单,重点是思想与原理




6.1 I/O系统的功能、模型和接口

I/O系统管理的主要对象是I/O设备和相应的设备控制器。其最主要的任务是,完成用户提出的I/O请求,提高I/O速率,以及提高设备的利用率,并能为更高层的进程方便地使用这些设备提供手段。

在这里插入图片描述
设备驱动程序帮助计算机管理外设
设备驱动程序大部分已经集成到操作系统中

# 6.1.1 I/O系统的基本功能

# 1. 隐藏物理设备的细节
I/O设备的类型非常多,且彼此间在多方面都有差异,
诸如它们接收和产生数据的速度,传输方向、粒度、数据的表示	形式及可靠性等方面。
# 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软件的层次结构 ( 通常四个层次 )

在这里插入图片描述

# 2. I/O系统中各种模块之间的层次视图

在这里插入图片描述

为了能更清晰地描述I/O系统中主要模块之间的关系,我们进一步介绍I/O系统中各种I/O模块之间的层次视图。

(1)  I/O系统的上、下接口
(2)  I/O系统接口。
(3)  软件/硬件(RW/HW)接口。个层次

# 6.1.3 I/O系统的接口

在I/O系统与高层之间的接口中,根据设备类型的不同,又进一步分为若干个接口:块设备接口、流设备接口和网络接口。

# 1. 块设备接口
(1) 块设备。
(2) 隐藏了磁盘的二维结构。
(3) 将抽象命令映射为低层操作
# 2. 流设备接口

流设备接口是流设备管理程序与高层之间的接口。该接口又称为字符设备接口,它反映了大部分字符设备的本质特征,用于控制字符设备的输入或输出。

(1) 字符设备。
(2) get和put操作。
(3) in-control指令。
# 3. 网络通信接口

在现代OS中,都提供了面向网络的功能。但首先还需要通过某种方式把计算机连接到网络上。同时操作系统也必须提供相应的网络软件和网络通信接口,使计算机能通过网络与网络上的其它计算机进行通信或上网浏览。


6.2 I/O设备和设备控制器

6.3 中断机构和中断处理程序

6.4 设备驱动程序

6.5 与设备无关的I/O软件

6.6 用户层的I/O软件

6.7 缓冲区管理

6.8 磁盘存储器的性能和调度

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章