汇编语言中在指定地址处声明内存如何申明?_内存管理 内存管理概述

目录


存储器的认识

存储器的发展方向是高速、大容量和小体积,即存储器尝试更高读写速度更大存储容量更小物理体积

在计算机中,常见的存储器有:寄存器缓存内存硬盘,一般硬盘之类的辅助存储器又称外存

在读写速度上,一般有:寄存器>缓存>内存>外存

在单位容量价格上,有:外存<内存<缓存<寄存器

处理器只能直接访问内存,而不能访问外存,一般情况内存相对外存在容量上是相当稀缺的,如果由程序员或者用户去指定内存如何使用,极其容易引起内存分配的混乱和浪费,因此操作系统必要的内存管理是至关重要的。

89eda1090e699117cc3954a82d356ae9.png

内存的功能

内存空间的分配和回收

由操作系统完成存储空间的分配和管理,让程序员摆脱存储分配的麻烦,提高编程效率,使用了诸多的数据结构和高效算法。

逻辑地址与物理地址的转换

往往程序中使用的是逻辑地址,因为程序在内存的起始地址在未分配空间之前是未知的,由此需要操作系统实现逻辑与物理地址的转换

内存空间的扩充

内存空间是稀缺的,但由于程序中使用的是逻辑地址,故可用虚拟存储技术在逻辑上,扩充内存的容量

存储保护

多个进程在内存中运行,必须保证相互之间不能发生冲突,相互干扰,相互破坏。而用户进程也不能超越限制对操作系统软件的内存空间进行肆意更改


内存保护的两类可行方法

内存保护的关键在于检查进程是否有内存地址越界行为。

上下限寄存器

在CPU中设置上下限寄存器,用于分别存放作业在主存中的上限和下限地址,当CPU要访问地址时,与这两个寄存器的值进行比较即可判断是否越界,适合逻辑地址即对应相应物理地址的情形(如物理地址与逻辑地址事先就确定只差一个固定的偏移量)

界地址寄存器

界地址寄存器存有进程的最大逻辑地址(通过分配内存后由起始物理地址与分配空间大小计算得出),可通过逻辑地址是否大于该界地址寄存器的值比较是否发生越界,若不越界,加上重定位寄存器(存有进程的起始物理地址)的值即为物理地址。


程序从外存调入内存的细节

程序从外存到内存,实现了外存中作业到内存中进程的转变,大体经过编译链接装入三大过程。

编译

编译过程主要有编译汇编两个阶段。编译阶段主要将高级语言转换为汇编语言,汇编阶段主要将汇编语言翻译成机器语言。

链接

由链接程序将编译后形成的目标模块以及所需要的库函数链接在一起,形成一个完整的装入模块。链接主要在编译时加载时运行时进行。

装入

由装入程序将装入模块装入内存运行,此时会创建对应进程。装入分为静态重定位动态重定位。涉及的主要问题是程序中的逻辑地址与实际内存的物理地址之间如何映射。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值