2.14.4.linux内核的模块化设计

Posted Ocean&Star

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.14.4.linux内核的模块化设计相关的知识,希望对你有一定的参考价值。

2.14.4.1、什么是模块化设计

(1)因为linux内核很庞大,代码量很大、东西很多,如果设计时完全设计成一体(各个文件、各个函数之间紧耦合),复杂度超出了人所能理解的范围。所以模块化设计也是一种必要。
(2)模块化设计就是内核中各个功能模块在代码上是彼此独立的,譬如说调度系统和内存管理系统之间并没有全局变量的互相引用,甚至函数互相调用也很少,就算有也是遵循一个接口规范的。模块化设计的目的就是实现功能模块的松耦合。

2.14.4.2、模块化设计的体现

(1)配置时可裁剪。linux内核在编译之前可以进行配置,配置时可以选择将组成内核的成千上万个模块每一个要或者不要。要了之后还有更多的一些细节的配置。
(2)模块化编译和安装。为了操作方便,逐渐从静态的升级变成了动态的升级(不需要重启系统,更不需要重新烧录系统)。这种动态的升级也是由模块化来支持的。
(3)源码中使用条件编译。这种在uboot中已经见过了。

2.14.4.3、模块化设计的好处

(1)功能可裁剪、灵活性
(2)可扩展性(动态安装卸载、新硬件支持)
(3)利于协作

2.14.4.4、模块化设计是一种普遍性的系统设计原则






以上是关于2.14.4.linux内核的模块化设计的主要内容,如果未能解决你的问题,请参考以下文章

《linux内核设计与分析》内核模块编程

Linux 驱动开发-内核模块设计笔记 0

Linux kernel模块管理相关详解

#26 Linux kernel(内核)详解与unamelsmodmodinfodepmodinsmodrmmodmodprobe...命令用法

二十七Linux内核管理

专题5-内核模块开发2内核模块设计与编写