存储管理的功能
内存分配、回收
存储保护 确保每道用户进程都在自己的内存空间中运行,互不干扰,冲突和破坏;
多道:用户进程不允许访问OS的程序和数据;而且用户进程不允许访问其他用户进程的程序和数据空间。
每个进程都分别有一个上界限地址寄存器和一个下界限地址寄存器,每次访问内存时都与这两个界限寄存器比较,判断是否越界。
地址变换 将逻辑地址转化为物理地址
存储共享 多个进程共用同一系统软件,如编译程序,存放编译程序的内存区即为共享内存区;
存储扩充 在逻辑上扩充内存容量,采用虚拟存储器技术。
一个用户源程序变为可在内存中执行的程序
程序的装入
绝对装入方式 :
由装入程序根据装入模块中的地址,将程序和数据装入内存。
可重定位装入方式:移动进程,将零散空闲的分区连成一片
静态:物理地址=逻辑地址+本程序在内存中的起始地址
在程序执行之前进行的重定位,在程序装入内存时一次性完成指令中地址的修改。
动态:装入主存的程序仍然保持原来的逻辑地址,由逻辑地址到物理地址的转换在程序真正执行时进行。装入内存后,代码可以移动
动态装入优势:便于修改和更新。 便于实现对目标模块的共享。
程序的内存划分
单一连续分配
内存分为两个区域:系统区,用户