第4章存储器管理PPT课件

合集下载

南邮操作系统教程CH-04-存储管理PPT课件

南邮操作系统教程CH-04-存储管理PPT课件
ch414p1p2p3p40k0k1515kk38k38k4848kk68k68k80k80k110110kk120k120k空闲区表已分配区表长度标志15k23k未分配48k20k未分配80k30k未分配长度标志0k15kp138k10kp268k12kp3110k10kp4某一时刻的分配状态15k53k未分配ch415可变分区分配算法分配第一个足够大的分区可以从头开始查找也可以从上次分配结束的地点开始查找总是产生最小剩余分区丌浪费一个更大的空间但会寻致剩余分区太小难被再利用总是产生最大剩余分区它可能比最优适应产生的剩余分区更容易利用ch416可变分区的地址转换和存储保护基址基址寄存器逡辑地址cpu绝对地址操作系统区空闲分区1用户迚程1空闲分区2ch417紧凑技术经过一段时间的分配回收后内存中存在很多很小的空闲块
物理地址 = Base(0x4000) + 0x240 = 0x4240
从0x4240获取指令 “la $a0, varx”
Move 0x4050 $a0, Move PC+4 PC
下一条指令的逻辑地址=0x244,转换成物理地址=0x4244,得到 “jal strlen” Move 0x0248 $ra (return address!), Move 0x0360 PC
ch4.10
固定分区存储管理
存储分配:系统维护一张主存分配表,里面记载了 内存的分区划分和使用状态。分配主存时总选择那 些分区占用标志为0且长度小于等于进程所需空间的 分区块。回收只要相应分区占用位置0即可。
分区号 1 2 3 4 5 6
起始地址 8K 16K 32K 48K 64K 96K
长度 8K 16K 16K 16K 32K 32K
两个问题
内存中的进程如何交互? 内核模式和用户模式如何切换?

寄存器结构、存储器管理

寄存器结构、存储器管理

08
例: MOV AX, [BX+03H]
CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。 例: MOV CX , 200H AGAIN: …… …… LOOP AGAIN ;(CX)-1(CX),结果0转AGAIN DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时, 把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位; 对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。 例: MUL BX ; (AX)(BX)(DX)(AX) 例: IN AL , DX
奇偶标志PF(Parity Flag)
若算术运算的结果有溢出,则OF=1;
否则 OF=0
3AH + 7CH=B6H,产生溢出:OF=1 AAH + 7CH=(1)26H,没有溢出:OF=0
溢出标志OF(Overflow Flag)
3AH+7CH=B6H,就是58+124=182,
什么是溢出
处理器内部以补码表示有符号数 8位表达的整数范围是:+127 ~ -128 16位表达的范围是:+32767 ~ -32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
01
AX——(Accumulator)作为累加器。
02
它是算术运算的主要寄存器,
03
所有I/O指令都使用这一寄存器与外部设备交换数据。
04
例: IN AL , 20H
05
OUT 30H , AX
06
BX——Base用作基址寄存器使用。
07
在计算内存储器地址时,经常用来存放基址。
0

第4章4-5节基本分页、分段存储管理方式

第4章4-5节基本分页、分段存储管理方式
页表
页号
计算公式:物理地址 块号 页面大小+块内地址 块号*页面大小 计算公式:物理地址=块号 页面大小 块内地址
0 1
块 号 2 4 6 7
逻辑地址3500:
页号:3500/1024=3 对应物理块号:7 页内地址:428
2 3
故物理地址为: 7*1024+428=7596
逻辑地址4500:
页号:4500/1024=4
第四章 存 储 器 管 理
问题:
在分页系统中,内存的利用率是不是就 可以达到100%了? 由于进程的最后一页经常装不满一块 而形成了不可利用的碎片,称之为“页内 页内 碎片”。 碎片
第四章 存 储 器 管 理
2) 页面大小 在分页系统中的页面其大小应适中: 页面 太小 太大 页面数 分配时间 多 少 长 短 内存碎片 减小 变大 内存利 用率 高 低
n
1742 外部页表
1023 0 1 2 第n页页表 1468
图 4-4 两级页表结构 1023
… … … 内存空间
114 1151468第四章 存 Nhomakorabea 器 管 理
(2)地址变换机构
外部页号 P1 外部页内地址 页内地址 P2 d
逻辑地址
外部页表寄存器

… 外部页表

… 页表
b d 物理地址
图 4-5 具有两级页表的地址变换机构
第四章 存 储 器 管 理
4.4.2 地址变换机构
假设页面大小为1K 假设页面大小为
1. 基本的地址变换机构
越界中断 逻辑地址 3100 页表寄存器
页表始址 页表长度

页号 3
页内地址 28
块号 页号 0 1 2 3 … 页表 物理地址 9244 1 3 4 9

操作系统第四章复习

操作系统第四章复习

页框号为21。 因为起始驻留集为空, 而0页对应的ห้องสมุดไป่ตู้框为空闲链表中的第三个空闲页框,其对应的页框号为21。
页框号为32。 因为11 > 10故发生第三轮扫描,页号为1的页框在第二轮已经处于空闲页框链表中,此刻该页又被重新访问,因此应被重新放回到驻留集中,其页框号为32。
页框号为41。 因为第2页从来没有被访问过,不在驻留集中。因此从空闲链表中取出链表头的页框,页框号为41。
4. 在虚拟内存管理中,地址变换机构将逻辑地址转换为物理地址,形成该逻辑地址的阶段是( )。 ① 编辑 ② 编译 ③ 链接 ④ 装载 5. 采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是_______ A)224 B)28 C) 216 D) 232 6. 作业在执行中发生了缺页中断,经操作系统处理后,应让其执行______指令。 A)被中断的前一条 B)被中断的后一条 C)被中断的 D) 启动时的第一条
7、某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空),采用最佳适配(Best fit)算法,分配和释放的顺序为:分配15MB,分配30MB,释放15MB,分配6MB,此时主存中最大空闲分区的大小是( ) A:7MB B:9MB C:10MB D:15MB
当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据,请问答下列问题: (1)该逻辑地址对应的页号是多少? (2)若采用先进先出置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。 (3)若采用时钟置换算法,该逻辑地址对应的物理地址是多少?(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框)
页号
存储块号
0 1 2 3
5 10 4 7

计算机操作系统第三版PPT课件

计算机操作系统第三版PPT课件

-
6
用户
应用程序 系统调用 命令 图标、窗口
操作系统 计算机硬件
图 1-1 OS作为接口的示意图
-
7
(1) 命令方式。这是指由OS提供了一组联机命令(语 言), 用户可通过键盘输入有关命令,来直接操纵计算 机系统。
(2) 系统调用方式。OS提供了一组系统调用,用户 可在自己的应用程序中通过相应的系统调用,来操纵 计算机。
新世纪计算机类本科系列教材
计算机操作系统
(修订版) 汤子瀛 哲凤屏 汤小丹 编著
西安电子科技大学出版社

-
1
目录
第一章 操作系统引论 第二章 进程管理 第三章 处理机调度与死锁 第四章 存储器管理 第五章 设 备 管 理 第六章 文件管理 第七章 操作系统接口 第八章 网络操作系统 第九章 系统安全性 第十章 UNIX系统内核结构
1. 单道批处理系统(Simple Batch Processing System)的处理过程
开始
还有 下 一个 作业 ?
是 把下一个作业的源 程序 转换 为目 标程 序

停止

源程 序
有错 吗?

运行 目标 程序
装配 目标 程序
-
14
图 1-3 单道批处理系统的处理流程
2.
单道批处理系统是最早出现的一种OS,严格地说, 它只能算作是OS的前身而并非是现在人们所理解的OS。 尽管如此,该系统比起人工操作方式的系统已有很大进 步。
-
11
1.2 操作系统的发展过程
1.2.1 无操作系统的计算机系统
1. 人工操作方式
从第一台计算机诞生(1945年)到50年代中期的计算机,属于 第一代,这时还未出现OS。这时的计算机操作是由用户(即程 序员)采用人工操作方式直接使用计算机硬件系统,即由程序员 将事先已穿孔(对应于程序和数据)的纸带(或卡片)装入纸带输入 机(或卡片输入机),再启动它们将程序和数据输入计算机, 然 后启动计算机运行。当程序运行完毕并取走计算结果后, 才让 下一个用户上机。这种人工操作方式有以下两方面的缺点:

第4章操作系统基础PPT课件

第4章操作系统基础PPT课件
进程的生命周期
– 由“创建”而产生,由“调度”而执行, 因得不到资源而“暂停”执行,最后由“撤 消”而消亡
13
进程的性质
1)动态性 描述程序在执行过程中的全部活动; 2)并发性 同时接受和处理多个进程; 3)异步性 不同进程在逻辑上相互独立,有各
自的运行“轨迹”;
4)制约性 由于计算机资源是有限的,不同进
硬件支持
增加边界寄存器LOW、UP,确定 分块的上、下边界。
方法
固定分区和变长分区
34
固定分区(多连续分区)
1) 主存划分为几个固定大小的连续区域; 2) 建立分配表,记录每个分区的大小、
区号、起始地址、及占用标志等信息。 3) 作业调度时,根据作业表来确定程序
的重定位地址。
35
固定分区示意图
10
程序并发执行举例
程序1: I1 C1 P1
程序2:
I2 C2 P2
程序3:
I3 C3 P3
t1 t2 t3
T
图中,C1和I2、P1、C2和I3、P2和C3在时间 上都是重叠的。
11
单道和多道程序处理的区别
单道:各逻辑步骤之间的关系是确定的、
不受外界影响。
多道:并发处理存在直接或间接的相互
20K 28K 44K 108K
232K
操操作作系系统统
作业1 作业2 可可用用分分区区11
作业3
可用分区2
39
4. 分页管理
– 页 作业地址空间划分的等长单位 – 块 主存空间划分的等长的单位 – 页表 地址重定位表, 记录页号与该页
在主存中的块号的对应关系。
– 分页管理 作业中的逻辑地址通过动态
17
4。进程控制块——PCB

西安电子科技大学_计算机组成与体系结构_第4章存储系统_课件PPT

西安电子科技大学_计算机组成与体系结构_第4章存储系统_课件PPT
的时间一样。
存取方式 读写功能
随机读写:RAM 顺序(串行)访问:
顺序存取存储器 SAM 直接存取存储器 DAM
12
4.1 存储系统概述 4.1.2 存储器分类:不同的分类标准
存储信息的介质
在计算机中的用途
存放信息的易失(挥发)性
存取方式 读写功能
读写存储器 只读存储器
13
存储信息的介质
在计算机中的用途 存放信息的易失(挥发)性 存取方式 读写功能
易失:RAM 非易失:
ROM 磁盘
……
11
4.1 存储系统概述 4.1.2 存储器分类:不同的分类标准
存储信息的介质 在计算机中的用途 存放信息的易失(挥发)性
存储器的存取时间 与存储单元的物理 地址无关,随机读 写其任一单元所用

36
8086系统总线
D0~D7
A1~A13 MEMR MEMW
A0
D8~D15 A1~A13 MEMR MEMW
BHE
&
A19
A18
A17
&
A16 A15 A14
6264与8086系统总线的连接
6264
D0~D7
A0~A12
CS1
OE
WE
CS2
6264
D0~D7
A0~A12
CS1
OE
WE
CS2
74LS138
每次读出/写入的字节数 存取周期
价格
体积、重量、封装方式、工作电压、环境条件
14
4.1 存储系统概述 4.1.2 存储器的性能指标
容量 速度 可靠性
可维修部件的可靠性: 平均故障间隔时间(MTBF)

分页与分段存储管理

分页与分段存储管理

分页与分段存储管理
4.4 基本分段存储管理方式
4.4.1 分段存储管理方式的引入
分页与分段存储管理
引入分段存储管理方式, 主要是为了满足用户和程序员
1)
2) 信息共享
3) 信息保护
4)
5) 动态链接
分页与分段存储管理
4.4.2 分段系统的基本原理
1. 分段
分页与分段存储管理
0
作业空间 (MAIN)=0 段表
内存空间
0
3 0K 0 2 0K 0 1 5K 0
段号 段长 基址 (X)=1 0 1 2 (S)=3 3 3 0K 2 0K 4 0K 8 0K
(MAIN)=0 3 0K (X)=1 2 0K (D)=2 1 5K (S)=3 1 0K
4 0K
8 0K
(D)=2
1 5K 1 20 K 1 0K 1 50 K
分页与分段存储管理
第四章 存储器管理
4.1 程序的装入和链接
4.2 连续分配方式
4.3 基本分页存储管理方式
4.4 基本分段存储管理方式
上节回顾
1. 四种内存连续分配方式: 单一连续分配:
分页与分段存储管理
固定分区分配:
动态分区分配:FF、CF、BF分配算法 动态重定位分区分配:重定位寄存器 2. 基本分页 页与物理块 地址结构
分页与分段存储管理
4.3 基本分页存储管理方式
分页存储管理,是将一个进程的逻辑地址空间分成若干个大小 相等的片,称为页面或页,并为各页加以编号,从0开始,如 第0页、第1页等。 相应地,也把内存空间分成与页面相同大小的若干个存储块, 称为(物理)块或页框(frame), 也同样为它们加以编号,如0#块、 1 # 块等等。在为进程分配内存时,以块为单位将进程中的若 干个页分别装入到多个可以不相邻接的物理块中。

lab4.存储器管理实验

lab4.存储器管理实验
[_vDiscPages[n存储器管理实验 _ 22
_vDiscPages[nDiscPage].m_nPageFaceNumber=INVALID; _pFreepf_head->m_pNext=NULL; } _vDiscPages[_vPage[i]].m_nPageFaceNumber= _pFreepf_head->m_nPageFaceNumber; _pFreepf_head=_pFreepf_head->m_pNext; } else _vDiscPages[_vPage[i]].m_nCounter=1; if(i%CLEAR_PERIOD==0) for(j=0;j<TOTAL_VP;j++) _vDiscPages[j].m_nCounter=0; }
存储器管理实验 _ 12
void CMemory::initialize(const int nTotal_pf){ int ix; _nDiseffect=0; for(ix=0;ix<_vDiscPages.size();ix++) _vDiscPages[ix].m_nPageNumber=ix;
存储器管理实验 _ 17
for(i=0;i<TOTAL_INSTRUCTION;i++) _nDiseffect++; if(_pFreepf_head==NULL) nMin=32767;
for(j=0;j<TOTAL_VP;j++) // 得到最近最少使用的页面的页号
{
if(_vDiscPages[_vPage[i]].m_nPageFaceNumber==INVALID){
{

《存储器管理》PPT课件

《存储器管理》PPT课件

地址转换过程是:
CPU获得的逻辑地址首先与下限寄存器 的值相加,产生物理地址;然后与上限寄存 器的值比较。 1、若大于上限寄存器的值,产生“地址越界” 中断信号,由相应的中断处理程序处理; 2、若不大于上限寄存器的值,则该物理地址 就是合法地址,它对应于内存中的一个存储 单元。
案例分析
【例3-1】在某系统中采用固定分区分配管理 方式,内存分区(单位字节)情况如图3-10a所 示。现有大小为1KB、9KB、33 KB、121KB 的多个作业要求进人内存,试画出它们进入 内存后的空间分配情况,并说明内存浪费有 多大?
内存的在系统中的地位
CPU
内存
I/O 系统
外设
内存在计算机系统中的地位
3.1.1 存储体系
存储器存取 时间减少 存储器存取 速度加快 每位存储器 成本增加 存储器容量 减少 外 存 高速缓存器
程序和数据 可以被CPU 直接存取 内 存
程序和数据必 须先移到内存, 才能被CPU访问
三级存储器结构
存储器管理
单一连续分配仅适用于 单道程序设计环境,处 理机、主存都不能得到 充分的利用。
操作系统
32 KB
作业 分配给用户作 业的空间 未用
64 KB
1 60 KB
浪费
单一连续分配
特点:
( 1 )管理简单。它把主存分为两个区,用户区一 次只能装入一个完整的作业,且占用一个连续的 存储空间。它需要很少的软硬件支持,且便于用 户了解和使用。 ( 2 )在主存中的作业不必考虑移动的问题,并且 主存的回收不需要任何操作。 ( 3 )资源利用率低。不管用户区有多大,它一次 只能装入一个作业,这样造成了存储空间的浪费, 使系统整体资源利用率不高。 (4)这种分配方式不支持虚拟存储器的实现。

第四章 存储器管理(1-2)

第四章 存储器管理(1-2)

物理地址空间
Load A data1
100
Load A 200
1100
Load A 1200
编译 连接
data1 3456 200 3456
地址映射
1200 3456 。 。
第四章 存 储 器 管 理
地址映射的方式
静态地址映射: 1)程序被装入内存时由操作系统的连接装入程序完成 程序的逻辑地址到内存地址的转换; 2)地址转换工作是在程序执行前由装入程序集中一次 完成。 假定程序装入内存的首地址为BR,程序地址为VR,内存 地址为MR,则地址映射按下式进行:MR=BR+VR
② 便于实现对目标模块的共享:将内存中的一个模块可 以连接到多个程序中。 ③ 要运行的程序都必须在装入时,全部连接调入内存。
第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking) 动态链接方式:将对某些模块的链接推迟到执行时才实施, 亦即,在执行过程中,当发现一个被调用模块尚未装 入内存时,立即由OS去找到该模块并将之装入内存, 把它链接到调用者模块上。特点如下: 特点:凡在执行过程中未被用到的目标模块,都不会被调 入内存和被链接到装入模块上,这样不仅可加快程序 的装入过程,而且可节省大量的内存空间。
硬件支持:在动态地址重定位机构中,有一个基地址寄存器BR和一 个程序地址寄存器VR,一个内存地址寄存器MR。
转换过程:MR=BR+VR
第四章 存 储 器 管 理
把程序装入起始地址为100的内存区
0 100
重定位寄存器 1000

MOV r1,[50]
0 1000 1100
… …
MOV r1பைடு நூலகம்[50]

12存储器管理1

12存储器管理1


4.2.2 固定分区分配
分区式管理基本思想:
将内存划分成若干个连续区域,称为
分区。
每个分区只能存储一个程序,而且程 序也只能在它所驻留的分区中运行

1. 固定分区



预先把可分配的主存储器空间分割成 若干个连续区域,称为一个分区。每 个分区的大小可以相同也可以不同, 但分割后的分区大小固定不变, 每个分区装一个且只能装一个作业 存储分配:如果有一个大小合适的空 闲区, 则分配给进程 划分分区方法:大小相等、大小不等
源程序
0
逻辑地址空间
物理地址空间
BA=1000 Load A data1 100 Load A 200 Load A 200
编译 连接
data1 3456 200 3456
地址映射
1200 3456 。 。
名空间、地址空间、存储空间
1.逻辑地址与物理地址的映射


逻辑地址(相对地址,虚地址) : 用户的程序目标代码通常采用相对地址的形式,其首 地址为0,其余指令中的地址都相对于首地址而编址。 不能用逻辑地址在内存中读取信息 物理地址(绝对地址,实地址) 内存中存储单元的地址,可直接寻址
110J1
0K 15K 38K 48K 68K 80K 85K 98K 110K 120K
空闲区表
始址 15K 48K 长度 23K 20K 30K 25K 12K 标志 未分配 未分配 未分配 空
J2
80K 85K 98K

J3 J5
已分配区表
始址 长度 标志
存储器的层次结构
1. 存储器的层次结构
2.各种存储器



高速缓存Cache: 少量的、非常快速、昂贵、易变的 内存RAM: 若干兆字节、中等速度、中等价格、易变的 磁盘: 数百兆或数千兆字节、低速、价廉、不易变 的

第4章存储器讲解解析

第4章存储器讲解解析

15. 设CPU共有16根地址线,8根数据线,并用MREQ(低 电平有效)作访存控制信号,R/W作读/写命令信号(高电平 为读,低电平为写)。现有这些存储芯片: ROM(2K×8位,4K×4位,8K×8位), RAM(1K×4位,2K×8位,4K×8位), 及74138译码器和其他门电路(门电路自定)。 试从上述规格中选用合适的芯片,画出CPU和存储芯片的 连接图。要求如下: (1)最小4K地址为系统程序区,4096~16383地址范围为 用户程序区;(2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。
由于存储器单 体的存取周期为T, 而CPU的总线访存 周期为(1/8)T, 故体内逻辑要支持 单体的独立工作速 率。因此在SRAM 芯片的外围加了地 址、数据的输入/输 出缓冲装置,以及 控制信号的扩展装 置。
-RD
A15~3
-OE A12~0
-WE
D7~0
8KB SRAM
D7~0 -CE
片选信号扩展
……
3片4K×8位
……
……
A15=1
65535
(2)选片:ROM:4K × 4位:2片; RAM:4K × 8位:3片;
(3)CPU和存储器连接逻辑图及片选逻辑:
+5V
MREQ A15 A14 A13 A12
C B A
G2A
Y0
G2B 74138(3:8)
Y1
G1
Y2 Y3
CPU
A11~0
CS0 4K× 4 ROM 4K× 4 ROM
8KB 1体
A12~0 -Y1
8KB 2体
A12~0 -Y2
8KB 7体

……
A12~0 -Y7

计算机操作系统第4章存储器管理PPT课件

计算机操作系统第4章存储器管理PPT课件

➢ 不支持多道程序
➢ 内存利用率不高
➢ 受内存容量限制
23
4.2.2 连续分区存储管理
➢ 将内存划分成若干个连续区域,称为分区 ➢ 每个分区只能存储一个程序,而且程序也只
能在它所驻留的分区中运行(连续性)
➢ 是实现多道程序的最简单的存储管理方案 ➢ 根据划定的分区是否可变,分为固定分区和
可变分区管理
编译/链接
地址映射
data1 3456
200
3456
1200
3456
15
三种装入方式
➢ 绝对装入
✓ 编译时给出绝对地址
✓ 相对地址与绝对地址相同,无须地址转换
✓ 适用于单道程序环境
➢ 静态重定位装入
✓ 相对地址与绝对地址不同
✓ 装入时一次性给出绝对地址
➢ 动态重定位装入
✓ 相对地址与绝对地址不同
✓ 地址的转换推迟到指令运行时才进行
24
1. 固定分区 ➢ 基本思想
✓ 由OS在初启时,将内存空间划分为若干连 续区域,一个区域称为一个分区
✓ 每个分区的大小固定不变,每个分区装一 个且只能装一个进程
✓ 每个分区大小可以相同也可以不同
25
➢ 数据结构 ✓ 分区说明表:分区号、起始地址、大小、状态 ✓ 分区请求表:进程号、内存大小
分区号 始址(K) 大小(K) 状态
要位置
➢ 任何一种存储装置,都无法同时从速度与
容量两方面,满足用户的需求
➢ 实际上它们组成了一个速度由快到慢,容
量由小到大的存储装置层次结构
5
存储器层次
存取时间减少
高速缓存
存取速度增加 存取成本增加
内存
存储容量减少
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6
18.08.2020
第四章 存 储 器 管 理
4.1.2 程序的链接
1. 静态链接方式(Static Linking)
0 模块 A
0
CALL B;
L- 1 Retu rn;
L- 1
模块 A
JSR“ L” Retu rn;
0 模块 B
L 模块 B
CALL C;
JSR “ L+ M”
M- 1 Retu rn;
的。 (3) (3) 最佳适应算法。
15
18.08.2020
第四章 存 储 器 管 理
从头 开始 查表
3. 分区分配操作
1) 分配内存
检索 完否 ? N
Y
返回

m .s iz e > u . s i ze ?
N
继续 检索 下一 个表 项
4 Y
-
6
Ys i ze ≤ s i z e ?
3
第 二步
第 三步
图 4-1 对用户程序的处理步骤
18.08.2020
第四章 存 储 器 管 理
4.1.1 程序的装入
1. 绝对装入方式(Absolute Loading Mode)
程序中所使用的绝对地址,既可在编译或汇编时给出, 也可由程序员直接赋予。 但在由程序员直接给出绝对地址 时, 不仅要求程序员熟悉内存的使用情况,而且一旦程序 或数据被修改后,可能要改变程序中的所有地址。因此, 通常是宁可在程序中采用符号地址,然后在编译或汇编时, 再将这些符号地址转换为绝对地址。
4
18.08.2020
第四章 存 储 器 管 理
2. 可重定位装入方式(Relocation Loading Mode)
0
100 0 LOAD 1,2500
250 0 365
500 0 作业 地址 空间
100 00 11000 LOAD 1,2500
125 00
365
150 00
内存 空间
5
图 4-2 作业装入内存时的情况
(1) 对相对地址进行修改。 (2) 变换外部调用符号。
8
18.08.2020
第四章 存 储 器 管 理
2. 装入时动态链接(Load time Dynamic Linking)
装入时动态链接方式有以下优点: (1) 便于修改和更新。 (2) (2) 便于实现对目标模块的共享。
9
18.08.2020

N

从该 分区 中划 出

u.siz e 大 小 的 分 区
将该 分区 从链 中移 出


将该 分区 分配 给请 求者 修
改有 关数 据结 构
16
返回
18.08.2020
第四章 存 储 器 管 理
2) 回收内存
图 4-7 内存回收时的情况
17
18.08.2020
4.2.4
1.
18
第四章 存 储 器 管 理
第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking)
近几年流行起来的运行时动态链接方式,是对上述在 装入时链接方式的一种改进。这种链接方式是将对某些模 块的链接推迟到执行时才执行,亦即,在执行过程中,当 发现一个被调用模块尚未装入内存时,立即由OS去找到该 模块并将之装入内存, 把它链接到调用者模块上。凡在执 行过程中未被用到的目标模块,都不会被调入内存和被链 接到装入模块上,这样不仅可加快程序的装入过程,而且 可节省大量的内存空间。
第四章 存 储 器 管 理
4.2.3 动态分区分配
1. 分区分配中的数据结构
(1) 空闲分区表。 (2) 空闲分区链。
14








N
N个 字 节 可 用
N


2
2
0
0
图 4-5 空闲链结构
18.08.2020
第四章 存 储 器 管 理
2. 分区分配算法 (1) 首次适应算法FF。 (2) (2) 循环首次适应算法,该算法是由首次适应算法演变而成
18.08.2020 1
第四章 存 储 器 管 理
第四章 存储器管理
4.1 程序的装入和链接 4.2 连续分配方式 4.3 基本分页存储管理方式 4.4 基本分段存储管理方式 4.5 虚拟存储器的基本概念 4.6 请求分页存储管理方式 4.7 页面置换算法 4.8 请求分段存储管理方式
第四章 存 储 器 管 理
操作系统 用 户 程 序1
10 KB 用 户 程 序3
30 KB 用 户 程 序6
14 KB 用 户 程 序9
26 KB
操作系统 用 户 程 序1 用 户 程 序3 用 户 程 序6 用 户 程 序9
80 KB
(a ) 紧 凑 前
(b ) 紧 凑 后
18.08.2020
第四章 存 储 器 管 理
3. 动态运行时装入方式(Denamle Run-time Loading)
动态运行时的装入程序,在把装入模块装入内存后, 并不立即把装入模块中的相对地址转换为绝对地址,而 是把这种地址转换推迟到程序真正要执行时才进行。因 此, 装入内存后的所有地址都仍是相对地址。
L+ M- 1 Retu rn;
0 模块 C
L+ M 模块 C
N- 1 Retu rn;
L+ M+ N- 1 Retu rn;
7 (a) 目标模块 图 4-3 程序链接示意图 (b) 装入模块
18.08.2020
第四章 存 储 器 管 理
在将这几个目标模块装配成一个装入模块时,须解 决以下两个问题:
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
18.08.2020
第四章 存 储 器 管 理
4.1 程序的装入和链接
内存

编 译程 序产 生 的目 标模 块
链接 程序
装 入模 块
装入 程序

第 一步
10
18.08.2020
第四章 存 储 器 管 理
4.2 连续分配方式
4.2.1 单一连续分配
这是最简单的一种存储管理方式,但只能用于单用户、 单任务的操作系统中。采用这种存储管理方式时,可把内 存分为系统区和用户区两部分,系统区仅提供给OS使用, 通常是放在内存的低址部分;用户区是指除系统区以外的 全部内存空间, 提供给用户使用。
11
18.08.2020
第四章 存 储 器 管 理
4.2.2 固定分区分配
1. 划分分区的方法 (1) 分区大小相等, 即使所有的内存分区大小相等。 (2) (2) 分区大小不等。
12
18.08.2020
第四章 存 储 器 管 理
2. 内存分配
图 4-4 固定分区使用表
13
18.08.2020
相关文档
最新文档