代码改变世界

随笔档案-2011年08月

linux直接I/O简单介绍

2011-08-28 11:51 by 后端技术, 488 阅读, 收藏,
摘要: 1. 缓冲I/O与直接I/O什么是缓存 I/O (Buffered I/O) 缓存 I/O 又被称作标准 I/O,大多数文件系统的默认 I/O 操作都是缓存 I/O。在 Linux 的缓存 I/O 机制中,操作系统会将 I/O 的数据缓存在文件系统的页缓存( page cache )中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。缓存 I/O 有以下这些优点:缓存 I/O 使用了操作系统内核缓冲区,在一定程度上分离了应用程序空间和实际的物理设备。 缓存 I/O 可以减少读盘的次数,从而提高性能。当应用程序尝试读取某块数据的时候,如果 阅读全文

Linux内存管理浅谈

2011-08-21 23:04 by 后端技术, 1359 阅读, 收藏,
摘要: linux内存管理还是比较复杂的,其中牵扯到很多方面的知识,这篇小博文算是自己对于内存管理的一点点的总结。 阅读全文

volatile的作用

2011-08-14 22:45 by 后端技术, 342 阅读, 收藏,
摘要: volatile修饰符的简要说明 阅读全文

gprof的使用说明

2011-08-14 18:01 by 后端技术, 1418 阅读, 收藏,
摘要: 1. 什么是gprof gprof是GNU profiler工具。可以显示程序运行的“flat profile”,包括每个函数的调用次数,每个函数消耗的处理器时间。也可以显示“调用图”,包括函数的调用关系,每个函数调用花费了多少时间。还可以显示“注释的源代码”,是程序源代码的一个复本,标记有程序中每行代码的执行次数。2.如何使用gprof在编译或链接源程序的时候在编译器的命令行参数中加入“-pg”选项,编译时编译器会自动在目标代码中插入用于性能测试的代码片断,这些代码在程序在运行时采集并记录函数的调用关系和调用次数,以及采集并记录函数自身执行时间和子函数的调用时间,程序运行结束后,会在程序退出 阅读全文

cppcheck的简单介绍

2011-08-13 19:12 by 后端技术, 11165 阅读, 收藏,
摘要: cppcheck用法的简要说明 阅读全文

core dump小总结

2011-08-02 14:10 by 后端技术, 777 阅读, 收藏,
摘要: 一、 core dump简介当程序因为异常终止(崩溃)时,操作系统会一个程序在特定时间内进程中运行信息的状态dump出来。一般会产生一个core文件,用于记录包括程序计数器,堆栈信息及其他信息,core文件主要用于记录程序crash的现场信息,为程序调试程序提供了物证。core dump时会产生诸如core.pid的文件。二、 core产生的原因 core文件产生的原因非常多,可能因为硬件故障,更有可能因为程序中的错误,比较普遍的有:内存访问越界,无效指针,堆栈溢出等。当然还有其他的原因,这里就不追究全面了。三、 控制core文件 有时候程序down了, 但是core文件却没有生成。core文 阅读全文