第二章 快速参考

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

  • 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. TNS-12535

    Fatal NI connect error 12170. VERSION INFORMATION: TNS for Linux: Version 11.2.0.3.0 - Production Or ...

  2. JavaScript-[[prototype]]的另一种理解

    [[prototype]]简介 javascript 中每一个对象都会有一个特殊的内置属性[[prototype]],这个就是对其他对象对引用.有了这个作为基础去关联其他对象,就能理解继承机制.Chr ...

  3. python实现基于两张图片生成圆角图标效果的方法

    python实现基于两张图片生成圆角图标效果的方法 这篇文章主要介绍了python实现基于两张图片生成圆角图标效果的方法,实例分析了Python使用pil模块进行图片处理的技巧,分享给大家供大家参考. ...

  4. MSSQL sql常用判断语句

    .判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名]  2 判断 ...

  5. Vue事件总线

    一 项目结构 二 main.js import Vue from "vue"; import App from "./App.vue"; import Tool ...

  6. Bootstrap 学习笔记4 巨幕页头略缩图警告框

  7. java web中各种context的关系

    我举得这篇文章解决了我的很多疑惑,理清了我以前不太清楚的Context关系,读懂这篇文章很有助于理解源码, 原文链接在这里:https://www.jianshu.com/p/2537e2fec546 ...

  8. thymeleaf 下拉选框回显选中

    参考了许多,最后以这种方法实现了.尽管有些愚蠢,初步学习阶段.不知道为什么用th:field会报错.网上有些是用field来解决回显问题的. <select name="positio ...

  9. python的前景

    最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Python的整体语言难度来讲又比Java简单的很多.尤其是在运维的应用 ...

  10. 01 - Jmeter4.x环境安装以及简单使用

    Jmeter 介绍 Apache JMeter应用程序是开源软件,旨在为负载测试功能行为和测量性能的100%纯Java应用程序.它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能 常用压力 ...