谈谈linux2.6内核的驱动框架

简介:

linux支持的设备越来越多,种类越来越多,设备本身的功能也是越来越复杂,而操作系统内核必须有一种很有效的方式来管理这些设备,最起码的要控制它们的开启关闭,更进一步要控制它们进行协同工作,实际上要内核仅仅做到这些并不难,关键问题是如何与用户进行交互,那么多设备怎么以统一的方式提供给用户, 毕竟最终要控制设备的还是用户啊,在2.6内核中引出了一个叫做kobject的数据结构,它的作用和著名的list_head一样,只不过后者是一条环 链而它却是一棵树。学习2.6内核的驱动有两个意义:1.学会以后写个驱动;2.学习这一切的思想,作者为什么能想到这些。我自己写过一些驱动,根据经验 2.6的内核框架有两条线索,一条就是以kobject为中心往上走,一直和vfs相接直取用户空间;另一条就是内核内部的一些链表,底层意义上把设备分 类,按照设备的性质进行汇总。先看看第一条线索的基础设施:

struct kobject {



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1274048

相关文章
|
16天前
|
存储 安全 Linux
探索Linux操作系统的心脏:内核
在这篇文章中,我们将深入探讨Linux操作系统的核心—内核。通过简单易懂的语言和比喻,我们会发现内核是如何像心脏一样为系统提供动力,处理数据,并保持一切顺畅运行。从文件系统的管理到进程调度,再到设备驱动,我们将一探究竟,看看内核是怎样支撑起整个操作系统的大厦。无论你是计算机新手还是资深用户,这篇文章都将带你领略Linux内核的魅力,让你对这台复杂机器的内部运作有一个清晰的认识。
41 3
|
26天前
|
缓存 安全 Unix
Linux 内核黑客不可靠指南【ChatGPT】
Linux 内核黑客不可靠指南【ChatGPT】
|
26天前
|
Linux 开发者
Linux内核贡献成熟度模型 【ChatGPT】
Linux内核贡献成熟度模型 【ChatGPT】
|
25天前
|
网络协议 Ubuntu Linux
用Qemu模拟vexpress-a9 (三)--- 实现用u-boot引导Linux内核
用Qemu模拟vexpress-a9 (三)--- 实现用u-boot引导Linux内核
|
25天前
|
Linux
用clang编译Linux内核
用clang编译Linux内核
|
26天前
|
Linux API C语言
Linux 内核补丁提交的清单 【ChatGPT】
Linux 内核补丁提交的清单 【ChatGPT】
|
26天前
|
安全 Linux 开发者
Linux内核管理风格 【ChatGPT】
Linux内核管理风格 【ChatGPT】
|
26天前
|
Linux 程序员 编译器
Linux内核驱动程序接口 【ChatGPT】
Linux内核驱动程序接口 【ChatGPT】
|
26天前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
26天前
|
Unix Linux API
Linux内核许可规则 【ChatGPT】
Linux内核许可规则 【ChatGPT】