摘要: 每个进程都有他自己当前的工作目录和它自己的根目录。这是内核用来标识进程与文件系统相互作用做必须维护的数据;每个进程的fs字段指向进程的fs_struct结构;struct path { struct vfsmount *mnt; struct dentry *dentry;};/include/linux line6struct fs_struct { int users; // 共享这个表的进程个数 rwlock_t lock; //用于表中字段的读写自旋锁 int umask; //打开文件设置文件权限是所使用的位掩码 int in_exec; struc... 阅读全文
posted @ 2013-04-02 20:29 linengier 阅读(848) 评论(0) 推荐(0) 编辑
摘要: linux/fs/open.cSYSCALL_DEFINE3(open, const char __user *, filename, int, flags, int, mode){ long ret; if (force_o_largefile()) flags |= O_LARGEFILE; ret = do_sys_open(AT_FDCWD, filename, flags, mode); /* avoid REGPARM breakage on x86: */ asmlinkage_protect(3, ret, filename, flags, mod... 阅读全文
posted @ 2013-04-02 16:48 linengier 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 在浏览 /proc 目录的时候您会发现许多目录的名称是一些数字。这些目录保存了当前系统中运行的所有进程的信息。$ ls -d /proc/[0-9]*/proc/1/ /proc/302/ /proc/451/ /proc/496/ /proc/556/ /proc/633//proc/127/ /proc/317/ /proc/452/ /proc/497/ /proc/557/ /proc/718//proc/2/ /proc/339/ /proc/453/ /proc/5/ /proc/558/ /proc/755//proc/250/ /pr... 阅读全文
posted @ 2013-04-02 16:14 linengier 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 1.current的应用current 指针指向当前在运行的进程,内核代码可以通过使用 current 来使用进程特定的信息。指向 task_struct 的current指针在内核堆栈内,是一个全局项。定义:/arch/x86/include/asm/current.h #define current get_current()应用目的:查看当前谁在使用内核你关心的那段代码的时候。应用方法:printk(KERN_INFO "The cuurent process commond : \"%s\" the pid :%i\n", current-> 阅读全文
posted @ 2013-04-02 15:46 linengier 阅读(148) 评论(0) 推荐(0) 编辑