20200914——操作系统四

什么是内存?有何作用?

内存是用于存放数据的硬件,程序执行前,需要先放到内存中才能被cpu进行处理。

多道程序中,怎么把那么多程序放在内存中。

所以内存是一个字节一个地址,相当于8位

指令

20200914——操作系统四
先从内存中,取出该数,然后在寄存器进行运算。

我们的代码要翻译成cpu能识别的指令,这些指令会告诉cpu应该去内存哪些地方存/取数据,这个数据应该做什么样的处理。在这个列子中,指令中直接给出了变量x的实际存放地址(物理地址)。但实际在生成机器指令的时候,并不知道该进程的数据会被放到了什么位置,所以编译生成的指令一般是使用的逻辑地址。

逻辑地址 物理地址

20200914——操作系统四

从写程序到程序运行

20200914——操作系统四
编译:高级语言编译成机器语言
连接:由链接程序将编译后形成的一组目标模块,以及所需库函数链接在一起,形成一个完整的装入模块,
装入:由装入程序将装入模块装入内存中运行。

20200914——操作系统四

装入的三种方式

绝对装入

在编译时,如果知道程序放到内存中的哪个位置,编译程序将产生绝对地址的目标代码,装入程序按照装入模块中的地址,将程序和数据装入内存。

20200914——操作系统四

静态重定位

装入时对地址进行重定位,将逻辑地址变换为物理地址。