- 0
- 0
- 约1.25万字
- 约 45页
- 2017-06-18 发布于湖北
- 举报
Linux操作系统分析与实践第七讲: Linux驱动程序编写基础 《Linux操作系统分析与实践》课程建设小组 北京大学 二零零八年春季 *致谢:感谢Intel对本课程项目的资助 本讲主要内容 Linux内核模块 中断和中断处理 下半部 Linux内核模块 Linux操作系统的内核是单一体系结构(monolithic kernel) 有了模块机制后,提高Linux操作系统的可扩充性,内核编程不再是一个恶梦 什么是模块呢? 模块的全称是“动态可加载内核模块”(Loadable Kernel Module,LKM) 模块在内核空间运行 模块实际上是一种目标对象文件 没有链接,不能独立运行,但是其代码可以在运行时链接到系统中作为内核的一部分运行或从内核中取下,从而可以动态扩充内核的功能 这种目标代码通常由一组函数和数据结构组成 Linux内核模块的优点与缺点 优点 使得内核更加紧凑和灵活 修改内核时,不必全部重新编译整个内核。系统如果需要使用新模块,只要编译相应的模块,然后使用insmod将模块装载即可 模块的目标代码一旦被链接到内核,它的作用域和静态链接的内核目标代码完全等价 缺点 由于内核所占用的内存是不会被换出的,所以链接进内核的模块会给整个系统带来一定的性能和内存利用方面的损失; 装入内核的模块就成为内核的一部分,可以修改内核中的其他部分,因此,模块的使用不当会导致
原创力文档

文档评论(0)