自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (10)
  • 收藏
  • 关注

原创 关于页缓存的几点总结

页缓存(Page Cache),是用来保存磁盘中数据的内存页,主要是为了提高系统IO性能而采用的缓存机制。具体来说,页缓存是:1)以页为单位的文件视图2)属于某文件的缓存页以基树形式组织3)可以从文件inode的address_space对象获取树根。叶子节点对应文件页,从左到右排列,根据index(文件内的页索引)在基树中查找4)是否要预读。 页缓存的mpage机制:

2012-10-26 00:17:07 797

原创 不要使用dd测试磁盘性能

dd是LINUX下一个好用的磁盘管理命令,也可以实现对设备的读写。但是,在使得dd时,也有这样几个问题需要考虑:1)dd读操作的缓存区一般是4KB/8KB2)dd读操作是同步读,如果是对块设备进行读,由于不经过文件系统,不过有请求合并。即对一个1MB的读,会有256个4KB的读请求3)先读后写4)同步的读请求在负载重时可能阻塞队列,关闭设备时可能要等一段时间。因为缓存中的数据要

2012-10-26 00:00:45 1622

原创 通过内核inotify机制向内核程序传输命令

/*debug.h*/#ifndef DEBUG_H_#define DEBUG_H_ #define MAX_EPOLL_FD (1024) typedef struct debug_file{ int fd; char *name; int epoll_fd; int inotify_fd;}debug_file_t; #endif

2012-10-25 00:40:23 596

原创 IA-32存储器的地址映射过程

由IA-32架构的内存保护模式和CPU决定了地址映射的过程:逻辑地址->线性地址->物理地址 逻辑地址到线性地址:1. 根据指令性质获取相应类型的段寄存器2. 根据段寄存器中数据在GDTR中获取地址段描述符3. 从地址段描述符中获取地址基址4. (CPU指令决定的)逻辑地址,结合地址基址得到线性地址 线性地址到物理地址:1. 由CR3获取页目录基址2. 由页

2012-10-23 23:45:58 574

原创 linux内核中的特殊用法

__attribute__对于关键字__attribute__,在标准和C语言中是没有的。它是GCC中对C语言的一个扩展用法。可以用来设置一个函数或数据结构定义的属性,对一个函数设置属性的主要目的是使编译器对函数进行可能的优化。可以在同一个定义中,设置多个属性,各个属性用逗号分开即可。如下面的定义就是告诉编译器,它不改变全局变量和该函数不能扩展为内联函数。Int getlim() __

2012-10-23 23:36:59 653

原创 两个可用来计算时间的工具小函数

double timems(struct timeval* start, struct timeval* end){ return ((end->tv_sec - start->tv_sec)*1000.0) + ((end->tv_usec - start->tv_usec)/1000.0);}double timeus(struct timeval* start, struct

2012-10-23 23:18:29 552

原创 打印函数调用栈信息

01. 02.void XXX_debug_print_trace(void) 03.{ 04. int j, nptrs; 05. void *buffer[100]; 06. char **strings; 07. 08. nptrs = backtrace(buffer, 100); 09. 10. strings = bac

2012-10-23 23:11:26 532

原创 通过增加打印日志调试程序

#define TRACE_BUFF_MAX (4096) #define TRACE_TIME_BUFF_MAX (4096) void trace_print(char *format) { time_t now; struct tm *lt; int written; va_list argument; char bu

2012-10-23 22:54:22 574

原创 云计算及其基础架构的理解

一、云计算产生的背景1. 海量用户带来的商机a) 2009年10月,中国宽带用户数突破1亿b) 2009年9月,中国移动互联网用户1.92亿2. 海量信息的处理带来技术的挑战a) 2009年,人类产生的数据约988EB海量互联网用户带来新的商机,以及海量信息处理带来的技术挑战催生了云计算。二、云计算是什么商业视角:云计算=信息电厂从传统模式到云计算模式,

2012-10-21 15:35:20 1640

原创 htc one x解锁与ROOT,亲难可行

一键永久ROOT权限:方法1具体步骤:官方解锁打开手机usb调试模式解压附件,双击运行批处理install-root.bat附件下载:http://dl.vmall.com/c0jahk0dkbhttp://www.qdppc.com/forum.php?mod=viewthread&tid=114736&fromuid=647994 解锁,试验了很多一键解锁都

2012-10-14 02:20:05 604

文件读取详解

关于文件整个读流程的分析,从文件系统、page cache,再到通用块层、块驱动层等的详尽分析,描述了在此过程中的整个函数栈,有很强的参考价值。

2011-11-18

flashcache的实现问题

描述了由facebook开发的开源软件flashcache,它采用device mapper机制实现,作为一个通用的cache被设计。高清pdf文档,请收藏。

2011-10-27

iscsi target的用户态实现

一个关于iscsi target的开源实现,是在用户态完成的。可以作为初学者的参考

2011-07-20

linux设备驱动程序第三版(PDF)

是想深入学习LINUX的人应该深入研究的一本书,PDF格式,相当清晰,推荐

2009-04-01

c++ 精华区(收藏整理版)

这是一本关于C++的书,对各种相关资源进行链接整合,是收藏过程中觉得很有用的一本书,推荐

2009-03-27

Microsoft编写优质无错C程序秘诀

是关于如何编写优质C代码的,可以使你更高效的编写完整的C程序

2009-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除