《现代操作系统》第5章 输入输出

来源:互联网 发布:hexo 知乎 编辑:程序博客网 时间:2024/06/05 02:51
1.  I/O设备的分类

块设备和字符设备

块设备把信息存储在固定大小的块中,每个块有自己的地址。

字符设备以字符为单位发送或接受一个字符流。字符设备所以不可寻址的,也没有任何寻址操作。打印机、网络接口、鼠标等式字符设备。

时钟例外:不是块可寻址、也不产生或接收字符流。它按预先规定好的时间间隔产生中断。

2.  设备控制器

I/O设备由机械部件和电子部件两部分组成。

电子部件称设备控制器或适配器。

任务:把串行的位流转换成字节块,并进行必要的错误校正工作,再复制到主存中。

3.  内存映射I/O

CPU与设备的控制寄存器和数据缓冲区(如视频RAM)的通讯的方式:

(a)  单独的I/O和内存空间(每个控制寄存器被分配一个I/O port 号,所有的I/O端口形成I/O端口空间,普通用户程序不能对其进行访问)(如大型主机)

(b)  内存映射I/O(所有控制寄存器映射到内存地址中,每个控制器被分配唯一的一个内存地址)(如PDP-11)

(c)   混合方案(Memory-mapped I/O &Separate I/O port)(具有内存映射I/O的数据缓冲区,而控制寄存器则具有单独的I/O端口)(如Pentium处理器)

4.  中断

精确中断和不精确中断

5.  I/O软件的目标

1)    设备独立性

2)    统一命名

3)    错误处理

4)    同步(即阻塞)和异步(即中断驱动)传输

5)    缓冲

6)    共享设备和独占设备

6.  I/O的三种不同的实现方式

1) 程序控制I/O

轮询/忙等待:CPU不断查询设备以了解它是否就绪准备接收另一字符,直到全部I/O完成前要占用CPU的全部时间。

2) 中断驱动I/O

启动一个I/O操作的驱动程序阻塞起来,直到I/O操作完成且产生一个中断。

3) 使用DMA的I/O

DMA做全部工作,将中断的次数从打印每个字符一次减少到打印每个缓冲区一次。

7.  I/O软件层次

用户级I/O软件-与设备无关的操作系统软件-设备驱动程序-中断处理程序-硬件

中断处理程序:将启动一个I/O操作的驱动程序阻塞起来,直到I/O操作完成且产生一个中断。

设备驱动程序:控制设备的特定代码,一般由设备制造商编写提供。每个设备驱动程序通常处理一种类型的设备。一般功能包括:接受请求、对设备进行初始化、管理电源需求和日志事件。

8.  磁盘调度算法

磁盘调度的影响因素:寻道时间(主导)/旋转延迟/实际数据传输时间

算法:

1)    FCFS先来先服务

2)    SSF最短寻道优先

3)    电梯算法

0 0
原创粉丝点击