00209: /米米 00210: 米 release_resource release a previously reserved resource 00211: @old:resource pointer 00212: 米 00213: int release resource(struct resource *old) 00214: 00215: int retval; 00216: 00217: write_lock(&resource_lock); 00218: retval =release_resource(old); 00219: write_unlock(&resource_lock); 00220: return retval; 00221: 00171: static int release resource(struct resource *old) 00172: { 00173: struct resource *tmp,**p; 00174: 00175: p &old->parent->child; 00176: for (;;) 00177: tmp *p; 00178: if (tmp) 00179: break; 00180: if (tmp =old){ 00181: *p tmp->sibling; 00182: old->parent NULL; 00183: return 0; 00184: 00185: p =&tmp->sibling; 00186: 嵌入式系统实验室 00187: return -EINVAL; EMBEDDED SYSTEM LABORATORY 00188: SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 17/105
I/O接▣ /O接口是处于一组I/O端口和对应的设备控制器 之间的一种硬件电路 >I/O端口→设备: 将I/○端口中的值转换成设备所需要的命令和数据 >1 设备→I/O端口: 检测设备状态的变化,更新端口中相应的状态寄存器 >连接到PIC上,代表设备发出中断请求 专用I/O接口和通用I/O接口 Science and Techi 嵌入式系统实验室 2023/7/14 Linux OS Analysis 18/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 18/105 I/O接口 ❖I/O接口是处于一组I/O端口和对应的设备控制器 之间的一种硬件电路 ➢I/O端口→设备: 将I/O端口中的值转换成设备所需要的命令和数据 ➢设备→I/O端口: 检测设备状态的变化,更新端口中相应的状态寄存器 ➢连接到PIC上,代表设备发出中断请求 ❖专用I/O接口和通用I/O接口
专用I/O接口 专用于一个特定的硬件设备 在一些情况下,设备控制器与这种虹/O接口处于 同一块卡中 可以是内部设备(PC机箱内部),也可以是外 部设备 >键盘接口,连接到键盘控制器上 > 图形接口,和图形卡中的控制器封装在一起 >磁盘接口,连接到磁盘控制器 总线鼠标接口,连接到鼠标控制器 > >网络接口,与网卡中的控制器封装在一起 嵌入式系统实验室 2023/7/14 Linux OS Analysis 19/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 19/105 专用I/O接口 ❖专用于一个特定的硬件设备 在一些情况下,设备控制器与这种I/O接口处于 同一块卡中 可以是内部设备(PC机箱内部),也可以是外 部设备 ➢键盘接口,连接到键盘控制器上 ➢图形接口,和图形卡中的控制器封装在一起 ➢磁盘接口,连接到磁盘控制器 ➢总线鼠标接口,连接到鼠标控制器 ➢网络接口,与网卡中的控制器封装在一起
通用I/O接口 现代PC都包含连接很多外部设备的几个通用I/O 接口 >并口:传输单位1个字节 >串口:逐位传送,内部包含一个UART(通用异步收 发器,字节←→位序列) >PCMCIA接口 >SCSI接口:把PC主总线连接到次总线(SCSI总线) 的电路 >USB口 ●通用总线接口 可以代替上述并口、串口、SCS接口 嵌入式系统实验室 2023/7/14 Linux OS Analysis 20/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 20/105 通用I/O接口 ❖现代PC都包含连接很多外部设备的几个通用I/O 接口 ➢并口:传输单位1个字节 ➢串口:逐位传送,内部包含一个UART(通用异步收 发器,字节→位序列) ➢PCMCIA接口 ➢SCSI接口:把PC主总线连接到次总线(SCSI总线) 的电路 ➢USB口 ⚫通用总线接口 ⚫可以代替上述并口、串口、SCSI接口
设备控制器 复杂的设备需要一个设备控制器 device controller)来驱动 2个重要作用 1. 对/O接口接收到的高级命令进行解释,并通过向设 备发送适当的电信号来控制设备执行特定的操作 2. 对从设备接收到的电信号进行解释和转换,并修改 状态寄存器 典型的设备控制器,例如磁盘控制器 有些简单的设备没有设备控制器 > PIC > PIT cience and Techll 嵌入式系统实验室 2023/7/14 Linux OS Analysis 21/105 EMBEDDED SYSTEM LABORATORY SUZHOU INSTITUTE FON ADVANCED STUDY OF USTC
2023/7/14 Linux OS Analysis 21/105 设备控制器 ❖ 复杂的设备需要一个设备控制器(device controller)来驱动 ❖ 2个重要作用 1. 对I/O接口接收到的高级命令进行解释,并通过向设 备发送适当的电信号来控制设备执行特定的操作 2. 对从设备接收到的电信号进行解释和转换,并修改 状态寄存器 ❖ 典型的设备控制器,例如磁盘控制器 ❖ 有些简单的设备没有设备控制器 ➢ PIC ➢ PIT