标签:inf 行修改 内存 完整 物理地址 src 修改 模块 上下限
一个字符就是一个字节,也就是8位。
每一个进程有PCB,程序段和数据段,程序的代码会被翻译成指令,CPU会根据指令的要求去找相应的物理地址,然后进行计算。
编译生成的是逻辑地址。
相对地址---->逻辑地址,绝对地址---->物理地址
编译:先编译成若干个目标模块,然后链接,形成完整的装入模块,然后由装入程序装入内存。
链接:静态链接(先连接好),装入时动态链接(装入的时候动态依次链接),运行时动态链接(当程序执行过程中需要目标模块的时候才进行链接,便于修改和更新,实现对模块的共享)。
装入方式:
绝对装入:
只适用于单道程序,只有一道程序,所以可以确定程序装入位置。编译的时候产生最后的装入位置。
:一次性装入内存,当内存空闲地址不够的时候不能装入内存中。当装入之后就不能进行修改,也不能再申请空间。初始地址为80,同意进行+100操作,这样进行静态重定位。
:(分页存储和分段存储那里细讲)就是采用重定位寄存器,将地址转化推迟到真正执行的时候才进行物理地址的转化。动态重定位可以允许程序在内存中的移动。
-------------------------------------------------------《内存的空间分配》-------------------------------------------------
内存空间的分配与回收
虚拟性,操作系统提供某种技术从逻辑上进行对内存空间的扩充。
操作系统提供地址转化功能,负责程序的逻辑地址与物理地址的转化。
操作系统提供内存保护,互不干扰:
1.设计上下限寄存器,存放进程的上下限,用来查看是否越界
2.采用重定位寄存器(基址寄存器),和界地址寄存器(限长寄存器)。界地址存放进程的最大逻辑地址、重定向寄存器存放起始地址,看看80+重定向起始地址是不是超过了界地址寄存器。
覆盖技术:解决程序大小超过内存总和。
标签:inf 行修改 内存 完整 物理地址 src 修改 模块 上下限
原文地址:https://www.cnblogs.com/0123wtdd/p/10936308.html