1、什么是内核模块?
内核模块是Linux内核向外部提供的一个插口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),简称为模块。Linux内核之所以提供模块机制,是因为它本身是一个单内核(monolithic kernel)。单内核的最大优点是效率高,因为所有的内容都集成在一起,但其缺点是可扩展性和可维护性相对来说比较差,引入模块机制就是为了弥补这一缺陷。
模块是具有独立功能的程序,它可以被单独编译,但不能独立运行。它在运行时被链接到内核作为内核的一部分在内核空间运行,这与运行在用户空间的进程是不同的。模块通常由一组函数和数据结构组成,用来实现一种文件系统、一个驱动或其他内核上层的功能。
总之模块是一个为内核或者其他内核模块提供使用功能的代码块。
2、编写第一个小模块实例
环境:VMware 版本:12.0.0
CentOS 7
1)进入虚拟机,打开Linux终端,获取root权限。
2)创建一个文件夹(mkdir命令创建一个名为hello的文件)