linux内核模块设计分析.pptVIP

  • 2
  • 0
  • 约5.77千字
  • 约 31页
  • 2016-06-10 发布于湖北
  • 举报
Linux 2.6内核模块设计 内核模块概述 Linux内核是整体式结构,各个子系统联系紧密,作为一个大程序在内核空间运行。 内核模块概述 太多的设备驱动和内核功能集成在内核中,内核过于庞大。如何解决? Linux内核引入内核模块机制。通过动态加载内核模块,使得在运行过程中扩展内核的功能。不需要的时候,卸载该内核模块。 内核模块概述 什么是内核模块? 内核模块是一种没有经过链接,不能独立运行的目标文件,是在内核空间中运行的程序。经过链接装载到内核里面成为内核的一部分,可以访问内核的公用符号(函数和变量)。 内核模块可以让操作系统内核在需要时载入和执 行,在不需要时由操作系统卸载。它们扩展了操作系统内核的功能却不需要重新启动系统。 如果没有内核模块,我们不得不一次又一次重新编译生成单内核操作系统的内核镜 像来加入新的功能。这还意味着一个臃肿的内核。 内核模块概述 模块机制的优点: 减小内核映像尺寸,增加系统灵活性; 节省开发时间;修改内核,不必重新编译整个内核。 模块的目标代码一旦被链入内核,作用和静态链接的内核目标代码完全等价。 模块机制的缺点: 对系统性能有一定损失; 使用不当时会导致系统崩溃; 内核模块概述 内核模块是如何被调入内核工作的? 当操作系统内核需要的扩展功能不存在时,内核模块管理守护进程kmod执行modprobe去加载内核模块。 modprobe遍历文件/li

文档评论(0)

1亿VIP精品文档

相关文档