Linux课程设计报告.docVIP

  • 10
  • 1
  • 约5.69千字
  • 约 10页
  • 2023-09-10 发布于湖北
  • 举报
内核模块编程 相关原理介绍分析 1.1内核模块编程简介 Linux操作系统的内核是单一体系结构(Monolithic kernel)的,也就是说,Linux内核是一个单独的非常大的程序。这种体系结构导致了Linux内核的可扩展性和可维护性比较差,为了弥补单一内核的缺陷,Linux采用了一种全新的机制——模块(Module)编程[1]。模块具有十分突出的优点:模块本身不被编译入内核映像,这控制了内核的大小;模块一旦被加载,它就和内核中的其它部分完全一样。Linux采用了内核模块编程之后,编写设备驱动和修改系统内核变得易于实现。因为用户可以根据需要,在不需要对内核进行重新编译的情况下,内核模块可以动态的载入内核或从内核移出改变内核,极大缩短了驱动编写和内核开发的时间。 1.2 Linux内核模块程序结构 一个Linux内核模块主要由如下几个部分组成: 模块加载函数 通过insmod或modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成本模块的相关初始化工作。 模块卸载函数 当通过rmmod命令卸载某模块时,模块的卸载函数会自动被内核执行,完成与模块加载函数相反的功能。 模块许可证声明 许可证(LICENSE)声明描述内核模块的许可权限,这一部分是必须声明的,如果不声明LICENSE,模块被加载时,将收到内核被污染(module license ‘unspecifie

文档评论(0)

1亿VIP精品文档

相关文档