内存管理
coo1fish
这个作者很懒,什么都没留下…
展开
-
段式存储管理
一、基本原理 前面介绍的各种存储管理中,供用户使用的逻辑地址都是连续的,用户在编制大型程序时就会感到不方便。一个实际的程序往往是由若干段组成的,例如一个主程序段、若干子程序段、若干数据段和工作区段组成,如图3.22所示。每个段都具有完整的逻辑意义,因此都可以独立编程,且给每个段一个段名。用户程序可以用符号形式(段名和入口)调用一个段的功能,如图3.21主程序中“调用[X]段入口E”。转载 2014-12-10 10:10:57 · 13623 阅读 · 0 评论 -
操作系统内存管理
物理内存Linux为了有效使用机器中的物理内存,在系统初始化阶段内存被划分成几个功能区域:其中,Linux内核程序占据在物理内存的开始部分,接下来是供硬盘等块设备使用的高速缓冲区部分(其中要扣除显卡内存和ROM BIOS所占用的内存地址范围)当一个进程需要读取块设备中的数据时,系统会首先把数据读到高速缓冲区中。当有数据需要写到块设备上去时,系统也是先将数据放到高转载 2015-03-03 16:44:03 · 592 阅读 · 0 评论 -
操作系统对内存的管理
简介 内存是计算机中最重要的资源之一,通常情况下,物理内存无法容纳下所有的进程。虽然物理内存的增长现在达到了N个GB,但比物理内存增长还快的是程序,所以无论物理内存如何增长,都赶不上程序增长的速度,所以操作系统如何有效的管理内存便显得尤为重要。本文讲述操作系统对于内存的管理的过去和现在,以及一些页替换的算法的介绍。对于进程的简单介绍 在开始之前,首先从操作系统的角度简单介绍转载 2015-03-03 16:24:58 · 563 阅读 · 0 评论 -
Linux 2.x 内核对内存的管理
其着重点在于分页,用分页的机制把进程间的虚拟地址分隔开来。每个进程都有一套页表,整个系统有一张GDT表(此机制由逻辑地址到线性地址变换,实际上是走了个形式,变换前后地址不变)每个进程都有一套页表用于从线性地址到物理地址的映射变换。这样,每个进程都有一个4GB的逻辑空间。(两进程的逻辑地址相同,但它们有不同的页表,故最终会映射到不同的物理位置)实际上,此机制的地址翻译转载 2015-03-03 16:45:18 · 560 阅读 · 0 评论 -
Linux 0.12 内核对内存的管理
其着重点在于分段,用分段的机制把进程间的虚拟地址分隔开。每个进程都有一张段表LDT,整个系统有一张GDT表,且整个系统只有一个总页表。 其地址翻译过程为:程序中给出的32位地址(实际上被看做段内偏移地址),再根据代码段寄存器CS中的16位段选择子,可在GDT或LDT中查找相应的段描述符。从段描述符中提取段的基地址,与程序给出的32位地址相加,得到转载 2015-03-03 16:50:19 · 857 阅读 · 0 评论