摘要: 最强大的工具: http://www.google.com http://www.baidu.com 代码相关: google代码搜索:http://www.google.com/codesearch google代码:http://code.google.com 提供项目托管功能 sourceforge开源项目社区:http://www.sourceforge.net linux内核ftp... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(168) 评论(0) 推荐(0)
摘要: mdadm,lvm工具提供强大的动态磁盘管理功能,两者都需要内核md的支持,故使用前需查看内核是否支持md,如果不支持需重新编译内核(最开始用的时候创建RAID设备出错,于是检查内核配置,发现没有multi-device的支持)。本文以创建RAID5为例,讲解mdadm的基本使用方法。 device drivers ---->multi-device suppo(RAID and LVM) <I... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(815) 评论(0) 推荐(0)
摘要: 数据空间技术 ----如何减少程序所需要数据的存储空间的技术 1,不存储,重新计算。 如果我们在需要某一个给定对象的任何时候,都对其进行重新计算而不保存,就可以减少该对象所需的空间。该方法用计算时间换空间,只使用于需要存储的对象可以根据其描述重新计算得到的情况。 2,稀疏数据结构 例1:稀疏矩阵的的存储(很多个0,或其他相同的项)。 例2:使用指针来共享大型对象可以消除存储同一对象的... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(446) 评论(0) 推荐(0)
摘要: 在内核2.4中堆栈是这么定义的:union task_union { struct task_struct task;unsigned long stack[INIT_TASK_SIZE/sizeof(long)]; };而INIT_TASK_SIZE只能是8K。 内核为每个进程分配一个task_struct结构时,实际上分配两个连续的物理页面(8192字节),如图所示。底部用作task_... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(509) 评论(0) 推荐(0)
摘要: 受人所托,写了个文件监视器小程序,总共300+行,实现对指定文件的监视功能,当文件新增,删除,或被修改,程序予以记录并报告。 实现是通过不断扫描指定的文件,通过比较两次扫描的状态来判断文件的变化。文件状态数据结构:/* filestat struct for monitoring */typedef struct filestat{ char f_name[FNAME_MAX]; struct s... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(331) 评论(0) 推荐(0)
摘要: Ext2设计思想: Ext2 features 1, 支持4TB大文件。 2, 支持255字符的文件名,并可扩展到1012字节。 3, 为root用户预留一些块。 Advanced ext2 features 1, 支持多种块大小,1024,2048,4096. 2, 快速的符号链接实现(小于60个字符的连接名时不需要额外分配块)。 3, 追踪文件系统状态,是否为dirty,是否一致等,设置最大... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(249) 评论(0) 推荐(0)
摘要: 关键字 详细说明 分布式文件系统 研究point 1,性能,容量,可用性,安全性,可扩展性,可管理性 2,用户组件与数据管理组件的分离, 3,key:服务客户的响应时间 分布式文件系统应该具有的特性 1,网络透明性:客户端使用访问本地资源的方法访问网络资源 2,容错性:网络错误,主机,存储设备故障发生时,系统仍能正常提供服务(可降级,更慢的响应) 3,可扩展性:系统规模扩大时... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(405) 评论(0) 推荐(0)
摘要: ONC RPC(Open Network Computing Remote Procedure Call)是一个由Sun Microsystem公司开发的开源的RPC框架。它是用于UNIX系统的RPC事实标准。ONC RPC已经被证明是一项高性能的技术。包括Solaris,AIX,HP UX,Linux等在内的大多数UNIX平台都支持RPC服务。在传统的编程概念中,过程是由程序员在本地编译完成,并只能局限在本地运行的一段代码,即其主程序和过程之间的运行关系是本地调用关系,这种结构在网络日益发展的今天已无法适应实际需求。众所周知,传统过程调用模式无法充分利用网络上其他主机的资源(如CPU、Mem 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(3250) 评论(1) 推荐(1)
摘要: 一直弄不清楚的IOZONE请求大小终于清楚了,原来IOzone中的记录大小是由其应用层划分的,最简单的情形是多个for循环read。 文件系统的读写速率与读写的文件大小是没有多大关系的,在写的时候可能大文件的在写元数据及数据组织方面比小文件的开销要大,所以写效率随测试文件大小的增加会有小幅度的下降。关键影响文件系统效率的其实是上层的请求大小,大的文件在应用层分为多个请求,请求的大小由应用程序决定... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(835) 评论(1) 推荐(0)
摘要: 一、编译和连接一般来说,如果库的头文件不在 /usr/include 目录中,那么在编译的时候需要用 -I 参数指定其路径。由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,所以即使使用同一个库,由于库的路径的不同,造成了用 -I 参数指定的头文件的路径也可能不同,其结果就是造成了编译命令界面的不统一。如果使用-L 参数,也会造成连接界面的不统一。编译和连接界面不统一会为库的使用带来麻烦。为了解决编译和连接界面不统一的问题,人们找到了一些解决办法。其基本思想就是:事先把库的位置信息等保存起来,需要的时候再通过特定的工具将其中有用的信息提取出来供编译和连 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(644) 评论(0) 推荐(0)