内存管理概述
内存管理就是操作系统对内存的划分和动态分配。
主要内容如下图所示:
存储器的层次结构
至少包含三级:寄存器——>主存——>辅存
有的包含六层:如下图所示:
其中:
寄存器速度最快,但是价格非常昂贵,所以大小一般以word为单位; 高度缓存是容量大于寄存器,一般从几十KB到几MB,速度快于主存;他主要根据程序执行的局部性原理,将主存中一些经常访问的信息存放到高速缓存中,提高运行速度; 主存的速度低于高速缓存,他主要用于存储进程运行时的程序和数据,一般几十MB到数GB 磁盘缓存的速度慢与主存,主要存储的是频繁使用的一部分磁盘数据 磁盘的存储速度比较慢
程序的执行过程
包括:编译——>链接——>装入
(1)编译:由编译程序将源代码编译成若干个目标模块
(2)链接:由连接程序将编译好的目标模块,以及需要的库函数链接成一个完整的装入模块
链接一共有三种方式:
1.静态链接:运行之前,将各个模块和所需要的库函数链接成一个完整的可执行程序,以后不再分开
2.装入时动态链接:将编译好的模块,边装入边链接
3.运行时动态链接:直到程序执行时,需要这个模块才进行链接
装入:由装入程序将链接好的装入模块装入到内存中。
装入也有三种方式:
1.绝对装入: