发布时间:2012-12-10 14:27:00
浅析proc文件系统的创建和create_proc_read_entry函数的具体实现 start_kernel =>proc_root_init 和http://blog.chinaunix.net/u1/38994/showart_1328541.html 《浅析kern_mount加载sysfs的流程》细节部分一模一样, 因为sysfs是一个内存文件系统,所以文件的物理存储关系就需要使用sd来维护,因此sysfs_dirent即sd就类似于硬盘中的磁道. sysfs文件系统是一个排它式的文件系统......【阅读全文】
发布时间:2012-12-09 12:06:00
所有要使用 proc的内核模块都应当包含 <linux/proc_fs.h> 头文件。首先要了解以下proc编程中最重要的数据结构:struct proc_dir_entry {unsigned int low_ino;unsigned int namelen;const char *name; // 入口文件名mode_t mode; // 文件访问权限模式nlink_t nlink;uid_t uid; // 文件的用户IDgid_t gid; // 文件的组IDloff_t size;......【阅读全文】
发布时间:2012-12-09 10:19:05
最近一直在看内核源码,有很多地方都用到了errno,它帮助我们理解代码上下文非常重要,所以从网上找到粘出来。如果你遇到的话,就查查它的含义吧。 查看错误代码errno是调试程序的一个重要方法。当C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。 #ifndef _I386_ERRNO_H#define _I386_ERRNO_H#define EPERM 1 /* Operation not permitted */#defi......【阅读全文】