- 博客(5)
- 资源 (6)
- 收藏
- 关注
转载 Linux内存管理图解
一、逻辑地址转线性地址 机器语言指令中出现的内存地址,都是逻辑地址,需要转换成线性地址,再经过MMU(CPU中的内存管理单元)转换成物理地址才能够被访问到。我们写个最简单的hello world程序,用gccs编译,再反编译后会看到以下指令:mov 0x80495b0, %eax这里的内存地址0x80495b0 就是一个逻辑地址,必须加上隐含的DS 数据段的基地址,
2012-05-16 14:19:41 1046
原创 数据读写SD卡下半部分析
接上一篇文章 read 系统调用剖析 在上一文中,作者已经将Read 整个调用过程从Linux 系统调用(SCI,system call interface)至IO调度的整个流程已经讲解的非常清晰明了,在此对作者表示致敬!那这里我接着以Android SD卡为例子,分析IO调度后数据的处理流向! 本文代码基于linux kernel 3.0.4.1. mmcqd mmcqd
2012-05-13 21:43:50 10707 2
转载 read 系统调用剖析
简介: 大部分程序员可能会有这样的疑问:当在程序中调用库函数 read 时,这个请求是经过哪些处理最终到达磁盘的呢,数据又是怎么被拷贝到用户缓存区的呢?本文介绍了从 read 系统调用发出到结束处理的全过程。该过程包括两个部分:用户空间的处理、核心空间的处理。用户空间处理部分是系统调用从用户态切到核心态的过程。核心空间处理部分则是 read 系统调用在 linux 内核中处理的整个过程。Rea
2012-05-12 17:02:57 2221 1
转载 Linux IO子系统和文件系统读写流程
我们所有分析的,是基于2.6.32及其后的内核.我们在Linux上总是要保存数据,数据要么保存在文件系统里(如ext3),要么就保存在裸设备里。我们在使用这些数据的时候都是通过文件这个抽象来访问的,操作系统会把我们需要的数据提交给我们,而我们则无需和块设备打交道。从下图,我们可以清除的看到:I/O子系统是个层次很深的系统,数据请求从用户空间最
2012-05-12 16:52:34 916
转载 blktrace 深度了解linux系统的IO运作
我们在Linux上总是要保存数据的,数据要么保存在文件系统里(如ext3),要么就在裸设备里面。我们在使用这些数据的时候都是通过文件这个抽象来访问的,操作系统会把我们需要的数据给我们,我们通常无需和块设备打交道。从下图我们可以很清楚的看到:我们会发现IO是个层次很深的子系统,有很复杂的数据流动线路。至于操作系统如何去存储和获取这些数据对我们完全是黑盒子的,这通常不是问题。但是如果我
2012-05-12 16:40:55 1397
C语言案例
2008-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人