摘要:
fuse内核模块被加载时,以下初始化例程会被调用,见fuse_init函数<inode.c>。
1. fuse_fs_init(); 注册fuse文件系统,创建fuse_inode高速缓存。
2. fuse_dev_init(); 创建fuse_req高速缓存,加载fuse设备驱动,用于用户空间与内核空间交换信息。
3. fuse_sysfs_init(); 在/sys/fs目录下增加fuse节点... 阅读全文
posted @ 2013-04-19 14:10
ydzhang
阅读(1681)
评论(0)
推荐(0)
摘要:
1. read系统调用 测试程序:客户端向服务器端(tcp)发送一个”hello”字符串,服务器端读取并echo到客户端。 服务器端主要代码: char buf[4096]; int r = tcp_readn(sock, buf, 4096); int w = tcp_writen(sock, buf, r); 客户端主要代码: char buf[4096]; int w... 阅读全文
posted @ 2013-04-19 14:10
ydzhang
阅读(339)
评论(0)
推荐(0)
摘要:
花了点时间研究lucene的索引格式,测试的时候我使用的是2.9.3版本的,但由于后来版本的索引相对较复杂,我就学习了下1.4版本的索引格式,主要是参见lucene官方网站上的文档(http://lucene.apache.org/java/1_4_3/fileformats.html)。 1. Lucene中的基本概念 Lucene中基本的概念包括索引,文档,域,和词条。
l 索引(inde... 阅读全文
posted @ 2013-04-19 14:09
ydzhang
阅读(313)
评论(0)
推荐(0)
摘要:
Tair是由淘宝开发的一个key/value存储系统。 参考:http://rdc.taobao.com/blog/cs/?p=302 在数据分配方面,Tair使用了对照表,对照表由于数据路由功能,由配置服务器(configserver负责维护),configserver周期性的初始化各个数据节点的信息,并通过Heartbeat来管理数据节点的状态。对照表通常包含多个slot(应远大于数据... 阅读全文
posted @ 2013-04-19 14:09
ydzhang
阅读(603)
评论(0)
推荐(0)
摘要:
Bitcask来自于riak,是一个日志(log-structured)存储系统。用在riak的分布式数据库的底层key/value的存储。 Bitcask的一些基本特征: 1.
key/value以日志的形式按顺序存储,只能追加(append-only)写入key/value,每次写操作都是顺序写入。当某个key所对应的value发生变化时,新的key/value被追加到文件末尾。 2... 阅读全文
posted @ 2013-04-19 14:09
ydzhang
阅读(1343)
评论(0)
推荐(0)
摘要:
1. 与日志相关字段的初始化
<super.c>
static int parse_options (char *options, struct super_block *sb, unsigned long *inum, unsigned long *journal_devnum, ext3_fsblk_t *n_blocks_count, int is_remount)
{ … ca... 阅读全文
posted @ 2013-04-19 14:09
ydzhang
阅读(740)
评论(0)
推荐(0)
摘要:
日志文件系统的目标是避免对整个文件系统进行耗时的一致性检查,ext3日志文件系统的思想是对文件系统进行的任何高级修改都分两步进行。首先,把待写块的一个副本存放在日志中;其次,当发往日志的I/O数据传送完成时(把数据提交到日志后),待写块就被写入文件系统。当发往文件系统的I/O数据传送终止时(把数据提交到文件系统后),日志中的块的副本就被丢弃。 当从系统故障中恢复时,e2fsck程序区分以下两种情... 阅读全文
posted @ 2013-04-19 14:09
ydzhang
阅读(1880)
评论(0)
推荐(0)
摘要:
HayStack是Fackbook用于存储照片的系统,其存储照片的数量在千亿数量级,本文简要分析HayStack的设计与实现原理。 图片存储的几个关键点: 1.
Metadata信息存储。由于图片数量巨大,单机存放不了所有的Metadata信息,假设每个图片文件的Metadata占用100字节,260
billion图片Metadata占用的空间为260G *
100 = 26000GB。... 阅读全文
posted @ 2013-04-19 14:09
ydzhang
阅读(576)
评论(0)
推荐(0)
摘要:
我是一个学习计算机专业的理想主义者,我的研究兴趣为网络存储与分布式系统,我对很多的优秀软件的设计极为钦佩,我梦想着有一天我自己设计了一个系统,她有着近乎完美的架构、良好的性能和容错性、她能满足用户的一切需求,我和我优秀的同事们一起为实现这个系统编写了一行行优雅的代码,并进行测试和部署。 在实验室,我每天阅读计算机方面的书籍,只要我觉得会对我有帮助的我就会读,因为我觉得,只有打好了坚实的基础,... 阅读全文
posted @ 2013-04-19 14:09
ydzhang
阅读(188)
评论(0)
推荐(0)
摘要:
进程是操作系统运行的基础,本文以比较粗犷的角度闲侃linux进程方面的知识。 用户态的每个进程在内核中对应一个task_struct结构的进程描述符,描述符中包含进程的状态和执行信息、虚拟内存信息、打开文件信息、以及文件文件系统信息,信号相关信息等(进程使用的资源时有限制的,如打开文件数,使用的物理页,文件大小等,其值包含在描述符中task_struct->signal->rlim字段中,也... 阅读全文
posted @ 2013-04-19 14:09
ydzhang
阅读(166)
评论(0)
推荐(0)
浙公网安备 33010602011771号