I/O设备即输入/输出设备,是指能够与计算机进行数据的输入和输出交流的硬件设备,常见的如鼠标、键盘、扫描仪、数码相机属于输入设备,显示器、打印机、刻录机属于输出设备。I/O设备是与电脑密切相关的外设设备的总称。
1.按传输速率分类
低速设备:指传输速率为每秒钟几个字节到数百个字节的设备。典型的设备有键盘、鼠标、语音的输入等;
中速设备:指传输速率在每秒钟数千个字节至数十千个字节的设备。典型的设备有行式打印机、激光打印机等;
高速设备:指传输速率在数百千个字节至数兆字节的设备。典型的设备有磁带机、磁盘机、光盘机等。
2.按信息交换的单位分类
块设备(Block Device):指以数据块为单位来组织和传送 块设备 数据信息的设备。这类设备用于存储信息,有磁盘和磁带等。 它属于有结构设备。典型的块设备是磁盘,每个盘块的大小 为512B~4KB,磁盘设备的基本特征是:①传输速率较高,通 常每秒钟为几兆位;②它是可寻址的,即可随机地读/写任意 一块;③磁盘设备的I/O采用DMA方式。
字符设备(Character Device):指以单个字符为单位来传 字符设备 送数据信息的设备。这类设备一般用于数据的输入和输出, 有交互式终端、打印机等。它属于无结构设备。字符设备的 基本特征是:①传输速率较低;②不可寻址,即不能指定输 入时的源地址或输出时的目标地址;③字符设备的I/O常采 用中断驱动方式。
3.按资源分配的角度分类
独占设备:指在一段时间内只允许一个用户(进程)访问的 独占设备 设备,大多数低速的I/O设备,如用户终端、打印机等属于这 类设备。因为独占设备属于临界资源,所以多个并发进程必 须互斥地进行访问。
共享设备:指在一段时间内允许多个进程同时访问的设备。 共享设备 显然,共享设备必须是可寻址的和可随机访问的设备。典型 的共享设备是磁盘。共享设备不仅可以获得良好的设备利用 率,而且是实现文件系统和数据库系统的物质基础。
虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机技 术(SPOOLing技术)实现虚拟设备。
操作系统需要管理的最复杂的资源——I/O设备
– I/O设备种类繁多,工作模式各不相同
– I/O设备数据多样,处理方式各不相同
– I/O设备性能参差,运行控制多种多样
最容易成为计算机系统的瓶颈——I/O设备
– 很多I/O设备使用机械操作,导致其速度较CPU相差 很大
– 进程运行中的输入输出操作可能造成系统运行的性 能瓶颈
– I/O管理:如何限度保证I/O设备与CPU的并行 工作
– 字符流或者块设备:字符流设备按一个字节一个字节的传输,而块设备以块为单位进行传输
– 顺序或随机设备:顺序设备按其固有的固定顺序来传输数据,而随机访问设备的用户可以让设备寻找到任一数据存储位置
– 同步或异步:同步设备按一定响应时间来进行数据传输,而异步设备呈现的是规则或不可预测的响应 时间
– 共享或专用设备:共享设备可以被多个进程或线程并发使用,而专用设备则不能
– 操作速度的不同:设备速度从每秒几个字节到每秒数G字节
- 读写,只读,只写:有的设备能读能写,而其它的 只支持单向数据操作