计算机操作系统(十六):内存(一)
来源王道考研系列视频:
https://www.bilibili.com/video/BV1YE411D7nH
内存是用来存放数据的硬件,程序执行前需要先放到内存中才能被CPU处理。
内存中有一个一个的存储单元,内存地址从0开始,每个地址对应一个存储单元。
如果计算机按字节编址,每个存储单元的大小为1字节,即1B,八个二进制位。
如果字长为16位的计算机按字编址,则每个存储单元的大小为一个字;每个字的大小为16个二进制位。
逻辑地址和物理地址的转换
-
绝对装入
在编译的时候就知道程序该放到内存的哪个位置,编译程序产生绝对地址的目标代码装入程序按照装入模块的地址,将程序和数据装入内存。
-
静态重定位
编译、链接后的装入模块的地址都是从0开始的,指令中使用的地址、数据存放的地址都是相对于起始位置而言的逻辑地址,可根据内存的当前情况,将装入模块放到适当的位置,装入时对地址进行重定位,将逻辑地址变换为物理地址。