摘要: 函数库分为静态库和动态库两种 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。 示例代码: 头文件 hello.h #ifndef _HELLO_H#define _HELLO_Hvoid hello(void);#endif 源文件 hello.c... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(160) 评论(0) 推荐(0)
摘要: 端模式(Endian)的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类,从圆头开始将鸡蛋敲开的人被归为Big Endian,从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。在计算机业Big Endian和Litt... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(147) 评论(0) 推荐(0)
摘要: 最近项目中需要在内核态使用RSA加密算法,加密算法对我来说是一篇空白,到网上了解了些,比较好的加密跟认证的库有openssl,crypto++等,但这些库很庞大,而且很多东西因为考虑到复用,而不是单独为实现一个RSA算法而实现,在用户态使用非常方便,只有下载openssl的源码,安装即可调用其实现的加密算库,包括AES,Blowfish,RSA,一系列散列算法MD4,MD5, SHA1等等。由于... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(764) 评论(0) 推荐(0)
摘要: 刚接触存储的时候就了解了下快照技术,当时了解了其大概意思,然后就是做快照的方法,经典的当然是文件系统级的copy-on-write,对于快照的实际意义没有什么认识,最近准备wf老师课堂presentation时,我所学习的论文里用到了快照技术,就深入的了解了一下。 快照技术的提出最初主要用于备份,在以前要备份某个时刻的数据,需采用一种叫分离镜像的方式(远程镜像或是本地镜像),这种方式需要占用一块... 阅读全文
posted @ 2013-04-19 14:04 ydzhang 阅读(460) 评论(0) 推荐(0)
摘要: 关键字 详细说明 分布式文件系统 研究point 1,性能,容量,可用性,安全性,可扩展性,可管理性 2,用户组件与数据管理组件的分离, 3,key:服务客户的响应时间 分布式文件系统应该具有的特性 1,网络透明性:客户端使用访问本地资源的方法访问网络资源 2,容错性:网络错误,主机,存储设备故障发生时,系统仍能正常提供服务(可降级,更慢的响应) 3,可扩展性:系统规模扩大时... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(381) 评论(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 阅读(236) 评论(0) 推荐(0)
摘要: 受人所托,写了个文件监视器小程序,总共300+行,实现对指定文件的监视功能,当文件新增,删除,或被修改,程序予以记录并报告。 实现是通过不断扫描指定的文件,通过比较两次扫描的状态来判断文件的变化。文件状态数据结构:/* filestat struct for monitoring */typedef struct filestat{ char f_name[FNAME_MAX]; struct s... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(314) 评论(0) 推荐(0)
摘要: 虚拟网络VMnet1-VMnet9 VMnet1~VMnet9这9个虚拟网络基本相同,其中VMnet1和VMnet8也有一些特殊,我们可以看到安装VMware以后,在宿主计算机中会多出来VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块网卡,这两块网卡分别和VMnet1、VMnet8虚拟网络连接。这样就保证了宿主计算机... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(265) 评论(0) 推荐(0)
摘要: C语言的参数列表是从右往左被压入堆栈的,假设现在堆栈中有关参数的情况如下: 栈顶-不可变参数1-不可变参数2-....-不可变参数n-可变参数1-可变参数2-......可变参数n-栈低 现在假设我们知道了"可变参数n"的类型,我们还需要知道什么就能得到这个参数?这个参数的地址!那如何得到这个地址?你必须知道前一个的地址和类型!那怎么知道前一个的类型和地址?…一直到最前面那个已经知道了类型和地... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(243) 评论(0) 推荐(1)
摘要: 一直弄不清楚的IOZONE请求大小终于清楚了,原来IOzone中的记录大小是由其应用层划分的,最简单的情形是多个for循环read。 文件系统的读写速率与读写的文件大小是没有多大关系的,在写的时候可能大文件的在写元数据及数据组织方面比小文件的开销要大,所以写效率随测试文件大小的增加会有小幅度的下降。关键影响文件系统效率的其实是上层的请求大小,大的文件在应用层分为多个请求,请求的大小由应用程序决定... 阅读全文
posted @ 2013-04-19 14:03 ydzhang 阅读(773) 评论(1) 推荐(0)