操作系统的内存管理

 

Posted by     DH on September 16, 2017

内存管理概述

内存管理就是操作系统对内存的划分和动态分配。

主要内容如下图所示:

存储器的层次结构

至少包含三级:寄存器——>主存——>辅存

有的包含六层:如下图所示:

其中:

寄存器速度最快,但是价格非常昂贵,所以大小一般以word为单位; 高度缓存是容量大于寄存器,一般从几十KB到几MB,速度快于主存;他主要根据程序执行的局部性原理,将主存中一些经常访问的信息存放到高速缓存中,提高运行速度; 主存的速度低于高速缓存,他主要用于存储进程运行时的程序和数据,一般几十MB到数GB 磁盘缓存的速度慢与主存,主要存储的是频繁使用的一部分磁盘数据 磁盘的存储速度比较慢

程序的执行过程

包括:编译——>链接——>装入

(1)编译:由编译程序将源代码编译成若干个目标模块

(2)链接:由连接程序将编译好的目标模块,以及需要的库函数链接成一个完整的装入模块

链接一共有三种方式:

1.静态链接:运行之前,将各个模块和所需要的库函数链接成一个完整的可执行程序,以后不再分开

2.装入时动态链接:将编译好的模块,边装入边链接

3.运行时动态链接:直到程序执行时,需要这个模块才进行链接

装入:由装入程序将链接好的装入模块装入到内存中。

装入也有三种方式:

1.绝对装入: