在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它...
分类:
其他好文 时间:
2014-09-22 23:43:33
阅读次数:
198
buffer ---- flush()buffer是一个内存地址空间,Linux系统默认大小一般为4096(1kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的 设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。这里说一个通俗一点的例子,你打开文本编辑器编辑一...
分类:
其他好文 时间:
2014-09-17 20:06:02
阅读次数:
199
MMU是内存管理单元,该单元通常是属于处理器的硬件,用于从虚拟地址到物理地址的映射。在典型的二级页表内存管理的系统中,映射过程为:系统为MMU依次准备好页目录表地址,页表地质,MMU通过虚拟地址的各个段作为索引寻找到物理页面地址,与页内偏移地址一起构成最终物理地址。
从上可见,从MMU映射获得最终数据,需要访问三次内存(页目录表,页表,取数据),在分页级别更高的系统中,访问一次数据要更多的内...
分类:
其他好文 时间:
2014-09-09 18:24:39
阅读次数:
242
本篇文章是对php缓冲output_buffering进行了详细的分析介绍,需要的朋友参考下 buffer buffer是一个内存地址空间,Linux系统默认大小一般为4096(4kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的...
分类:
Web程序 时间:
2014-08-24 11:47:04
阅读次数:
234
(1)最佳置换算法(OPT) :选择以后不再使用或在最长时间内不再被访问的内存页面予以淘汰。OPTimal replacement(2)先进先出置换算法(FIFO):选择最先进入内存的页面予以淘汰。(3)最久未使用淘汰算法(LRU):选择在最近一段时间内最久没有使用过的页,把它淘汰。least re...
分类:
其他好文 时间:
2014-08-17 16:51:42
阅读次数:
207
命令介绍:
Linux支持虚拟内存,虚拟内存是指使用磁盘当作RAM的扩展,这样可用的内存的大小就相应地增大了。内核会将暂时不用的内存块的内容写到硬盘上,这样一来,这块内存就可用于其它目的。当然,读写硬盘要比直接使用真实内存慢得多(要慢数千倍),所以程序就不会象一直在内存中运行的那样快。用作虚拟内存的硬盘部分被称为交换空间。Linux系统常常动不动就使用交换空间,以保持尽可能多的空闲物理内存。即使并没有什么事情需要内存,Linux也会交换出暂时不用的内存页面。这可以避免等待交换所需的时间:当磁盘闲着,就可以提...
分类:
其他好文 时间:
2014-08-15 01:34:07
阅读次数:
272
sbrk() 和 brk() - Unix的系统函数 sbrk()和brk() 系统的底层会维护一个位置,通过位置的移动完成内存的分配和回收。映射内存时 以一个内存页作为基本单位。 void* sbrk(int increment) 参数是增量 增量为正数时,分配内存 增量为负数时,回收内存 增量为...
分类:
其他好文 时间:
2014-08-01 13:04:01
阅读次数:
170
内核线程是直接由内核本身启动的进程。内核线程实际上是将内核函数委托给独立的进程,与系统中其他进程“并行”执行(实际上,也并行于内核自身的执行),内核线程经常被称为内核“守护进程”。它们主要用于执行下列任务:l 周期性地将修改的内存页与页来源块设备同步。l 如果内存页很少使用,则写入交换区。l 管理延...
分类:
系统相关 时间:
2014-07-24 21:34:22
阅读次数:
263
虚拟地址空间 与 物理地址空间的关系
虚拟地址由操作系统维护,由MMU可以进行转换,扩大了内存空间分页管理。
大多数使用虚拟存储器的系统都使用一种称为分页(paging)机制。
虚拟地址空间划分成称为页(page)的单位,而相应的物理地址空间也被进行划分,单位是页帧(frame),一个在磁盘,一个在内存,页和页桢的大小必须相同。在32位地址的机器,它的虚拟地址范围从0~0xF...
分类:
其他好文 时间:
2014-07-12 23:39:46
阅读次数:
257
在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space)。
1 32位虚拟内存布局
在32位模式下虚拟地址空间总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它自己的页表,但是还有一个隐情。只要虚拟地址被使用,那么它就会...
分类:
其他好文 时间:
2014-07-05 23:59:37
阅读次数:
399