LINUX
文章平均质量分 79
Damon_X
这个作者很懒,什么都没留下…
展开
-
Linux C/C++调试之三:性能分析工具callgrind的使用
callgrind是valgrind工具套件中用于分析程序性能的一个工具,它能够得到粒度为函数、代码行和指令级别的性能数据,具体来说,我们可以得到某个函数、某行代码、某条指令处累计执行了多少条指令。我们看一个实例:// foo.cppint accumulate(int begin, int end){ int result = 0; for (int i = begin; i < end; i++) { result += i; }}...转载 2021-08-05 10:59:58 · 1023 阅读 · 0 评论 -
认真分析mmap:是什么 为什么 怎么用
mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现了文件磁盘地址和进程虚拟地址的映射关系。实现映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到对应的文件磁盘上,即完成了对文件的操作而不必再调用read,write等系统调用函数。相反,内核空间对这段区域的修改也直接反映用户空间,从而可以实现不同进程间的文件共享。如下图所示:由上图可以看出,进程的虚拟地址空间,由多个虚拟内存区域构成。虚拟内存区域是进程的虚拟地址.转载 2021-06-23 10:55:29 · 270 阅读 · 0 评论 -
linux文件系统(基础概念)
文件系统:统一用户使用的各种文件的管理机制,构筑用户文件和底层硬盘的中间接口,使我们读写数据文件时不必去关心实际存放的block。---全文来源于互联网笔记,非原创。硬盘分区分区结构整个分区大概会这样划分:inode table主要记录文件的属性以及该文件实际数据是放置在哪些block中,它记录的信息至少有这些: 大小、真正内容的block号码(一个或多个) 访问模式(read/write/excute) 拥有者与群组(owner/group) 各种...转载 2021-04-06 14:36:47 · 271 阅读 · 0 评论