
linux内核
文章平均质量分 55
hqzh1234
简简单单的喜欢在linux内核里面折腾,自己还是个新手,只希望通过自己的努力能慢慢的提高!
展开
-
Unionfs: 联合文件系统的一个实例
Unionfs: 联合文件系统的一个实例赵珂, cn.zhaoke.comhttp://blog.zhaoke.com/27.htmlUnionfs是一个堆栈式的联合文件系统, 2004年由纽约州立大学石溪分校开发, 它可以把多个目录(也叫分支)内容合并在一起,而目录的物理位置是分开的. Unionfs允许只读和可读写目录并存, 就是说可同时删除和增加内容. Union转载 2008-08-08 15:14:00 · 1445 阅读 · 0 评论 -
内核中的调度与同步
本章将为大家介绍内核中存在的各种任务调度机理以及它们之间的逻辑关系(这里将覆盖进程调度、推后执行、中断等概念),在此基础上向大家解释内核中需要同步保护的根本原因和保护方法。最后提供一个内核共享链表同步访问的例子,帮助大家理解内核编程中的同步问题。内核任务调度与同步关系引言对于从事应用程序开发的朋友来说,用户空间的任务调度与同步之间的关系相对简单,无需过多考虑需要同步的原因。这一是因为转载 2008-05-28 18:40:00 · 489 阅读 · 0 评论 -
编写使用中断的模块
现在我们将编写一个模块,其中有一个函数,当内核接收到某个 IRQ 上的一个中断时会调用它。首先,将文件 mymodule.c 拷贝到 myirqtest.c,然后删除函数的内容,只保留返回语句。在编辑器中打开 myirqtest.c,并使用“myirqtest”替换所出现的“mymodule”来修改函数名。另外删除 printk。为了能够使用中断,将下面一行: #include转载 2008-05-28 18:18:00 · 870 阅读 · 0 评论 -
2.6.20后添加访问系统调用的方式
1.定义系统调用号,/usr/src/linux/include/asm-i386/unistd.h#define _NR_sysmycall 318 //不能与前面已有的重复#define _NR_syscalls 319//修改系统中所用系统调用数目 2.在系统调用向量表里添加自定义的系统调用函数入口位置,/usr/src/linux/arch/i386/ker原创 2008-05-28 18:30:00 · 456 阅读 · 0 评论 -
export_symbol的使用
问题是这样的,前几天师妹需要在内核模块中使用tasklist_lock来操作保护内核进程链表,由于tasklist_lock如果要在模块中使用就必须把它填充到内核符号表里面,就要使用export_symbol,她在sched.h里面就是tasklist_lock声明的地方,添加export_symbol(tasklist_lock),在编译的时候总是出现undefined symb原创 2008-06-11 14:42:00 · 1815 阅读 · 1 评论 -
内核态下netlink和用户态程序通信
系统使用netlink和木码扫描程序通信,系统使用的木马扫描程序ossec是用户态下的程序,而可信计算是内核态的,现在需要内核态象用户态程序发消息,系统使用netlink,因为netlink具有广泛的适用性,甚至可以是在中断上下文中和用户态程序通信,系统使用广播的方式向用户态程序发消息,在这里需要在内核和用户态下添加共同的netlink标记头,它的定义是在/linux-2.6.20-seco原创 2008-06-17 10:56:00 · 1067 阅读 · 0 评论 -
get_fs,set_fs使用原理
大家知道在内核中使用有些系统调用(如打开,写文件等操作)需要使用get_fs,set_fs对他们进行保护。具体使用方法如下:oldfs=get_fs(); set_fs(KERNEL_DS); filp->f_op->write(filp,buf,size,&filp->f_pos); set_fs(oldfs); 只有使用上面的方法,才能在内核中使用原创 2008-06-14 16:15:00 · 3021 阅读 · 0 评论 -
定位Oops的具体代码行
( 来自Linus Torvalds的讨论: https://groups.google.com/group/linux.kernel/browse_thread/thread/b70bffe9015a8c41/ed9c0a0cfcd31111 又,http://kerneltrap.org/Linux/Further_Oops_Insights ) 例如这样的一个Oops转载 2008-06-14 14:48:00 · 751 阅读 · 0 评论