1.程序执行前需要先放到内存中才能被CPU处理——缓和CPU与硬盘之间的速度矛盾
2.内存管理的功能:
内存空间的分配与回收:操作系统完成主存储器的分配和管理
地址转换:逻辑地址转换为物理地址
内存空间的扩充:利用虚拟存储技术或者自动覆盖技术,从逻辑上扩充内存
存储保护:保护各道作业在各自存储空间运行,互不干扰
3.程序的装入和链接:
创建步骤:(1)编译:编译程序将用户源代码编程成若干目标模块(2)链接:由链接程序将编译后的形成的一组目标模块及所需要的库函数链接在一起,形成一个完整的装入模块(3)装入:由装入程序将装入模块装入内存运行
链接的类型:(1)静态链接:程序运行之前,将库函数连接成一个完整的可执行程序(2)装入时动态链接:将用户源程序编译后得到目标模块,装入内存时,采用边装入边链接的方式(3)运行时动态链接:对于某些目标模块的链接,程序需要时才会对其链接。便于修改和更新,便于实现对目标模块的共享
装入模式:
绝对装入:装入时按照实际的内存地址,将程序和数据装入内存。优点是不需要对程序和程序的地址进行修改。缺点是只适用于单道程序环境
可重定位装入(静态重定位):此时采用的是模块与模块的相对地址,然后将程序装入内存。装入时对目标程序中指令和数据的修改过程称为重定位,地址变换通常是在装入时一次完成的,又被称为静态重定位。特点:作业装入必须要一次性全部装入,并且运行中作业不能再内存中移动,也不能申请内存空间。
动态运行时装入(动态重定位):装入程序把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,当程序真正执行时才转换。特点是需要重定位寄存器,可以将程序分配到不连续的存储区中,便于程序段的共享,可以向用户提供更大的地址空间(地址空间大于存储空间)
4.逻辑地址空间与物理地址空间:
逻辑地址空间:即相对地址,链接程序依次按照各个模块的相对地址构成统一的从0号单元开始编址的逻辑地址空间
物理地址空间:内存中物理单元的集合,是地址转换的最重地址,进程在运行时执行指令和访问数据,最后都要通过物理地址从主存中获取。地址重定位:逻辑地址转换成物理地址的过程
5.内存保护:
CPU中设置上、下限寄存器,存放用户作业在主存中的下限和上限地址,每当CPU要访问一个地址时,分别和两个寄存器的数据比较,判断时否越界
重定位寄存器(基址寄存器)和界地址寄存器(限长寄存器):重定位寄存器中包含最小物理地址值,界地址寄存器包含逻辑地址的最大值。
地址转换过程:逻辑地址->界地址寄存器->重定位寄存器->物理地址








网友评论