第二章 快速参考

本节中出现的条目会以它们在文中出现的顺序列出:

  • insmod
  • modprobe
  • rmmod

用来装载模块到正运行的内核和移除模块的用户空间工具:

  • #include <linux/init.h>
  • module_init(init_function);
  • module_exit(cleanup_function);

用于指定模块的初始化和清除函数的宏:

__init

__initdata

__exit

__exitdata

  • #include <linux/sched.h>最重要的头文件之一。该文件包含驱动使用的大部分内核API的定义,包括睡眠函数以及各种变量声明。
  • struct task_struct *current;当前进程
  • current->pid:当前进程ID
  • current->comm:当前进程命名名
  • obj-m:由内核构造系统使用的makefile符号,用来确定在当前目录中应构造哪些模块
  • /sys/module:早期用法,只在单个文件中包括这些信息,其中包括了模块名称、每个模块使用的内存总量一级使用计数等。每一行之后还追加额外的字符串,用来指定模块的当前活动标志。
  • /proc/modules: /sys/module是sysfs目录层次结构中包含当前已装载模块信息的目录。
  • vermagic.o:内核源代码目录中的一个目标文件,它描述了模块的构造环境。
  • #include <linux/module.h>:必须的文件,它必须包含在模块源代码中。
  • #include <linux/version.h>:包含所构造内核版本信息的头文件。
  • LINUX_VERSION_CODE:整数宏,在处理版本依赖的预处理条件语句中非常有用
  • EXPORT_SYMBOL(symbol);用来导出单个符号到内核的宏
  • EXPORT_SYMBOL_GPL(symbol);将导出符号的使用限于GPL许可证下的模块
  • MODULE_AUTHOR(author);
  • MODULE_DESCRIPTION(description);
  • MODULE_VERSION(version_string);
  • MODULE_DEVICE_TABLE(table_info);
  • MODULE_ALIAS(alternate_name);在目标文件中添加关于模块的文档信息
  • module_init(init_function);
  • module_exit(exit_function);用来声明模块初始化和清除函数的宏
  • #include <linux/moduleparam.h>
  • module_param(variable, type, perm);用来创建模块参数的宏,用户可在装载模块时调整这些参数的值。
  • #include <linux/kernel.h>
  • int printk(const char *fmt, ...);函数printk内核代码

LDD快速参考的更多相关文章

  1. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  2. Oracle 11.2.0.4单实例打PSU,OJVM PSU补丁快速参考

    写在前面: 1.Oracel打每个补丁的操作有时存在差异,所以不管多熟悉,都应该在打任何补丁之前阅读新补丁中附带的readme. 2.Oracle每季度都会更新一个最新的PSU,本文最新指的是当前最新 ...

  3. Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考

    环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby 主库和备库都是单节点. 需求:主备库同时应用160719的PSU和OJVM PSU补丁. ...

  4. 数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)

    数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)

  5. jenkins2 pipeline 语法快速参考

    jenkins2 pipeline中常用的语法快速参考. 文章来自:http://www.ciandcd.com文中的代码来自可以从github下载: https://github.com/ciand ...

  6. oracle数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)

    数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1) 文档内容   用途   详细信息   Patchsets ...

  7. Razor 语法快速参考

    Razor 语法快速参考   本文引自:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx 语法名称 Raz ...

  8. 转: seajs手册与文档之 -- 快速参考 ( ~~useful )

    目录 快速参考 seajs.use seajs.config define require require.async exports module.exports 快速参考 该页面列举了 SeaJS ...

  9. Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考

    Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考 //System.setProperty("webdriver.firefox.bin" ...

随机推荐

  1. mybatis有结果返回null

    解决:application.yml 中mybatis此项(解决驼峰及数据库字段有下划线问题) map-underscore-to-camel-case: true 问题: mybatis debug ...

  2. 安装mysql数据库-centos7

    mysql官网下载地址:https://dev.mysql.com/downloads/mysql/ 参考安装:https://blog.51cto.com/snowlai/2140451?sourc ...

  3. js 数组相减 (一个数组去掉不符合条件的子数组)

    数组相减?我也希望将来在ES8或者更好js版本能带来数组之间相互运算的方法,但是现在不能,咱们只能靠已有的方法实现: var arr1 = [2,3,5,88,99,444,66],arr2 = [2 ...

  4. tp 框架目录结构

    ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.ThinkPHP从诞生以来一 ...

  5. github信息安全开源课

    尽可能的减少信息差:兄弟们,该知足了,这些资源非常的宝贵了. ### github探索-主题-令人敬畏的名单 令人敬畏的名单: https://github.com/topics/awesome 进入 ...

  6. Fira Code,可以让不等号!=直接显示出来的字体

    今天看B站某直播间有人写代码C#里一堆不等号直接显示,感觉很神奇,以为是插件还是什么新语法,托人问了下原来是Fira Code字体 https://github.com/tonsky/FiraCode ...

  7. xmake 描述语法和作用域详解

    xmake的工程描述文件xmake.lua虽然基于lua语法,但是为了使得更加方便简洁得编写项目构建逻辑,xmake对其进行了一层封装,使得编写xmake.lua不会像些makefile那样繁琐 基本 ...

  8. python中进程池和回调函数

    一.数据共享 1.进程间的通信应该尽量避免共享数据的方式 2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的. 虽然进程间数据独立,但可以用过Manager实现数据共享,事实 ...

  9. spring-第二篇ApplicationContext国际化及事件机制

    1.ApplicationContext接口获取spring容器      ApplicationContext是BeanFactory接口的子接口,BeanFactory的常用实现类是Default ...

  10. Java 遍历某个目录

    import java.io.File; import java.io.IOException; public class DirErgodic { public static void find(S ...