专业网站建设哪里有,网站建设标准依据,怎么下载ppt免费模板,贵州快速整站优化存储单元
内存的几个基本概念
存储单元
内存地址从0开始#xff0c;每个地址对应一个存储单元 存储单元大小根据计算机按照什么方式编址
按字节编址 则每个存储单元大小为一字节#xff0c;即1B#xff0c;即8个二进制位按字编址 看这个计算的字长是多少位#xff0c;如…存储单元
内存的几个基本概念
存储单元
内存地址从0开始每个地址对应一个存储单元 存储单元大小根据计算机按照什么方式编址
按字节编址 则每个存储单元大小为一字节即1B即8个二进制位按字编址 看这个计算的字长是多少位如果是字长16位的则每个存储单元大小为一个字每个字的大小是16个二进制位2字节
从写程序到程序运行
编译 由编译程序将用户源代码编译成若干个目标模块编译就是把高级语言翻译成机器语言链接 由链接程序将编译后形成的一组目标模块以及所需库函数链接在一起形成一个完整的装入模块有逻辑地址装入装载 由装入程序将装入模块装入内存运行将数据、程序放到内存的指定地址中以便于后面cpu能根据地址找到
内存的三种装入方式
绝对装入
如果在编译时如果知道程序将放到内存中的哪个位置编译程序将产生绝对地址的目标代码装入程序按照装入模块中的地址将程序喝数据装入内存。 缺点 适用于以前的单道程序环境
静态重定位
编译、链接后的装入模块的地址都是从0开始的指令中使用的地址、数据存放的地址都是相对于起始地址0而言的逻辑地址。可根据内存的当前情况即哪里有空闲地址将装入模块装入到内存适当位置。装入时对地址进行“重定位” 将逻辑地址变换位物理地址地址的变换是在装入时一次完成的 动态重定位方式
动态重定位又称动态运行时装入。编译、链接后的装入模块的地址都是从0开始的逻辑地址。装入程序把装入模块装入内存后装入程序会存放一个初始位置重定位寄存器会记住这个位置并不会立即把逻辑地址转换为物理地址 而是 把地址转换推迟到程序真正要执行时才会进行。因此装入内存后所有的地址依然时逻辑地址。这种方式需要一个重定位寄存器的支持
运行过程
例如一个程序装入内存中内部的指令地址都是逻辑地址是从0开始的。比如一个指令是
将地址为80逻辑地址的存储单元写入1那么当cpu要执行这个指令的时候cpu会根
据重定位寄存器上显示该程序的起始位置比如100物理地址加上逻辑地址就是
这个指令真正在内存中存在的地址优点 1.允许程序在内存中发生移动只需将重定位寄存器更新该程序新的起始位置即可 2.并且可将程序分配到不连续的存储区中在程序运行前只需装入它的部分代码即可投入允许然后在程序运行期间根据需要动态申请分配内容便于程序段的共享
链接的三种方式 课后思维导图总结
内存保护
方法一 在CPU中设置一对上、下限寄存器存放进程的上下限地址。进程的指令要访问某个地址时CPU检查是否越界
方法二 采用重定位寄存器和界地址寄存器。界地址寄存器中存放的时进程的最大逻辑地址重定位寄存器中存放的是进程的起始物理地址 课后思维导图总结
覆盖与交换
覆盖技术 交换技术
交换技术的设计思想 内存空间紧张时系统将内存中某些进程暂时换出外存把外存中某些已具备运行条件的进程换入内存进程在内存与磁盘间动态调度 课后思维导图总结