操作系统费翔林骆斌ch4-4.5虚拟存储管理
虚拟存储器概念图
物理地址空间
逻辑地址空间
内存 虚拟地址 存储 物理地址 处理器 外存
管理 部件
程序局部性原理(1)
指程序在执行过程中的一个较短 时间内,所执行的指令地址或操 作数地址分别局限于一定的存储 区域中。又可细分时间局部性和 空间局部性。
程序局部性原理(2)
• 第一,程序中只有少量分支和过程调用,大都 是顺序执行的指令; • 第二,程序含有若干循环结构,由少量代码组 成,而被多次执行; • 第三,过程调用的深度限制在小范围内,因而, 指令引用通常被局限在少量过程中; • 第四,涉及数组、记录之类的数据结构,对它 们的连续引用是对位置相邻的数据项的操作; • 第五,程序中有些部分彼此互斥,不是每次运 行时都用到。
缺页中断处理的过程
步1 挂起请求缺页的进程; 步2 根据页号查外页表,找到该页存放的磁盘物理 地址; 步3 查看内存是否有空闲页框,如有则找出一个, 修改内存管理表和相应页表项内容,转步6;, 步4 如内存中无空闲页框,按替换算法选择淘汰页 面,检查它曾被写过或修改过吗?若未则转步6; 若是则转步5; 步5 该淘汰页面被写过或修改过,则把它的内容写 回磁盘原先位置; 步6 进行调页,把页面装入内存所分配的页框中, 同时修改进程页表项; 步7 返回进程断点,重新启动被中断的指令。
影响缺页中断率的因素(2)
称f为缺页中断率。影响缺页中 断率f的因素有: (1)内存页框数。 (2)页面大小。 (3)页面替换算法。 (4)程序特性。
程序局部性例子
• 程序将数组置为“0”,假定仅分得一个内存 块,页面尺寸为128个字,数组元素按行存放, 开始时第一页在内存。
• int A[128][128]; int A[128][128]; • for(int j=0;j<128;j++) for(int i=0;i<128;i++) for(int i=0;i<128;i++) for(int j=0;j<128;j++) • A[i][j]=0; A[i][j]=0; • 128×128-1 128-1
3)最近最少用页面替换算法
• 算法淘汰的页面是在最近一段时间 里较久未被访问的那页。 • 根据程序局部性原理,那些刚被使 用过的页面,可能马上还要被使用, 而在较长时间里未被使用的页面, 可能不会马上使用到。
LRU算法实现:页面淘汰队列(1)
• 队列中存放当前在内存中的页号, 每当访问一页时就调整一次,使队 列尾总指向最近访问的页,队列头 就是最近最少用的页。 • 发生缺页中断时总淘汰队列头所指 示的页;执行一次页面访问后,需 要从队列中把该页调整到队列尾。
页框1
页框2 页框3
4
4
3
4
3 2
3
2 1 4
2
1 4 3 √
1
4 3 2 √
4
3 5 1 √
4
3 5
4
3 5
3
5 2 4
5
2 1 3 √
5
2 1
淘汰页 面 缺页异 √ 常 访问序 1 号 页框1 4 页框2 页框3 页框4 淘汰页 面 缺页异 √ 常
√
√
√
0
0
√
0
2 4 3
3 4 3 2
4 4 3 2 1
页面分配策略:固定分配
• 进程保持页框数固定不变,称固定 分配; • 进程创建时,根据进程类型和程序 员的要求决定页框数,只要有一个 缺页中断产生,进程就会有一页被 替换。
页面分配策略:可变分配
• 进程分得的页框数可变, 称可变分 配; • 进程执行的某阶段缺页率较高,说 明目前局部性较差,系统可多分 些页框以降低缺页率,反之说明 进程目前的局部性较好,可减少分 给进程的页框数
固定分配和局部替换策略配合使用(2) 采用固定分配算法,系统把页 框分配给进程,采用: ①平均分配, ②按比例分配, ③优先权分配。
可变分配和全局替换策略配合使用
•先每个进程分配一定数目页框 ,os保留若干 空闲页框,进程发生缺页中断时,从系统空 闲页框中选一个给进程,这样产生缺页中断 进程的内存空间会逐渐增大,有助于减少系 统的缺页中断次数。 •系统拥有的空闲页框耗尽时 ,会从内存中 选择一页淘汰,该页可以是内存中任一进 程的页面,这样又会使那个进程的页框数 减少,缺页中断率上升。 • SVR4
• 页面与磁盘物理地址的对应表,由操作 系统管理,进程启动运行前系统为其建 立外页表,并把进程程序页面装入外存。 • 该表按进程页号的顺序排列,为节省内 存,外页表可存放在磁盘中,当发生缺 页中断需要查用时才被调入。
请求分页虚存地址转换过程(1)
逻辑空间地址
CPU
逻辑地址 页号 页内地址
进程切换时装入
5 4 3 2 1
6 4 3 2 1
7 3 2 1 5 4
8 2 1 5 4 3 √
9 1 5 4 3 2 √
10 5 4 3 2 1 √
11 4 3 2 1 5 √
12 3 2 1 5 4 √
√
√
√
0
0
√
页面缓冲算法
• 维护两个FIFO队列,修改页面队列和非修改 (空闲)页面队列,前者是由修改页面的页框构 成的链表;后者是由可直接用于装入页面的页 框构成的链表,未修改的淘汰页暂时还留在其 中,当进程再次访问这些页面时,可不经I/O 而快速找回。 • 按FIFO选出淘汰页,并不立即抛弃它,根据它 的内容是否被修改过进入两个队列之一的末尾, 需要装入的页面被读进非修改队列的队首指向 的页框中,不必等待淘汰页写回,使得进程能 快速恢复运行。
5. 缺页中断率
•页面替换 •页面淘汰算法 •“抖动”(Thrashing)现象 (注:Linux系统中,缺页中断 也称缺页异常)
影响缺页中断率的因素(1)
• 假定作业 p 共计 n 页,系统分配给它的 内存块只有 m 块(1≤m≤n)。如果 作业 p 在运行中成功的访问次数为 s , 不成功的访问次数为 F ,则总的访问次 数A为: A=S+F 又定义: f=F/A
6. 全局页面替换策略
1) 最佳页面替换算法OPT 2) 先进先出页面替换算法FIFO 3) 最近最少用页面替换算法LRU 4) 第二次机会页面替换算法SCR 5) 时钟页面替换算法Clock
1)最佳页面替换算法
• 调入一页而必须淘汰一个旧页时,所 淘汰的页应该是以后不再访问的页或 距现在最长时间后再访问的页。 • Belady算法(Optimal) ,可用来作 为衡量各种具体算法的标准。
可变分配和局部替换配合使用
其实现要点如下: (1)新进程装入内存时,根据应用类型、 程序要求,分配给一定数目页框,可用 请页式或预调式完成这个分配。 (2) 产生缺页中断时 , 从该进程驻留集中 选一个页面替换。 (3)不时重新评价进程的分配,增加或减 少分配给进程的页框以改善系统性能。 (4)Windows NT
LRU算法实现:页面淘汰队列(2)
• 例子:给某作业分配了三块内 存,该作业依次访问的页号为: 4,3,0,4,1,1,2,3,2。 当访问这些页时,页面淘汰序 列变化情况如下
2.请求分页虚存管理基本原理
• 分页式虚存不把作业信息(程序和数据)全 部装入内存,仅装入立即使用的页面,在 执行过程中访问到不在内存的页面时,产 生缺页中断,再从磁盘动态地装入 。 • 怎样才能发现页面不在内存中呢?怎样处理 这种情况呢? • 采用的办法是:扩充页表的内容,增加驻留 标志位等信息。
110 000000000100
MMU 的位置、 功能和 16个4KB页 面情况下MMU的内部操作
MMU送出的物理地 址
MMU主要功能
(1)管理硬件页表基址寄存器。 (2)分解逻辑地址。 (3)管理快表TLB。 (4)访问页表。 (5)发出缺页中断或越界中断,并将控制 权交给内核存储管理处理。 (6)设置和检查页表中各个特征位。
3.页面装入策略和页面清除策略
页面装入内存,有两种策略:
•请页式调度 •预调式调度 何时把一个修改过的页面写回外存 储器,有两种策略: • 请页式清除 • 预清除。
4.页面分配策略
• 系统为进程分配内存,需考虑因素: ①分给进程的空间越小,同一时间处于内 存的进程就越多,至少有一个进程处 于就绪态的可能性就越大 ②如果进程只有小部分在内存里 ,即使局 部性很好,缺页中断率还会相当 ③因程序的局部性原理,分给进程的内 存超过一定限度后,再增加内存空间 , 不会明显降低进程的缺页中断率。
2)先进先出页面替换算法
• 基于程序总是按线性顺序来访问物理 空间这一假设。 • 算法淘汰最先调入内存的页,或者说 在内存中驻留时间最长的页。 • 实现技术
(1)设置具有m个元素的页号表,控制换页 P[0],P[1], …,P[m-1] (2)引入指针链成队列
FIFO 调度算法的Belady 异常现象
4.5虚拟存储管理
4.5.1 虚拟存储器概念 4.5.2 请求分页虚拟存储管理 4.5.3 请求段页式虚拟存储管理
4.5.1 虚拟存储器概念
• 为什么要引入虚拟存储器? • 实现虚拟存储器的基本思路。 • 虚拟存储器的定义: 在具有层次结构存储器的计算机系统 中,采用自动实现部分装入和部分对 换功能,为用户提供一个比物理内存 容量大得多的,可寻址的一种“内存 储器”。
• FIFO算法增加可用物理页框数量会导 致更多的缺页异常。今有5个页面的 访问序列为: 4, 3, 2, 1, 4, 3, 5, 4,3, 2, 1, 5。 现在分配给进程的物理页框为3个和4 个,其执行过程分别如下。
Belady 异常现象举例
访问序 1 号 2 3 4 5 6 7 8 9 10 11 12
分页虚拟存储系统硬件支撑(2)
106275-操作系统(第5版)-CH4-4.1存储器工作原理4.2连续存储管理
越界中断
多对基址/限长寄存器
重定位寄存器1 限长寄存器1
进程A 私有空间
共享区
重定位寄存器2 限长寄存器2
进程A虚CPU
重定位寄存器1
限长寄存器1
进程B 私有空间
物理内存
重定位寄存器2
限长寄存器2
进程B虚CPU
多对重定位寄存器支持内存共享
4.2.3内存不足的存储管理技术
1.移动技术
操作系统 作业1 空闲区 作业2 空闲区 作业3 空闲区
• 链接需要解析内部和外部符号表,把对符号名字引 用转换为数值引用,要转换每个涉及名字地址的程 序入口点和数据引用点成为数值地址。
• 装入时根据指定的内存块首地址,再次修改和调整 被装载模块中的每个逻辑地址,将逻辑地址绑定到 物理地址。
编译、链接、装载(2)
• 链接程序(linker)的作用是根据目标模块之间的调 用和依赖关系,将主调模块、被调模块、以及所用到 的库函数装配和链接成一个完整的可装载执行模块。
4.1 存储器工作原理
4.1.1存储器层次 4.1.2地址转换与存储保护
4.1.1 存储器层次
寄存器 高速缓存 内存储器 磁盘缓存 固定磁盘 可移动存储介质
各级存储器性能
4.1.2 地址转换与存储保护(1)
程序的编译、链接、装载和执行
编译
源程序模块1
源程序模块2 …
源程序模块n
程序名字空间
链接
3. 覆盖技术
• 覆盖的作用 • 覆盖的实现技术 • 覆盖技术的不足
• (3)动态运行时装载。为提高内存利用率,装入内存的程 序可换出到磁盘上,适当时候再换入到内存中,对换前后 程序在内存中的位置可能不同,即允许进程的内存映像在 不同时候处于不同位置,此时模块内使用的地址必为相对 地址。
操作系统-存储管理(4)段页式虚拟存储
操作系统-存储管理(4)段页式虚拟存储物理地址:⼜称绝对地址,即程序执⾏所使⽤的地址空间(处理器执⾏指令时按照物理地址进⾏)逻辑地址:⼜称相对地址,即⽤户编程所使⽤的地址空间,从0开始编号,有两种形式:⼀维逻辑地址(地址)⼆维逻辑地址(段号:段内地址)主存储器空间的分配与去配:分配:进程装⼊主存时,存储管理软件进⾏具体的主存分配操作,并设置⼀个表格记录主存空间的分配情况去配:当某个进程撤离或主动归还主存资源时,存储管理软件要收回它所占⽤的全部或者部分存储空间,调整主存分配表信息主存储器空间的共享:多个进程共享主存储器资源:多道程序设计技术使若⼲个程序同时进⼊主存储器,各⾃占⽤⼀定数量的存储空间,共同使⽤⼀个主存储器多个进程共享主存储器的某些区域:若⼲个协作进程有共同的主存程序块或者主存数据块多道程序设计需要复⽤主存:按照分区复⽤:主存划分为多个固定/可变尺⼨的分区,⼀个程序/程序段占⽤⼀个分区按照页架复⽤:主存划分成多个固定⼤⼩的页架,⼀个程序/程序段占⽤多个页架装载程序/加载器(loader)把可执⾏程序装⼊内存的⽅式有:绝对装载可重定位装载动态运⾏时装载地址转换:⼜称重定位,即把可执⾏程序逻辑地址转换成绝对地址,可分为:静态地址重定位:由装载程序实现装载代码模块的加载和地址转换(⽆需硬件⽀持),把它装⼊分配给进程的内存指定区域,其中所有指令代码和数据的逻辑地址在执⾏前⼀次全部修改为内存物理地址。
早期单任务单⽤户OS使⽤。
动态地址重地位:由装载程序实现装载代码模块的加载,把它装⼊进程的内存在指定区域,但对链接程序处理过的应⽤程序逻辑地址不做修改,程序内存起始地址被置⼊重定位寄存器(基址寄存器)。
程序执⾏过程中每当CPU访问程序和数据引⽤内存地址时,由硬件地址转换机构截取此逻辑地址并加上重定位寄存器的值。
运⾏时链接地址重定位存储保护:为避免主存中的多个进程相互⼲扰,必须对主存中的程序和数据进⾏保护。
操作系统的虚拟存储管理与页式存储技术
操作系统的虚拟存储管理与页式存储技术操作系统是计算机系统中非常重要的一个组件,它负责管理计算机硬件和软件资源,协调各个应用程序的执行,以及提供用户与计算机之间的接口。
虚拟存储管理是操作系统中的一个核心功能,它通过将主存(内存)和辅存(磁盘)结合起来,在有限的主存空间中管理多个应用程序的运行和数据存储。
页式存储技术是一种常用的虚拟存储管理技术,下面将详细介绍虚拟存储管理以及页式存储技术的原理和实现方式。
一、虚拟存储管理的概念和原理虚拟存储管理是一种用于管理计算机主存和辅存的技术,它将辅存中的数据自动地转移到主存中,并且能够在程序运行时动态地分配和回收主存空间。
通过虚拟存储管理,即使计算机的主存空间有限,也可以实现更多应用程序的并发执行和大规模数据的存储与处理。
虚拟存储管理的主要原理是将辅存中的数据划分为若干个固定大小的存储块,称为页面(Page)。
同样,主存也被划分为与辅存页面大小相同的存储块,称为页框(Page Frame)。
每个页面和页框都有唯一的标识符,用于管理和映射页面到页框的关系。
当一个应用程序需要访问或执行某个页面时,操作系统将其从辅存中读入一个空闲的页框,并将其映射到相应的页面标识符。
如果主存中没有空闲的页框,则需要使用一定的页面置换算法将某个页面替换出去,以腾出页框给新的页面使用。
虚拟存储管理能够有效地利用计算机的主存资源,并且能够在不同的应用程序之间进行数据保护和隔离。
通过页面和页框的映射关系,操作系统可以实现虚拟地址空间的划分和隔离,每个应用程序都认为自己独占了整个计算机的内存空间,而不需要关心其他应用程序的存在。
二、页式存储技术的实现方式页式存储技术是一种基于虚拟存储管理的实现方式,它将主存和辅存划分为固定大小的页面,并且使用页表来管理页面和页框的映射关系。
下面将详细介绍页式存储技术的实现方式。
1. 页面和页框的划分页式存储技术将辅存和主存划分为固定大小的页面和页框,通常大小为2的幂次方,例如2KB、4KB或者16KB等。
操作系统第五版费祥林-课后习题答案参考
操作系统第五版费祥林-课后习题答案参考1. 习题一a) 内容描述:- 系统调用是操作系统提供给用户程序的一组接口,用于访问操作系统的功能和服务。
- 系统调用是以进程的方式运行的,通过软中断或硬中断触发,并返回一个状态值,表示系统调用的执行结果。
b) 答案:系统调用的主要目的是提供一种安全的方式,让用户程序能够访问操作系统的特权功能。
通过系统调用,用户程序可以进行文件操作、网络通信、进程管理等功能。
2. 习题二a) 内容描述:- 进程是计算机中正在运行的程序的实例。
- 进程由程序代码、相关数据和执行上下文组成。
- 进程拥有自己的虚拟内存空间、寄存器状态和资源。
- 进程可以通过操作系统的调度机制进行切换和调度。
b) 答案:进程的主要特征包括并发性、独立性和随机性。
并发性指的是多个进程可以同时存在和执行;独立性指的是进程拥有独立的资源和执行上下文;随机性指的是进程的执行顺序和时间不确定。
3. 习题三a) 内容描述:- 死锁是指两个或多个进程因为竞争有限的资源而无法继续执行的状态。
- 死锁发生的原因包括互斥、占有且等待、不可抢占和循环等待。
b) 答案:死锁的预防和避免是操作系统中重要的问题。
预防死锁的方法包括破坏死锁产生的条件,如破坏互斥条件、破坏占有且等待条件等;避免死锁的方法包括资源分配图和银行家算法。
4. 习题四a) 内容描述:- 页面置换算法是操作系统中用于管理虚拟内存的重要手段。
- 页面置换算法的目标是在有限的物理内存空间中有效地管理大量的进程和页面。
- 常见的页面置换算法有FIFO、LRU和LFU等。
b) 答案:页面置换算法的选择依赖于系统的具体需求和资源限制。
FIFO算法是最简单的页面置换算法,它总是选择最先进入内存的页面进行置换;LRU算法则是根据页面最近被访问的频率进行置换;LFU算法是根据页面被访问的次数进行置换。
5. 习题五a) 内容描述:- 文件系统是操作系统中负责管理文件和目录的一组服务和数据结构。
操作系统虚拟存储器
6.1.1 虚拟存储器的引入
所以局限性表现为: 1. 时间局限性 如果程序中的某条指令一旦执行,则不久的将来该指 令可能再次被执行;如果某个存储单元被访问,则不久以 后该存储单元可能再次被访问。产生时间局限性的典型原 因是在程序中存在着大量的循环操作。 2. 空间局限性 一旦程序访问了某个存储单元,则在不久的将来,其 附近的存储单元也最有可能被访问。 即程序在一段时间内 所访问的地址,可能集中在一定的范围内,其典型原因是 程序是顺序执行的。
华北电力大学计算机系
6.1.3 虚拟存储器的特征
一.离散性:指在内存分配时采用离散的分配方式, 它是虚拟存储器的最基本的特征。 二.多次性:指一个作业被分成多次调入内存运行, 即在作业运行时没有必要将其全部装入,只须将 当前要运行的那部分程序和数据装入内存即可。 三.对换性:指允许在作业的运行过程中在内存和外 存的对换区之间换进、换出。 四.虚拟性:指能够从逻辑上扩充内存容量,使用户 所看到的内存容量远大于实际内存容量。 它是虚拟存储器最重要的特征。
第六章 虚拟存储器
内容 虚拟存储器的基本概念 请求分页存储管理方式 页面置换算法 请求分页系统的性能分析 请求分段存储管理方式 存储管理举例
华北电力大学计算机系
第六章 虚拟存储器
目的及要求
理解并掌握虚拟存储器的概念和特征,初步领会虚拟存 储器的实现方式; 了解请求分页中的硬件支持,领会并理解页面分配和置 换的策略; 熟练掌握最佳置换和先进先出页面置换算法,理解并掌 握最近最久未使用置换算法,了解Clock、最少使用和 页面缓冲置换算法; 了解缺页率对优先访问时间的影响,领会抖动产生的原 因和预防方法; 了解请求分段中的硬件支持,领会请求分段存储管理方 式中分段共享和保护;
操作系统教程第五版费翔林课后答案
操作系统教程第五版费翔林课后答案本文是针对操作系统教程第五版费翔林书籍中的课后题目提供的答案解析。
在这个教程中,费翔林教授详细介绍了操作系统的基本概念、原理和实践,涵盖了进程管理、内存管理、文件系统、设备管理等各个方面。
通过对这些课后题目的解答,可以更好地理解和巩固操作系统的知识。
第一章:引论1.什么是操作系统?它的主要目标是什么?–答案:操作系统是一种控制和管理计算机硬件和软件资源的系统软件。
操作系统的主要目标是为用户提供一个方便、高效、安全的计算机环境。
2.请简要描述操作系统的角色和功能。
–答案:操作系统有几个角色和功能:•资源管理:操作系统管理计算机的各种硬件资源,包括处理器、内存、存储设备和输入输出设备。
•进程管理:操作系统创建、调度和终止进程,以及处理进程间的通信和同步。
•内存管理:操作系统分配和回收内存,管理虚拟内存,以及处理内存的保护和共享机制。
•文件系统:操作系统管理文件和目录的存储和访问,提供文件的创建、读取、写入和删除等操作。
•设备管理:操作系统管理计算机的输入输出设备,包括键盘、鼠标、显示器、打印机等。
•用户接口:操作系统提供了与计算机交互的界面,包括命令行界面和图形用户界面等。
第二章:进程管理1.什么是进程?进程的状态有哪些?–答案:进程是指在计算机中正在运行的程序的实例。
进程的状态包括:•就绪:进程已经准备好执行,但是还没有被分配到处理器。
•运行:进程正在处理器上执行。
•阻塞:进程由于某些原因不能继续执行,需要等待某个事件的发生。
•终止:进程已经完成或被终止,等待被操作系统回收。
2.请简要描述进程的创建、终止和状态切换的过程。
–答案:进程的创建是通过调用系统调用来完成的,系统为新进程分配资源,并设置进程的初始状态。
进程的终止可以是正常终止(调用系统调用进行退出)或异常终止(例如发生错误)。
进程状态之间的切换通过操作系统的调度算法来实现,例如从就绪状态切换到运行状态,或从运行状态切换到阻塞状态。
教学课件:《操作系统》(第5版)费翔林
操作系统 (系统软件)
计算机硬件
计算机系统层次结构(2)
• 硬件层 • 操作系统层 • 支撑软件层 • 应用软件层
操作系统的主要目标
• 方便用户使用 • 扩大机器功能 • 管理系统资源 • 提高系统效率 • 构筑开放环境
操作系统与支撑及应用软件的区别
• 程序意图不同,各有不同任务,解 决不同问题;
用户:运行应用程序,使用逻辑地址
虚拟机界面 OS:虚存及其管理
物理机界面
虚拟地址 物理地址
硬件:主存+辅存
虚存抽象的效果是给用户 造成假象,感觉独占了一 个连续地址空间,编写应 用程序的长度不受物理内 存大小限制。虚存是通过 结合对内存和外存的管理 来实现的,把一个进程的 虚存中的内容存储在磁盘 上,用内存作为磁盘的高 速缓存,以此为用户提供 比物理内存空间大得多的 虚拟内存空间。
虚拟机界面
fork、wait、exec...
OS:进程及其管理 物理机界面 进程调度和切换
硬件:处理器
进程是对于进入内存的执 行程序在处理器上操作的 状态集的一个抽象。进程 抽象的效果是让用户感觉 到有自己独享的处理器, 从而,可为用户提供多任 务操作系统和分时操作系 统。
操作系统中三个基础抽象
虚 存(virtual memory) (虚存是内存的一种抽象)
1.1.4操作系统主要特性
第一个特性--并发性 第二个特性--共享性 第三个特性--异步性
第一个特性--并发性(1)
• 并发性--指两个或两个以上的事件 或活动在同一时间间隔内发生。
• 发挥并发性能够消除系统中部件和 部件之间的相互等待,有效地改善 系统资源的利用率,改进系统的吞 吐率,提高系统效率。
ch4-虚拟内存
Registers
Speed (ns): 1ns
100ns
10ms
Size (bytes): 100s
Ms
Gs
请求调页时的有效访问时间
100(1-p)+10000000p= 100+9999900p 110
p<0.000001
有效访问时间=(1-p)ma+p调页时间 缺页率(页错误率)应该很小: 1/105
运行进程页表基址
③命中
物理地址
内存(系统 区)运行进 程页表
④不命中
⑤页表命中
页框 页内地址
内存(用户区)
运行进 程映象
③ ⑤
访 问
⑨装入 、改表
⑧调页
⑦发缺页中断 缺页中断处理
请求分页虚存地址转换过程(2)
在外存
无登记
逻辑地址
有登记 查快表
在内存 查页表
形成绝对地址
发缺页中断
登记入快表
继续执行指令 硬件
Ref: A B C A B D A D B C B
Page:
1A
C
2
B
3
C
D
本实例,OPT导致5次缺页 可惜,OPT需要知道将来发生的事… 怎么办?
LRU页面置换
用过去的历史预测将来。LRU算法: 选最近最长 一段时间没有使用的页淘汰(最近最少使用)。
继续上面的实例: (3frame)A B C A B D A D B C B
R=1 R=1 R=1
R=0
R=0
R=0
R=1
R=1
R=1
R=0 R=0 R=1
R=0 R=1 R=1
R=0
R=0
操作系统原理及应用(Linux)(第二版)第4章 存储器的管理课件文本
1
教学内容
4.1 存储器管理概述
4.2 连续分配存储管理方式
4.3 分页存储管理方式 4.4 分段存储管理方式 4.5 虚拟存储器的基本概念
4.6 请求分页 4.7 请求分段存储管理
4.8 LINUX系统的内存管理方法
本章小结
2
第4章 存储器管理
4.1 存储器管理概述
28
第4章 存储器管理
操作系统 用户程序1 10kb 用户程序3 30kb 用户程序6 14kb
用户程序9
26kb
a紧凑前
操作系统 用户程序1 用户程序3 用户程序6 用户程序9
b紧凑后 图4.9 紧凑的示意
80KB
29
第4章 存储器管理
2.动态重定位
在该方式中,将程序中的相对地址转换为物理地址的工作被推 迟到程序指令真正要执行时进行。因此,允许作业在运行过程中移 动的技术,必须获得硬件地址变换机构的支持。即在系统增加一个 重定位寄存器,用它来装入程序在内存中的起始地址。程序在执行 时,真正访问的内存地址是相对地址与重定位寄存器中地址相加而 形成的。
17
第4章 存储器管理
界限寄存器
重定位寄存器
逻辑地址
CPU
<
物理地址 +
内存
地址错 图4.7 地址映射和地址保护
18
第4章 存储器管理
4.2.2 固定分区分配方式
固定分区管理比较简单,本节仅以举例的方式说明其原理。 设一个容量为32k的实际内存,分割成如下若干区域,如图所示。
操作 10k 系 统
14
第4章 存储器管理
4.2.1 单道程序的连续分配
操作系统Chap4.5虚拟存储管理
• A process may be broken up into pieces that do not need to located contiguously in main memory
– All pieces of a process do not need to be loaded in main memory during execution
– If it is in main memory, the entry contains the frame number of the corresponding page in main memory
– If it is not in main memory, the entry may contain the address of that page on disk or the page number may be used to index another table (often in the PCB) to obtain the address of that page on disk
• Hardware must support paging and segmentation
• Operating system must be able to management the movement of pages and/or segments between secondary memory and main memory
