摘要: RPC的xdr(外部数据表示)是为了编码(解码)C语言定义的数据,从而使得RPC传输的数据平台无关性。 xdr对C语言常见的类型编码规则在之前已经说过了,参见http://blog.chinaunix.net/u2/87570/showart_2159266.html,对于说明书test.x定义的定义,最终会被rpcgen翻译成支持C语言支持的类型定义,之后test.x就没有任何作用了。 如在... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(1756) 评论(0) 推荐(0)
摘要: 测试例子: #include <stdio.h>void print(char *arr){printf("%#x %#x %#x\n", &arr, arr, arr[0]);}int main(){char arr[5] = "abcd";printf("%#x %#x %#x\n", &arr, arr, arr[0]);print(arr);return 0;} 输出: ... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(192) 评论(0) 推荐(0)
摘要: 使用HD Tune Pro测试了下磁盘的性能,在老大的帮助下把测试的结果弄清楚了。 1. 裸盘的测试(读) 测试结果显示,磁盘速率不断跳跃式的下降,应该是从磁盘的沿着磁盘外道到内道读取数据,由于外圈的线速度远大于内圈,故在外圈速率也会高些,而不断的跳跃则是出现在磁盘磁盘换道的时刻。快结束的时候出现了一个大幅度的下降,因为测试时系统运行着很多其他的应用程序,应该是受到其他进程的影响才出现的。 ... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(503) 评论(0) 推荐(0)
摘要: 去年寒假,中国移动推出“两城一家”“优惠”活动。口号是两城一家,实惠到家!畅享移动新生活。资费标准如下: 想到我回家后可能会经常接打电话,觉得这项业务办理了很划算,于是就开通了。的确,在家里,“两城一家”给我省了不少钱,还纳闷移动怎么这么傻,一个月2元的功能费,给我省了这么多钱。 直到前些天,一个亲戚问我,怎么跟我打几次电话,话费用得那么快,我才恍然大悟,移动才不傻呢,傻的永远是消费者... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(142) 评论(0) 推荐(0)
摘要: 院里请李德仁院士做讲座,慕名去听了一下,主题是从数字地球到智慧地球,通过这场讲座,我更加深刻的认识到了应用决定一切这个道理了,简要的谈一下我的理解。 第一次听到以应用为核心这个观点是在《计算机系统设计》课堂上,王芳老师提到“上层应用需求决定顶层系统架构”,我对这句话影响很深,联系到我读的一些文章,以及我了解的一些系统实例,无一不符合该观点。windows与linux的设计思想为什么不同,究其本... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(439) 评论(0) 推荐(0)
摘要: 最近实验室搞了一些列讲座,阿福师兄关于文件系统的讲座帮我弄清楚了一些以前不清楚的问题,以问答的形式对文件系统常见的问题进行了总结。 Q: 文件系统如何看待底层物理块设备? Ÿ 文件系统把块设备简单的看做线性的组合,即对文件系统而言,块设备是一系列可以读写的块。文件系统不需要知道这些物理设备的实际布局及如何读写,这些是设备驱动的工作。 Q: 跟文件系统相关的系统调用主要有那些? Ÿ 打开文件o... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(374) 评论(0) 推荐(0)
摘要: SUN RPC是对socket的封装,其底层适用TCP或是UDP协议来传输数据,本文讨论SUN RPC使用的超时和重传策略。 1. 总超时值:一个客户端等待其服务器的应答的总时间量。TCP和UDP都是用该值; 2. 重试超时:只用于UDP, 是一个客户等待其服务器的应答期间每次重传请求的间隔时间; 注:因TCP是可靠的面向连接的协议,有自己的一套机制来保证端到端的传输可靠性,故使用TCP建立的... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(1241) 评论(0) 推荐(0)
摘要: 以前用iozone简单测了下ext3及dnfs的性能,用磁盘测试工具测了一下硬盘的性能。前者在http://blog.chinaunix.net/u2/87570/showart_1944522.html【A】中做了分析;后者在http://blog.chinaunix.net/u2/87570/showart_2191188.html【B】中做了分析。 A中的数据当时让我很吃惊,为什么读写的... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(1096) 评论(0) 推荐(0)
摘要: 为什么需要iSCSI ? 1. 解决了SCSI协议在设备数目和连接距离上的限制; 2. 为SAN提供了一种高性价比的传输协议; 3. 与各种存储管理结合起来,提供灵活的备份、镜像、灾难恢复以及次级存储解决方案; 什么是iSCSI ? iSCSI是由IEETF开发的网络存储标准,目的是为了用IP协议将存储设备连接在一起。通过在IP网上传送SCSI命令和数据,ISCSI推动了数据在网际之间的... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(834) 评论(0) 推荐(0)
摘要: 等待队列是linux里的一个重要数据结构,包括之前分析的fuse中也用到等待队列以实现阻塞IO,等待队列实际上是一个循环链表,需要等待某个条件的进程在相应的等待队列上睡眠,但等待条件变为真时,进程被唤醒。 主要的数据结构在include/linux/wait.h中声明及定义: 等待队列头的结构如下: struct __wait_queue_head { spinlock_t lock; //用于... 阅读全文
posted @ 2013-04-19 14:05 ydzhang 阅读(299) 评论(0) 推荐(0)