📜  I/O 软件的目标

📅  最后修改于: 2022-05-13 01:56:11.684000             🧑  作者: Mango

I/O 软件的目标

I/O 软件用于与鼠标、键盘、USB 设备、打印机等 I/O 设备交互。 I/O 软件按以下方式组织:

用户级库——提供一个简单的界面来为输入输出功能编程。
内核级模块- 提供设备驱动程序以与设备独立 I/O 模块和设备控制器交互。
硬件- 包括硬件控制器和与设备驱动程序交互的实际硬件的层。

I/O 软件的目标

这里讲一下I/O软件的目标

统一命名:例如,操作系统中文件系统的命名是以用户不必知道底层硬件名称的方式完成的。

同步与异步:当 CPU 正在处理某个进程时,它会在发生中断时进入阻塞状态。因此,大多数设备都是异步的。如果 I/O 操作处于阻塞状态,则编写 I/O 操作要容易得多。创建这种中断驱动的用户程序始终是操作系统的责任。



设备独立性: I/O 软件最重要的部分是设备独立性。编写可以打开所有其他 I/O 设备的程序总是最可取的。例如,不需要为了从各种文件和设备中获取输入而一遍又一遍地编写输入获取程序。因为这会产生很多工作要做,也有很多空间来存储不同的程序。

缓冲:我们进入系统的数据不能直接存储在内存中。例如,数据被转换成更小的组,然后传输到外部缓冲区进行检查。
缓冲区对 I/O 软件有重大影响,因为它最终有助于存储数据和复制数据。许多设备都有限制,为了避免它,总是预先将一些数据放入缓冲区中,因此填充数据和获取空的缓冲区速率保持平衡

错误处理:错误主要由控制器产生,也主要由控制器本身处理。当下层解决问题时,它不会到达上层。

可共享和不可共享设备:硬盘等设备可以在多个进程之间共享,而打印机等设备不能共享。 I/O 软件的目标是处理这两种类型的设备。