操作系统——内存管理基本概念
内存的概念
内存是用来存放数据的硬件。由于磁盘的速度相对来说比较慢,如果直接让cpu和磁盘交互的话,cpu会有很长时间的等待期,所以要引进速度相对较快的内存。
在访问内存的过程中需要向内存空间进行编址,这cpu才能准确的访问到内存中的数据
内存可以通过字节编址也可以通过字编址,通过字节编址的意思就是每个字节空间(8bit)就对其进行编号,按字编址是根据计算机的字长来进行编址,如32位字长的计算机就是每个32个bit也就是4个字节对空间进行一次编号,
进程的运行原理——指令
计算机中进程的运行本质上是在读取一个一个的指令,而每个程序又指令段和数据段组成,将数据段和指令段放在内存中,cpu在读取第一个指令的内容,指令由操作码和地址码码组成,操作码表示了这条指令应该对应的操作(加法,乘法等),地址码存储对应数据的内存地址,而这个内存地址并不是数据的实际位置,因为在内存中数据段并不是固定分配的,所以地址码存储的是相对地址,这个相对地址有多种装入方式。
程序在执行之前需要有“编译”“链接”“装入”的过程,最终才能进入内存中。
装入方式
绝对装入
在编译时,如果知道程序放在哪个位置,编译程序将产生绝对地址的目标代码,装入程序按照装入模块中的地址,将程序和数据装入内存
静态重定位(可重定位装入)
编译、连接后的装入模块的地址都是从0开始的
动态重定位
链接方式
静态链接
全部链接成一个完整的可执行文件在进行装入
装入时的动态链接
一边装入一边链接
运行时动态链接
运行时才放入内存
总结
内存保护
进程只能访问进程自己的内存空间
方法一:
方法二:
内存扩充技术
覆盖技术
交换技术
调度方案中的中级调度就是实现交换技术的调度方式,本质上就是把进程改为挂起态。
这里的连续分配方式和缺页是后面章节的内容。