Keep looking Donot settle
发布时间:2014-12-19 17:52:59
一般地,内核通过在procfs文件系统下建立文件来向用户空间提供输出信息,用户空间可以通过任何文本阅读应用查看该文件信息,但是procfs 有一个缺陷,如果输出内容大于1个内存页,需要多次读,因此处理起来很难,另外,如果输出太大,速度比较慢,有时会出现一些意想不到的情况, Alexander Viro实现了一套新的功能,使得.........【阅读全文】
发布时间:2014-12-19 17:51:57
relayfs是一个快速的转发(relay)数据的文件系统,它以其功能而得名。它为那些需要从内核空间转发大量数据到用户空间的工具和应用提供了快速有效的转发机制。Channel是relayfs文件系统定义的一个主要概念,每一个channel由一组内核缓存组成,每一个CPU有一个对应于该channel 的内核缓存,每一个内核缓存用一个在rela.........【阅读全文】
发布时间:2014-12-11 16:36:48
(一)先分析/proc/interruptslinux-2.6.28/arch/arm/kernel/irq.c --> show_interrupt()在linux-2.6.28/fs/proc/interrupt.cmodule_init(proc_interrupts_init);|-->proc_interrupts_init()|--> proc_create("interrupts", 0, NULL, &proc_interrupts_operations);一位伟大的程序员说过 -- "代码就是最好.........【阅读全文】
发布时间:2014-11-29 17:57:19
上一节的程序很振奋人心,我们自己实现了一个myprintk打印函数。但是这个函数存在一个致命的缺陷,那就是只能使用一次cat /proc/mymsg命令来读取mylog_buf的值。这是因为读到最后会出现:mylog_r == mylog_w,表示缓冲区为空,下一次就不能在读到数据了。在本节里面我们就着手来解决这个问题,我们要实现的就是每次使用 c.........【阅读全文】