操作系统

操作系统——内存管理

     在运行之初,操作系统完成自启动装入程序,完成系统区程序的装入。在这之后,其他程序的装入和调用都通过操作系统所提供的装入程序模块进行调度,其中的装入程序便是学习目标。

一、一般程序的处理

1、由相应的编译程序将源程序模块编译成对应的目标模块。

2、由链接程序将各个模块和所需要的库例程链接在一起整合成装入模块——可执行程序。

3、由装入程序将装入模块装入内存执行。

二、重定位与地址

1、在对源程序进行处理的时候,通常默认初始地址为0,但在装入内存的时候,往往需要对地址进行重新修改,避免发生冲突。这便是重定位。

在装入模块中所声明的地址,并未装入内存中——逻辑地址。

通过实际装入内存的起始地址计算得到、对应实际存放内存单元的地址——绝对地址(物理地址或内存地址)

2、目标模块的链接和装入需要源程序提供必要的支持信息,其中最重要的包括——程序的起始地址、执行起始地址、程序长度以及关于指令与数据的装入地址信息等。

为了详细记录这些信息,可设置一下三种记录类型

①表头记录:包含表头记录标志H、程序和名称、程序的其实地址以及程序的长度

②正文记录:包含正文记录标志字符T、记录长度、机器指令、程序数据以及指令与数据的装入地址信息等。

③结尾记录:用来表明程序的结束并制定程序执行的其实地址,可包含有结尾记录标志符E和起始执行地址。若其中未给出起始执行地址,则装入程序将指示计算机系统从该目标程序装入的其实地址处开始执行。

即目标程序可由1条表头记录、多条正文记录和1条结尾记录构成

三、程序的装入方式和链接方式

你可能感兴趣的:(操作系统)