2025考研加油!上岸211!|

Franletus

园龄:3年6个月粉丝:0关注:0

《操作系统》内存管理_学前补充知识

内存管理学前补充知识

什么是内存,有什么作用

手机有内存,电脑中也有内存条。内存的作用就是存放数据。程序执行前需要先放到内存中,才能被CPU处理,这是为了缓和CPU和硬盘之间的速度矛盾。多道程序环境下,系统内有多个程序并发运行,也就是有多个程序的数据需要同时放到内存中,如何区分各个程序的数据是放在什么地方呢?方案:给内存的存储单元编地址.

image-20240702211350150

计算机给内存的存储单元编址有两种方式,一种是按字节,一种是按字。1字节=1B=8bit。如果是按字编址的话,字长和计算机有关,要看题目的要求。一个地址可以对应一个存储单元。

数据的数量单位

image-20240702212010645

通过内存的大小,可以推算出,二进制位数是多少。

指令的工作原理

一段程序,通过编译,变成指令序列。指令有操作码和地址码。指令的工作基于“地址”,每个地址对应一个数据的存储单元。

image-20240702212351261

程序编译链接后变成exe文件(装入模块),装入模块的地址是逻辑地址,装入到内存中的实际物理地址(绝对地址)之中。然后在执行这些指令。

image-20240702212624102

3种装入的方式(逻辑地址—>物理地址)

绝对装入

image-20240702213210108

这种方式,换个电脑就不能执行了。灵活性低。

静态重定位

image-20240702213311928

装入的起始物理地址重定位,比如+100。一个作业装入内存的时候,必须分配全部的内存空间而且还是连续的。在运行期间不能进行移动。指令已经写死了。

动态重定位

image-20240702213529511

增加一个重定位寄存器,存放装入模块存放的起始地址。将逻辑地址和存放在重定位寄存器的起始地址进行相加,加出来的结果是最终的地址。

image-20240702213823301

从写程序到程序的运行

image-20240702214010027

链接的三种方式

image-20240702214156712

运行时候动态链接,灵活性高,提升了内存的利用率。

本文作者:Franletus

本文链接:https://www.cnblogs.com/yidianxingyuan/p/18280603

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Franletus  阅读(29)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起