操作系统内存管理学前补充知识
目录什么是内存,有什么作用
手机有内存,电脑中也有内存条。内存的作用就是存放数据。程序执行前需要先放到内存中,才能被CPU处理,这是为了缓和CPU和硬盘之间的速度矛盾。多道程序环境下,系统内有多个程序并发运行,也就是有多个程序的数据需要同时放到内存中,如何区分各个程序的数据是放在什么地方呢?方案:给内存的存储单元编地址.
计算机给内存的存储单元编址有两种方式,一种是按字节,一种是按字。1字节=1B=8bit。如果是按字编址的话,字长和计算机有关,要看题目的要求。一个地址可以对应一个存储单元。
数据的数量单位
通过内存的大小,可以推算出,二进制位数是多少。
指令的工作原理
一段程序,通过编译,变成指令序列。指令有操作码和地址码。指令的工作基于“地址”,每个地址对应一个数据的存储单元。
程序编译链接后变成exe文件(装入模块),装入模块的地址是逻辑地址,装入到内存中的实际物理地址(绝对地址)之中。然后在执行这些指令。
3种装入的方式(逻辑地址—>物理地址)
绝对装入
这种方式,换个电脑就不能执行了。灵活性低。
静态重定位
装入的起始物理地址重定位,比如+100。一个作业装入内存的时候,必须分配全部的内存空间而且还是连续的。在运行期间不能进行移动。指令已经写死了。
动态重定位
增加一个重定位寄存器,存放装入模块存放的起始地址。将逻辑地址和存放在重定位寄存器的起始地址进行相加,加出来的结果是最终的地址。
从写程序到程序的运行
链接的三种方式
运行时候动态链接,灵活性高,提升了内存的利用率。
标签:操作系统,装入,管理学,程序,物理地址,地址,指令,内存 From: https://www.cnblogs.com/yidianxingyuan/p/18280603