>输入子系统层次结构

输入子系统事件处理层(EventHandler)

输入子系统核心层(InputCore)

输入子系统设备驱动层。

 

设备节点/dev/input目录下显示的是已经注册在内核中的设备编程接口,用户通过open这些设备文件来打开不同的输入设备进行硬件操作。

 

事件处理层为不同硬件类型提供了用户访问及处理接口。例如当我们打开设备/dev/input/mice时,会调用到事件处理层的Mouse Handler来处理输入事件,这也使得设备无需关心设备文件的操作,因为Mouse Handler已经有了对应事件处理的方法。

 

核心层,为设备驱动层提供了规范和接口。设备驱动层只要关心如何驱动硬件并获得硬件数据(例如按下的按键数据),然后调用核心层提供的接口,核心层会自动把数据提交给事件处理层。

 

设备驱动层主要实现对硬件设备的读写访问,中断设置,并把硬件产生的事件转换为核心层定义的规范提交给事件处理层。

 

输入子系统由内核代码drivers/input/input.c构成,它的存在屏蔽了用户到设备驱动的交互细节,为设备驱动层和事件处理层提供了相互通信的统一界面。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
I/O(输入/输出)子系统是计算机系统中负责处理输入和输出设备的模块化组件。它通常由多个层次结构组成,每个层次负责不同的功能。以下是常见的 I/O 子系统层次结构: 1. 用户接口层: - 用户接口层是最上层的层次,提供用户与 I/O 子系统之间的交互界面。它包括用户应用程序和操作系统系统调用接口,允许用户对设备进行访问和控制。 2. 文件系统缓存层: - 文件系统缓存层负责缓存文件系统中的数据,以提高数据读写的效率。它会在内存中维护一个缓存区,存储最近访问的文件数据,避免频繁地从磁盘读取数据。 3. 设备驱动程序层: - 设备驱动程序层是连接操作系统和硬件设备之间的桥梁。它包括具体的设备驱动程序,用于与硬件设备进行通信和控制。每个设备都有相应的设备驱动程序,负责管理设备的初始化、数据传输、中断处理等操作。 4. 中断处理层: - 中断处理层负责处理设备发出的中断信号。当设备完成一次操作或发生异常时,会触发中断信号,通知 CPU 切换到相应的中断处理程序。中断处理层负责识别和处理不同的中断类型,并调用相应的中断处理程序。 5. 设备控制层: - 设备控制层是 I/O 子系统的底层,直接与硬件设备进行交互。它包括设备控制器和设备本身。设备控制器负责管理设备的寄存器、命令解析、数据传输等操作,而设备本身是具体的硬件设备,如磁盘驱动器、网络接口卡等。 这是一个简化的 I/O 子系统层次结构示例,不同的操作系统可能会有略微不同的实现方式。每个层次都有不同的功能和责任,共同协作以实现高效的输入/输出操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值