2012年3月8日

分治法 - 合并算法设计

摘要: 分治法 - 合并算法设计 何为分治法? 分治策略:将圆问题划分为n个规模较小而结构与圆问题相似的子问题;地鬼地解决这些子问题。然后合并结果,即得到原问题的解。 分治模式每一层的递归上都有三个步骤: 分解:将原问题分解为一系列子问题; 解决:递归地解决各子问题。若子问题较小,则直接求解。 合并:将... 阅读全文

posted @ 2012-03-08 21:50 YoungerChina 阅读(587) 评论(0) 推荐(0) 编辑

2012年2月12日

一个通用的Makefile(针对内核模块类-pro)

摘要: 一个通用的Makefile(2)(针对内核模块类-pro) obj-m := kset_example.oKERNELBUILD := /lib/modules/$(shell uname -r)/builddefault: $(MAKE) -C $(KERNELBUILD) ... 阅读全文

posted @ 2012-02-12 21:18 YoungerChina 阅读(160) 评论(0) 推荐(0) 编辑

一个通用的Makefile(针对非模块类-pro)

摘要: makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具。 本文提供的Makefile文件主要针对简单的linux平台下的... 阅读全文

posted @ 2012-02-12 20:33 YoungerChina 阅读(233) 评论(0) 推荐(0) 编辑

架构设计:生产者/消费者模式

摘要: 架构设计:生产者/消费者模式 一:概述 今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。由于该模式很重要,打算分几个帖子来介绍。今天这个帖子先来扫盲一把。如果你对这个模式已经比较了解,请跳过本扫盲帖,直接看下一个帖子(关于该模式的具体应用)。 看到这里,可能有同学心... 阅读全文

posted @ 2012-02-12 19:59 YoungerChina 阅读(340) 评论(0) 推荐(0) 编辑

2012年1月16日

B-tree(B树)介绍

摘要: 当查找的文件较大,且存放在磁盘等直接存取设备中时,为了减少查找过程中对磁盘的读写次数,提高查找效率,基于直接存取设备的读写操作以"页"为单位的特征。 1972年R.Bayer和E.M.McCreight提出了一种称之为B-树的多路平衡查找树。它适合在磁盘等... 阅读全文

posted @ 2012-01-16 23:17 YoungerChina 阅读(498) 评论(0) 推荐(0) 编辑

2012年1月15日

文件系统特性 - COW事务

摘要: 理解 COW 事务,必须首先理解 COW 和事务这两个术语。 一、事务与COW 什么事务? 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的... 阅读全文

posted @ 2012-01-15 20:37 YoungerChina 阅读(988) 评论(0) 推荐(0) 编辑

2012年1月14日

strlen问题

摘要: 最近遇到一个strlen问题。 程序代码如下: #include #include int main(int argc, char *argv[]){ int i; char a[1] = {'c'}; for (i = 0; i #include int mai... 阅读全文

posted @ 2012-01-14 22:49 YoungerChina 阅读(266) 评论(0) 推荐(0) 编辑

2012年1月11日

file_operations数据结构分析

摘要: 一、引言 struct file代表一个打开的文件,在执行file_operation中的open操作时被创建,这里需要注意的是与用户空间inode指针的区别,一个在内核,而file指针在用户空间,由c库来定义。 file结构体是文件系统的主要数据结构,每个fi... 阅读全文

posted @ 2012-01-11 21:14 YoungerChina 阅读(805) 评论(0) 推荐(0) 编辑

2012年1月5日

完成量基础知识 ( completion )

摘要: 完成量机制是基于等待队列的,内核使用该机制等待某一操作的完成。其有两个参与者:一是等待某操作完成;另一是在操作完成时发出声明。当然可以有“任意数目”个进程等待操作完成。 完成量的数据描述如下: struct completion { unsigned int ... 阅读全文

posted @ 2012-01-05 23:06 YoungerChina 阅读(2308) 评论(0) 推荐(1) 编辑

linux内核中等待队列 (函数wait_event与wake_up)

摘要: 根据内核3.1.6版本源码、书籍和网上资料,对几个函数进行分析 介绍这几个函数,不得不先介绍等待队列wait_queue_head_t与完成量completion。 等待队列用于使得进程等待某一特定事件的发生,无需频繁的轮询,进程在等待周期中睡眠,当时... 阅读全文

posted @ 2012-01-05 00:03 YoungerChina 阅读(3840) 评论(0) 推荐(0) 编辑

导航