ChinaUnix.net
相关文章推荐:

linux内核编程入门

决定根据自己的学习进度,整理一份内核编程入门的学习资料,由浅入深(由浅是一定的,入深是未知的)。 假定有如下技术基础: 良好的C编程能力 一些AT&T汇编知识 Gcc常规编译选项与优化扩展等相关知识 操作系统与网络协议栈知识 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12325/showart_1898704.html

by icymoon - Linux文档专区 - 2009-04-12 18:02:28 阅读(2441) 回复(0)

相关讨论

请教各位,linux内核编程有没有比较经典或比较适合上手的实例,最好是代码量适中的,内核驱动开发或杀毒软件等等都可以

linux内核编程

by dxl1987 - Linux环境编程 - 2011-06-25 23:06:57 阅读(3561) 回复(3)

一. 准备工作 安装kernel 必须的开发库 #sudo apt-get install linux-kernel-devel 安装内核头文件 #sudo apt-get install linux-headers-`uname -r` 当然, gcc /make 等工具天生就是需要的。 二. 编写代码 hello.c 如下: //------------------hello.c-------------------// #ifndef __KERNEL__ #define __KERNEL__ #endif #ifndef MODULE #define MODULE #endif #include #include #include static int hello_init(void...

by shinety53 - Linux文档专区 - 2008-05-24 09:42:27 阅读(1046) 回复(0)

[内核编程入门]构建自己的内核模块 虽然linux是个宏内核系统,但是内核允许在运行时动态地加载或卸载模块。这项特性为linux内核开发与使用带来了很多方便,比如基本内核映像可以做得足够小,新功能和驱动程序可以以模块的形式提供。同时,这样做也方便调试。本文中将描述如何构造一个最简单的内核模块。 1. 编写一个简单的内核模块 模块文件中需要有入口点和出口点,这是加载与卸载模块时要被调用的。这两个接口在include/linux/in...

by icymoon - Linux文档专区 - 2009-04-12 18:04:52 阅读(1431) 回复(0)

http://lib.verycd.com/2006/10/30/0000126066.html

by qing - Linux论坛 - 2006-11-15 09:02:40 阅读(1720) 回复(0)

[内核编程入门] printk的使用 常想用户态程序的可能都熟悉printf,在内核空间,有一个与之类似的接口--printk。 对于使用printk,了解如下内容应该就足够了: 1. printk在进程上下文或中断上下文都可以使用。 2. 使用printk时可以指定打印到特定的log level。 3. 过快地打印过多的printk消息会影响系统性能。可以使用if (net_ratelimit()) {printk(...);}来限制打印。 关于log level,定义在include/linux/kernel.h,如下: #de...

by icymoon - Linux文档专区 - 2009-04-12 17:58:58 阅读(1258) 回复(0)

代码引用地址:http://bbs.chinaunix.net/viewthread.php?tid=626486&extra=page%3D3%26filter%3Ddigest hello.c: #ifndef __KERNEL__ #define __KERNEL__ #endif #ifndef MODULE #define MODULE #endif #include <linux/init.h>; #include <linux/module.h>; #include <linux/kernel.h>; static int hello_init(void) { printk(KERN_ALERT "Hello, The fucking crazy world\n"); return 0; } ...

by xiongxu0608 - 内核/嵌入技术 - 2006-09-26 11:05:33 阅读(2390) 回复(6)

代码引用地址:http://bbs.chinaunix.net/viewthread.php?tid=626486&extra=page%3D3%26filter%3Ddigest hello.c: #ifndef __KERNEL__ #define __KERNEL__ #endif #ifndef MODULE #define MODULE #endif #include <linux/init.h>; #include <linux/module.h>; #include <linux/kernel.h>; static int hello_init(void) { printk(KERN_ALERT "Hello, The fucking crazy world\n"); return 0; } ...

by xiongxu0608 - 内核源码 - 2006-09-26 11:05:33 阅读(3763) 回复(6)

针对好多linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制; 一.核心源程序的文件组织: 1.linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心。本文基于稳定的2.2.5源代码,第二部分的实现平台为 Redhat Lin...

by emjy - Linux文档专区 - 2008-11-02 21:05:50 阅读(844) 回复(0)

很多linux 爱好者对内核很感兴趣却无从下手,本文旨在介绍一种解读linux内核源码的入门方法,而不是讲解linux复杂的内核机制。   1.核心源程序的文件组织   (1)linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(中间数字)如:2.0.30都是一个稳定的发行的核心,而任何奇数的核心如:2.1.42都是一个开发中的核心。   本文基于稳定的2.2.5源代码,第二部分的实现平台为Redh...

by zf3082000 - Linux文档专区 - 2008-03-17 21:04:17 阅读(606) 回复(0)

很多linux 爱好者对内核很感兴趣却无从下手,本文旨在介绍一种解读linux内核源码的入门方法,而不是讲解linux复杂的内核机制。   1.核心源程序的文件组织   (1)linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(中间数字)如:2.0.30都是一个稳定的发行的核心,而任何奇数的核心如:2.1.42都是一个开发中的核心。   本文基于稳定的2.2.5源代码,第二部分的实...

by athena.lee - Linux文档专区 - 2008-02-08 12:52:33 阅读(706) 回复(0)