I/O 管理概述
I/O 设备的基本概念与分类
“l/O”就是“输入/输出”(Input/Output)
I/O 设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备,属于计算机中的 硬件部件。
UNIX系统将外部设备抽象为一种特殊的文件,用户可以使用 与文件操作相同的方式对外部设备进行操作。
Write操作:向外部设备写出数据
Read操作::从外部设备读入数据
I/O 设备的分类一一按使用特性
- 人机交互类外部设备:数据传输速度慢
- 存储设备:数据传输速度快
- 网络通信设备:数据传输速度介于上述二者之间
I/O 设备的分类一一按传输速率分类
- 低速设备:鼠标、键盘等一一传输速率为每秒几个到几百字节
- 中速设备:如激光打印机等——传输速率为每秒数千至上万个字节
- 高速设备:如磁盘等一传输速率为每秒数千字节至千兆字节的设备
I/O 设备的分类一一按信息交换的单位分类
- 块设备,传输速率较高,可寻址,即对它可随机地读/写任一块I/O设备按信息交换的单位分类,块设备:如磁盘等一一数据传输的基本单位是“块”。
- 字符设备,传输速率较慢,不可寻址,在输入/输出时常采用中断驱动方式。字符设备:鼠标、键盘等,数据传输的基本单位是字符。
I/O 控制器
I/O设备的机械部件主要用来执行具体I/O操作。
如我们看得见摸得着的鼠标/键盘的按钮;显示器的LED屏;移动硬盘的磁臂、磁盘盘面。
I/O设备的电子部件通常是一块插入主板扩充槽的印刷电路板。
I/O 控制方式
IO软件层次结构
输入输出应用程序接口和驱动程序接口
阻塞/非阻塞I/O
阻塞I/O:应用程序发出I/0系统调用,进程需转为阻塞态等待。
eg:字符设备接口--从键盘读一个字符 get
非阻塞I/O:应用程序发出I/O系统调用,系统调用可迅速返回,进程无需阻塞等待。
eg:块设备接口-一往磁盘写数据write