摘要: http://files.cnblogs.com/codestub/Linux%E9%82%A3%E4%BA%9B%E4%BA%8B%E5%84%BF.7z 阅读全文
posted @ 2011-08-30 20:50 TIANCJ 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 在学习块设备原理的时候,我最关系块设备的数据流程,从应用程序调用Read或者Write开始,数据在内核中到底是如何流通、处理的呢?然后又如何抵达具体的物理设备的呢?下面对一个带Cache功能的块设备数据流程进行分析。 1、 用户态程序通过open()打开指定的块设备,通过systemcall机制陷入内核,执行blkdev_open()函数,该函数注册到文件系统方法(file_operations)中的open上。在blkdev_open函数中调用bd_acquire()函数,bd_acquire函数完成文件系统inode到块设备bdev的转换,具体的转换方法通过hash查找实现。得到具体... 阅读全文
posted @ 2011-08-24 20:54 TIANCJ 阅读(1143) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-08-24 18:47 TIANCJ 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 打开字符设备文件,还是通过 sys_open() 系统调用。在经过一连串的调用后,nameidata_to_filp, 内核会走到 __dentry_open() 函数。在这个函数中,执行了以下代码片段: f->f_mapping = inode->i_mapping; f->f_path.dentry = dentry; f->f_path.mnt = mnt; f->f_pos = 0; f->f_op = fops_get(inode->i_fop); file_move(f, &inode->i_sb->s_files); 阅读全文
posted @ 2011-08-22 14:18 TIANCJ 阅读(2609) 评论(0) 推荐(0) 编辑
摘要: Close Free CommanderAdd the following lines to the FreeCommander.ini in [Form] sectionCode:FileMovePrg=C:\Program Files\TeraCopy\TeraCopy.exe Move *%ActivSelAsFile% "%InactivDir%"FileCopyPrg=C:\Program Files\TeraCopy\TeraCopy.exe Copy *%ActivSelAsFile% "%InactivDir%"(* - required 阅读全文
posted @ 2011-08-18 22:14 TIANCJ 阅读(491) 评论(0) 推荐(0) 编辑
摘要: #include <linux/wait.h> typedef int (*wait_queue_func_t)(wait_queue_t *wait, unsigned mode, int flags, void *key);int default_wake_function(wait_queue_t *wait, unsigned mode, int flags, void *key);struct __wait_queue_head { spinlock_t lock; struct list_head task_list;};typedef struct __wait_qu 阅读全文
posted @ 2011-08-18 19:17 TIANCJ 阅读(5501) 评论(0) 推荐(0) 编辑
摘要: 鼠标指向图片变手型加style="cursor:hand" ,firefox无效。style="cursor:pointer"这个是兼容ie和firefox的,有人说不支持Opera,但是Opera 11.11是支持的。 阅读全文
posted @ 2011-08-18 19:04 TIANCJ 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 22岁那年,我爱上一位师姐。师姐是我的同乡,她的出现,给我初到陌生城市的求学生活带来了些许温暖。我们一同到图书馆上自习,一同去食堂吃饭,一同去看电影。简单的校园生活就这样幸福地流转,日子像奔驰的野马,快得让人措手不及。“我以后要回老家的一个中学去教书,这几年一直是老校长在负担我读书的所有费用。”毕业前夕,师姐靠在我的肩上,温柔地问我,“你毕业后会来找我吗?”我说:“你等我一年,我要你做我的新娘。”离别的站台,总是充满感伤。当列车呼啸而过的时候,回首仿佛已是天涯陌路。一年后,我还能如期找到回家的路吗?我无法确定。或许,年轻岁月的约定,注定只能是一个遥遥无期的美好期许,因为谁也无法把握未知的明天。 阅读全文
posted @ 2011-08-18 19:02 TIANCJ 阅读(146) 评论(0) 推荐(0) 编辑
摘要: http://oss.org.cn/kernel-book/ldd3/index.html 由 quickwhale 翻译的简体中文版 V0.1.0 2006-6-2 遵循原版的版权声明. 还在完善中. 欢迎任何意见, 请给我邮件. 请发信至 quickwhale 的邮箱 <quickwhale@hotmail.com> 版权 © 2005, 2001, 1998 O’Reilly Media,... 阅读全文
posted @ 2011-08-18 19:00 TIANCJ 阅读(812) 评论(0) 推荐(0) 编辑
摘要: lsmod实际上读取并分析/proc/modules文件 cat /proc/modules 内核中已加载的模块的信息存在于/sys/modules. /sys/module 是一个 sysfs 目录层次, 包含当前加载模块的信息. /proc/moudles 是旧式的, 那种信息的单个文件版本. 其中的条目包含了模块名, 每个模块占用的内存数量, 以及使用计数. 另外的字串追加到每行的末尾来指定标志, 对这个模块当前是活动的.linux内核模块程序结构 1) 加载函数(一般需要) 当通过insmod或modprobe加载内核模块时, 模块的加载函数会自动被内核执行. static int _ 阅读全文
posted @ 2011-08-18 18:58 TIANCJ 阅读(291) 评论(0) 推荐(0) 编辑