首页 > 代码库 > Linux设备驱动的整体结构
Linux设备驱动的整体结构
这个话题其实很大,只需有大致了解即可,如果详细分析难度很大,粗略讲,一个操作系统的组成包括:进程调度、内存管理、设备驱动、文件系统、网络,其中进程调度需要cpu、内存管理需要ram、文件系统访问需要存储器(比如硬盘、nand flash等)、网络访问需要网卡,linux系统从下到下整体如图:
对于一个应用程序,如果涉及到硬件操作,那么依次会按照上图进行操作,首先在应用层会调用C库提供的函数(比如open、read、write),然后这些操作会触发软中断(swi中断)从而进入内核空间(Kernel Space),由于内核提供的VFS(vitual file system)的接口,依次会调用设备驱动,从而实现对硬件的操作,以应用层操作led硬件为例,依次会进行下面操作:
后续会根据代码详细分析这个过程,这里就不说了
Linux设备驱动的整体结构
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。