3 .程序在成为进程前的准备工作
1) 编辑:形成源文件 ( 符号地址空间 )
2) 编译:形成目标模块 ( 模块内符号地址解析 )
3) 链接:由多个目标模块或程序库生成可执行文件 ( 模块间符号地址解析 )
4) 装入:构造 PCB ,形成进程 ( 使用物理地址 )
二.重定位方法:
1. 绝对装入:编译链接使用物理地址。
2. 可重定位装入:装入时根据装入的基地址,改变逻辑地址为物理地址。
3. 动态装入:重定位在执行过程中由地址变换机构完成。
三.单一连续区分配 ---- 作业需分配并装入连续内存空间
1 .动态分区(可变分区):装入程序时按其初始要求大小分配
1.
首次适应算法; 循环首次适应算法;
最佳匹配算法。
2. 可重定位分区分配
3. 多重可重定位分区:
DOS 采用了四重可重定位分区
重定位寄存器 : CS 、 DS 、 SS 、 ES
四重分区在内存中的位置可以不连续
每个分区(段),在内存中可以移动
物理地址=(段寄存器)+段内偏移地址(逻辑地址)
四.对换技术
1. 对换(交换)空间概念:用于暂存从内存换出的程序和数据,需要时再从该空间换入内存。对换单位:进程、页面、段
2. 对外存交换区空间的管理
l 采用动态分区方法
l 对换空间管理的目标和空间分配方法
1) 追求对换的速度而非空间利用率,文件系统往往追求外存空间的利用率。
2) 采用以物理块为单位的连续分配策略,数据结构和算法类似内存管理中的可变分区管理。二者差异:
( 1 )可变分区管理的是内存空间,对换技术管理的是外存的对换区。
( 2 )可变分区是以字节或内存块作为分配单位,对换技术是以对换区中物理块为单位。
五.基本分页管理
1. 实现原理
1)进程地址空间分页,内存分块,页长=块长
2)通过页表把作业映射到内存
3)地址变换机构( P116 图4-12):
2.基本分页管理采用的数据结构
1)进程页表( PMT): 每个进程一张, 放于系统区.
2)内存空闲块的管理:
1)位示图. 2)空闲块链表.
3)对页表管理:
(1)整个系统一张请求表:记录各进程页表的位置和长度.(进程运行前要装入页表控制寄存器)。
(2)页表位置、长度放于本进程的 PCB 中。
六.基本分段存管实现原理
l
1. 地址空间分段,按段分配内存,每个段分配一个段号。
2. 通过段表( SMT )把进程地址空间映射到内存。
3. 地址变换机构( P121 图 4-17 )。
七.虚拟存储的基本原理
1. 在程序装入时,将当前需要执行的部分页或段装入到内存,就可让程序开始执行。
2. 执行中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),将相应的页或段调入到内存,然后继续执行程序。
3. 另一方面,操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要调入的页或段。
4. 以上 2 、 3 两条功能称之:缺页中断(用于请求页式管理);
5.
6.
7.
8. 缺段中断(用于请求段式管理)。
八.虚拟存储技术的特征
l
1. 内存分配的离散性:
2. 物理内存分配的不连续 ;
3. 虚拟地址空间使用的不连续(数据段 和栈段之间的空闲空间 ; 共享段和动态链接库占用的空间)
4. 作业装入的多次性 : 不再一次性装入。
5. 对换性
6 。虚拟性:提供大范围的虚拟地址空间 ( 通过物理内存和快速外存相结合 ).