ChinaUnix.net
相关文章推荐:

linux 模块

摘自深入理解linux内核 模块 > 正如我们在第一章中介绍的那样,模块(module)是linux用来高效地利用微内核的理论优点而不会降低系统性能的一种方法。 是否使用模块? > 当系统程序员希望给linux内核增加新功能时,就面临一个进退两难的问题:他们应该编写新代码从而将其作为一个新模块进行编译,还是应该将这些代码静态的链接到内核中? > 通常,系统程序员都倾向于把新代码作为一个模块来实现。因为模块可以根据需要进行...

by yjh777 - Linux文档专区 - 2007-11-11 23:00:59 阅读(793) 回复(0)

相关讨论

#include <linux/kernel.h> #include <linux/module.h> #include <linux/slab.h> #include <linux/mm.h> #include <linux/init.h> static __init int patch_init(void) { printk("<1>VFS is patched!\n"); return 0; } static __exit void patch_cleanup(void) { printk("<1>VFS is unpatched!\n"); } MODULE_LICENSE("GPL"); module_init(patch_init); module_exit(patch_cleanup); 现象:生成模块后,insmod encryption.ko回...

by bjqtyc2010 - 驱动开发 - 2013-07-21 23:40:36 阅读(948) 回复(3)

各位高手: 本人是个除入linux的菜鸟,想分心下linux下某一模块的源码,有没有高手能给出分析步骤,我该从哪下手?比如linux下某一服务的源码,或者某一驱动,我拿到源码后从哪里开始阅读呢?求高手不吝赐教

by linux_wz - 内核源码 - 2013-03-11 09:35:21 阅读(1428) 回复(5)

#include <linux/module.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/list.h> #include <linux/dcache.h> #include <linux/sched.h> #include <linux/slab.h> #include <linux/path.h> #include <linux/fs_struct.h> MODULE_LICENSE("Dual BSD/GPL"); void output(struct list_head *temp) { struct list_head *p; p=temp->next; while (p!=temp){ if(d_unhashed(list_entry(p,...

by tigeradvance - 内核源码 - 2010-11-16 08:56:04 阅读(1210) 回复(0)

makefile如下: ROSS_COMPILE=/usr/local/arm/3.4.6/arm-linux/bin/ ARCH:=arm CC:=$(CROSS_COMPILE)gcc LD:=$(CROSS_COMPILE)ld obj-m = hello.o module-objs = hello.o KDIR = /opt/arm-linux/linux-2.6.24-magus PWD = $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules clean: rm -rf *.o *.ko *~ kDIR是开发板的内核路径,已经编译好 #file vmlinux vmlinux: ELF 32-bit LSB executable...

by yaloml - 嵌入式开发 - 2010-08-18 20:39:00 阅读(6616) 回复(16)

摘要 linux内核模块编程的资料有些纷繁复杂,有的过于简单,有的过于庞杂,我试图用笔记的形式想读者展示怎样来进程linux模块编程,力图做到简明扼要,这篇文章也是作为本人备忘的资料,所以有些地方过于简略是难免的。本来这篇文章的目的就是让用户知其然,至于所以然还是请参考相应的资料,其实最好的资料莫过于linux Kernel Source。 适用范围: linux Kernel >= 2.6.0 [在2.4.20-8上试了哈,也行] linux模块简介 首先这个m...

by centipedecn - Linux文档专区 - 2010-01-17 09:10:25 阅读(666) 回复(0)

开始内核之路呵呵linux 就是内核 linux 的代码是C代码为主,汇编和微码为辅 这是一个好消息但是 内核C代码是采用的高级C语言技巧写成的 看起来会很费劲 一旦熟悉后 会很有收获 我看了一点的确 采用的是 OO 设计 非常简约 如果通过读代码学习内核必定是毫无效率可言的 学习写内核模块因该是个捷径 内核模块的经典书籍 LDD 3 写的非常好 希望结交学习这本书的朋友 一起学习 。 1-2 节 我的理解是作者站在很高的高度描述...

by masonzhang - Linux文档专区 - 2010-01-01 03:29:34 阅读(1159) 回复(0)

1. lsmod 列出已经加载的内核模块 lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc/modules ,我们一样可以知道系统已经加载的模块。 2.modinfo 查看模块信息 modinfo 可以查看模块的信息,通过查看模块信息来判定这个模块的用途。 3.modprobe 挂载新模块以及新模块相依赖的模块 modprobe 我们常用的功能就是挂载模块,在挂载某个内核模块的同时,这个模块所依赖的模块也被同时挂载;当然modprobe 也...

by shuguangshaomen - Linux文档专区 - 2009-12-18 14:52:25 阅读(559) 回复(0)

摘要 linux内核模块编程的资料有些纷繁复杂,有的过于简单,有的过于庞杂,我试图用笔记的形式想读者展示怎样来进程linux模块编程,力图做到简明扼要,这篇文章也是作为本人备忘的资料,所以有些地方过于简略是难免的。本来这篇文章的目的就是让用户知其然,至于所以然还是请参考相应的资料,其实最好的资料莫过于linux Kernel Source。 适用范围: linux Kernel >= 2.6.0 linux模块简介 首先这个module不同于microkernel的mo...

by nacichan - Linux文档专区 - 2008-09-09 20:48:23 阅读(761) 回复(0)

内核模块linux内核向外部提供的一个接口,其全称为动态可加载内核模块(Loadable Kernel Module,LKM),简称模块。 一个模块程序应该包括: --模块加载函数 --模块卸载函数 --模块许可证声明 还有一些其他部分是可以选择的,如模块参数,模块到处符号,模块作者,版本等信息声明 就是说一个最简单的模块必须包含三部分。 如何编写一个模块,以编写Hello World模块为例。 //hello.c #include #include s...

by chipsingle - Linux文档专区 - 2008-08-20 17:23:43 阅读(742) 回复(0)

今天终于完成了一个小小的hello.o的挂载程序,虽然最开始看起来挺简单,可是中间却经历了很多挫折。在此把正确的程序和编译流程贴出来: #define MODULE #include linux/module.h> MODULE_LICENSE("GPL"); int init_module(void) { printk("Hello World!\n"); return 0; } void cleanup_module(void) { printk("Goodbye!\n"); } 然后用/usr/src/linux.2.4.20-8/include/linux/version.h代替/usr/include...

by duguowei - Linux文档专区 - 2008-07-23 13:39:56 阅读(875) 回复(0)