个人技术分享

目录

一、引言
二、I/O设备
------>2.1、块设备
------>2.2、字符设备
三、设备控制器
------>3.1、控制寄存器
------>3.2、内存映射 I/O
------>3.3、内存映射 I/O 的优点和缺点
------>3.4、直接内存访问
四、DMA工作原理
------>4.1、重温中断
------>4.2、精确中断和不精确中断

一、引言

我们之前的文章提到了操作系统的三个抽象,它们分别是进程、地址空间和文件,除此之外,操作系统还要控制所有的 I/O 设备。操作系统必须向设备发送命令,捕捉中断并处理错误。它还应该在设备和操作系统的其余部分之间提供一个简单易用的接口。操作系统如何管理 I/O 是我们接下来的重点。

不同的人对 I/O 硬件的理解也不同。对于电子工程师而言,I/O 硬件就是芯片、导线、电源和其他组成硬件的物理设备。而我们程序员眼中的 I/O 其实就是硬件提供给软件的接口,比如硬件接受到的命令、执行的操作以及反馈的错误。我们着重探讨的是如何对硬件进行编程,而不是其工作原理。

二、I/O设备

什么是 I/O 设备?I/O