包括:
需要用于输入、输出和存储信息的设备;
需要相应的设备控制器;
控制器与CPU连接的高速总线;
有的大中型计算机系统,配置I/O通道;
管理对象:
• I/O设备和相应的设备控制器(I/O系统组成)
基本任务:
• 完成用户提出的I/O请求,
• 提高I/O速率、改善I/O设备的利用率。
• 为更高层进程方便使用设备提供手段
主要功能:
- 隐藏物理设备细节,方便用户
用户使用抽象的I/O命令即可 - 实现设备无关性,方便用户
用户可用抽象的逻辑设备名来使用设备,同时也提高了OS的可移植性和易适应性。 - 提高处理机和设备的并行性,提高利用率:缓冲区管理
- 对I/O设备进行控制:控制方式、设备分配、设备处理
- 确保对设备正确共享:虚拟设备及设备独立性等
错误处理
基本功能
- 接收和识别CPU命令(控制寄存器:存放命令和参数)
- 标识和报告设备的状态(状态寄存器)
- 数据交换(数据寄存器)
- 地址识别(控制器识别设备地址、寄存器地址。地址译码器)
- 数据缓冲(协调I/O与CPU的速度差距)
- 差错控制
主要有三大部分
- 输入井和输出井:磁盘上开辟两大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。
- 输入缓冲区和输出缓冲区:为缓解速度矛盾,内存中开辟两大缓冲空间,输入缓冲区暂存输入设备送来的数据,再送给输入井;输出缓冲区暂存输出井送来的数据,再送输出设备。
- 输入进程和输出进程。
• 用一进程模拟脱机输入时外围设备控制器的功能,把低速输入设备上的数据传送到高速磁盘上;
• 用另一进程模拟脱机输出时外围设备控制器的功能,把数据从磁盘上传送到低速输出设备上。