OSLec15分页存储管理

合集下载

分页存储管理

分页存储管理

非连续分配方式1.基本内容:页式存储管理基本思想、数据结构、地址转换过程。

段式存储管理以及段页式存储管理。

2.学习要求:;掌握页式存储管理、段式存储管理以及段页式存储管理的实现原理、数据结构、地址转换机构等内容。

3.教学要求:本单元共安排4学时。

采用教员课堂讲授方法实施教学。

该部分内容抽象,是本章学习重点与难点。

课后可通过课程设计使学员加深对于抽象理论的理解和掌握。

4.重点:各种管理实现原理、数据结构、地址转换机构。

5.难点:段式存储管理。

分页存储管理可重定位分区分配虽然可以解决碎片和共享问题,但由于信息的大量移动而损失了许多宝贵的CPU时间,且存储用户的作业受到实际存储容量的限制。

多重分区分配虽在一定程度上解决了这些问题,但由于要求各分区设置分段的重定位寄存器,存储分配策略较复杂,且需较多的硬件支持。

分页式管理技术通过地址转换机制,能明显消除内、外存之间的差别,将外存看作内存的扩充和延伸。

并能很好解决“外零头”的问题。

一、分页在储管理实现的基本思想:在分页存储管理中,将每个作业的逻辑地址空间分为大小相同的块,称为虚页面或页(page),通常页面大小为2的整数次幂(512K~4K)。

同样地,将物理空间也划分为与页面大小相等的块,称之为存储块或页框(page frame),为作业分配存储空间时,总是以页框为单位。

例如:一个作业的地址空间有M页,那么只要分配给它M个页框,每一页分别装入一个页框即可。

纯分页系统的定义:指在调度一个作业时,必须把它的所有页一次装入到主存的矾框。

若当时页框数不足,则该作业必须等待,系统再调度其他作业。

这里,并不要求这些页框是相邻的。

即连续逻辑地址空间的页面,通过页面地址转换机构可以映射到不连续的内存块中。

对地址空间的分页是由系统自动进行的,其逻辑地址由相对页号和页内位移量(页内地址)两部分组成(下面a)。

图中设逻辑地址长度为16位,可表示64K的逻辑地址空间。

物理地址也由块号及块内移量(块内地址)两部分组成(下图b)。

分页存储管理

分页存储管理

5(内存块号)
100(页内地址)
内存地址寄存器
图 页式地址变换过程
写出下图中逻辑地址2500所对应的物理地址
5k 第5页
6k
第6页
作业1的地址空间
5 7 9 15 13 10 16
页表
作业图1的地址页空式间 管理的示页表意图
0
5k
6k
7k
8k
9k
10k
11k
12k
13k
14k
15k
16k
...
17k
31k
主存空间
▪ 例:作业地址空间共有7个页, 每 页 的 相 对 地 址 为 0~1023 , 1024~2047 , 2048~3071 , … , 6144~6150 。 其 对 应 的 主 存 块 在 页表中已列出。分别为5,7,9, 15,13,10,16共7块。假定页 表在主存始址为500。若该程序 从第0页开始运行,且现程序计 数器内容为:
4.3.2地址变换(映射)机构
1 .基本的地址变换机构 地址变换机构的基本任务是利用页表把用户程序中的逻辑地 址变换成内存中的物理地址,实际上就要将用户程序中的页 号变换成内存中的物理块号。为了实现地址变换功能,在系 统中设置页表寄存器,用来存放页表的始址和页表的长度。 在进程未执行时,每个进程对应的页表的始址和长度存放在 进程的PCB中,当该进程被调度时,就将它们装入页表寄存 器。在进行地址变换时,系统将页号与页表长度进行比较, 如果页号大于页表寄存器中的页表长度,则访问越界,产生 越界中断。如未出现越界,则根据页表寄存器中的页表始址 和页号计算出该页在页表项中的位置,得到该页的物理块号, 将此物理块号装入物理地址寄存器中。与此同时,将有效地 址(逻辑地址)寄存器中页内地址直接装入物理地址寄存器 的块内地址字段中,这样便完成了从逻辑地址到物理地址的 变换。

简述存储管理的五大功能

简述存储管理的五大功能

简述存储管理的五大功能存储管理是计算机系统中的重要组成部分,它负责管理和优化计算机系统中的存储资源。

存储管理的五大功能包括:内存分配与回收、内存保护、地址映射、内存扩充和虚拟内存管理。

一、内存分配与回收内存分配与回收是存储管理的基本功能之一。

它负责分配和回收系统中的内存资源,以满足进程的需求。

在操作系统中,常用的内存分配算法有首次适应算法、最佳适应算法和最差适应算法等。

这些算法根据不同的策略选择合适的内存块进行分配,并及时回收不再使用的内存。

二、内存保护内存保护是存储管理的另一个重要功能。

它通过设置访问权限和使用各种技术手段,保护进程间的内存不被非法访问和破坏。

内存保护可以分为硬件保护和软件保护两种方式。

硬件保护主要依靠处理器的特权级和访问权限等机制,而软件保护则通过操作系统的权限管理和地址空间隔离等手段来实现。

三、地址映射地址映射是存储管理的核心功能之一。

它负责将逻辑地址转换为物理地址,实现进程对内存的访问。

地址映射通过页表、段表等数据结构来完成,其中页表是最常用的一种。

地址映射的过程包括将逻辑地址分解为页号和页内偏移量,然后根据页号在页表中查找对应的物理页框号,并将页内偏移量与物理页框号相加得到物理地址。

四、内存扩充内存扩充是存储管理的一项重要功能。

它通过将部分进程的页表存放在外存中,从而实现对内存容量的扩充。

当进程需要访问外存中的页表时,操作系统会将页表加载到内存中,并进行适当的地址映射。

内存扩充可以有效提高系统的内存利用率和运行效率,但也会增加访问时间和开销。

五、虚拟内存管理虚拟内存管理是存储管理的高级功能之一。

它通过将进程的逻辑地址空间映射到物理内存和外存的组合空间中,实现对大容量、稀缺的物理内存的有效管理。

虚拟内存管理包括页面置换算法、页面替换策略和页面调度等技术。

通过合理地管理虚拟内存,可以提高系统的吞吐量和响应速度,同时还能提供更大的地址空间给应用程序使用。

存储管理的五大功能包括内存分配与回收、内存保护、地址映射、内存扩充和虚拟内存管理。

操作系统的分段和分页机制

操作系统的分段和分页机制

操作系统的分段和分页机制
分段和分页是操作系统中用于存储和管理内存的两种常用机制。

分段机制是将程序分为多个段,每个段的大小可以不同,每个段的地址空间都是独立的。

每个段都有一个段表,记录了该段在内存中的起始地址和长度等信息。

程序在执行过程中,通过段表来实现地址转换,从而访问到对应的内存段。

这种机制可以实现共享内存,保护内存等功能。

分页机制是将内存划分为若干等大小的页,每个页的大小固定,通常为4KB。

程序的地址被分为页号和页内偏移两部分,通过页表来实现地址转换。

页表记录了每个页的状态和所在的物理地址。

由于页的大小是固定的,因此不同的程序可以共享同一个物理页,这种机制可以提高系统的内存利用率。

两种机制的组合可以更好地管理内存。

操作系统可以先将程序分为若干个段,再将每个段分配到一组连续的页中,然后通过同时使用段表和页表来实现地址转换。

这种机制称为分段页式存储管理机制。

操作系统- 存储器管理-基本存储管理(分页)

操作系统- 存储器管理-基本存储管理(分页)

基本分页存储管理方式
分页中的页内碎片
1 10K 10K 10K 10K 10K 10K 10K 10K
42K
2 1 2 3 4 5 10K 10K 10K 10K 10K 10K 10K 10K 6 10K 7 2K 8 3 4 5
8K
第四章 存储器管理
基本分页存储管理方式中的地址结构
逻辑地址结构中包含两部分:页号P 页内偏移量W 通常采用m 逻辑地址结构中包含两部分:页号P、页内偏移量W。通常采用m位表示逻辑 地址。其中, 位表示页内偏移量w 用高m 位表示页号P 地址。其中 ,低n 位表示页内偏移量w ;用高m-n 位表示页号P ; 页大小通常 次幂, 为2的n次幂,
物理地址寄存器 a的物理地址 物理块号 块大小+页内偏移地址 的物理地址(=物理块号*块大小 页内偏移地址 页内偏移地址) 的物理地址第四章 Nhomakorabea存储器管理
三、具有快表的地址变换机构 1、快表的引入
CPU存取一个数据, 需两次访问内存。 次访问内存中的页表, CPU 存取一个数据,需两次访问内存 。 第 1 次访问内存中的页表 , 从 存取一个数据 中获取物理块号P 和页内偏移量W 进行拼接形成物理地址; 中获取物理块号 P , 将 P 和页内偏移量 W 进行拼接形成物理地址 ; 第 2 次根据物理地址从该地址的存储单元中取数据。这两次存取内存, 次根据物理地址从该地址的存储单元中取数据 。 这两次存取内存 , 使计算机的处理速度降低近1 使计算机的处理速度降低近1/2。 为了提高访存速度, 引入具有并行查询能力的高速缓冲存储器, 为了提高访存速度 , 引入具有并行查询能力的高速缓冲存储器 , 又 称为快表或者联想存储器,存放最近使用过的页表项。 称为快表或者联想存储器,存放最近使用过的页表项。 处于成本考虑,快表通常只能够存放16-512个页表项 处于成本考虑,快表通常只能够存放16-512个页表项 16 以命中率作为快表的使用效率评判标准。 以命中率作为快表的使用效率评判标准。

分页存储管理方式

分页存储管理方式
15
练习题 【例4】:有一页式系统,其页表存放在主存中
①如果对主存的一次存取需要1.5μs,试问实现一次页面访 问的存取时间是多少? ②如果系统加有快表,平均命中率为85%,当页表项在快表 中时,其查找时间忽略为0, 试问此时的存取时间是多少?
答:若页表存放在主存中,则要实现一次页面访问需两次 访问主存:一次是访问页表,确定所存取页面的物理地 址(称为定位)。第二次才根据该地址存取页面数据。
① 将逻辑地址转换成二进制; ② 按页的大小分离出页号P和位移量W(低位部分是位
移量,高位部分是页号);
③ 将位移量直接复制到内存地址寄存器的低位部分; ④ 以页号查页表,得到对应页装入内存的块号B,将
块号转换成二进制数填入地址寄存器的高位部分, 从而形成内存地址。
14
练习题:
例1:设有8页的逻辑地址空间,每页有1024个字节,它们被 映射到32块的物理存储区,那么逻辑地址的有效位是多少, 物理地址至少多少位?
越界保护
查页表前,将页号与PTR中的页表长度比较,超出
(>=)则越界
10
页表寄存器 页表始址 址 页号(3) 页内地址

页号 0 1 2 3
块号 1
b
页表
物理地址
分页系统地址变换机构
11
具有快表的地址变换机构
对于基本的地址变换机构(无快表),每存取一个数据, 需要访问两次内存
将页表全部放入。大作业虽然无法全部放入,但由于程序和数据访问的
局部性,也可以取得较好的效果。据统计:命中率>90%
13
分页管理中的地址映射问题
【注意】将逻辑地址线性分割求出页号P和页内位移W: 1、逻辑地址以十进制数给出: 页号P=逻辑地址 / 页大小

分页与分段存储管理

分页与分段存储管理

分页与分段存储管理
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 # 块等等。在为进程分配内存时,以块为单位将进程中的若 干个页分别装入到多个可以不相邻接的物理块中。

一级页表的分页存储管理方式

一级页表的分页存储管理方式

一级页表的分页存储管理方式一级页表是一种常见的分页存储管理方式,它通过将进程的虚拟地址空间划分为固定大小的页,实现了虚拟内存和物理内存的映射关系。

在一级页表中,页表项的数量与虚拟地址空间的大小成正比,每个页表项记录了虚拟页号和物理页号的对应关系。

一级页表的分页存储管理方式具有以下特点和优势:1. 虚拟地址空间的划分:一级页表将进程的虚拟地址空间划分为固定大小的页,通常是4KB或者8KB。

这样的划分使得进程的虚拟地址空间更加灵活,并且可以根据需要进行动态分配和释放。

2. 分页映射的实现:一级页表通过将虚拟页号映射到物理页号,实现了虚拟内存和物理内存的映射关系。

当进程访问某个虚拟地址时,通过一级页表可以快速找到对应的物理地址,从而完成内存读写操作。

3. 地址转换的效率:一级页表的地址转换过程相对简单,只需要通过虚拟页号查找对应的页表项,然后获取物理页号。

这种简单的地址转换方式可以提高存储管理的效率,减少地址转换的开销。

4. 空间利用的优化:一级页表中的页表项数量与虚拟地址空间的大小成正比,因此可以根据需要动态调整页表的大小。

这样可以在一定程度上优化空间的利用,减少不必要的内存开销。

5. 访问控制的灵活性:一级页表可以通过设置权限位来实现对内存的访问控制。

例如,可以将某些页面设置为只读或只执行,从而提高系统的安全性。

6. 内存碎片的解决:一级页表可以通过页表项的重新映射来解决内存碎片的问题。

当内存中的某些页面不再使用时,可以将其对应的页表项重新映射到其他可用的物理页面,从而解决内存碎片的问题。

尽管一级页表的分页存储管理方式具有以上优势,但也存在一些不足之处:1. 空间开销较大:一级页表需要为每个进程分配独立的页表,这会占用大量的内存空间。

特别是在多进程的环境下,一级页表的空间开销会更加显著。

2. 地址转换的效率有限:一级页表的地址转换过程相对简单,但当页表项数量较大时,查找对应的页表项可能会消耗较多的时间。

操作系统-分页存储管理方式

操作系统-分页存储管理方式
EAT = t + t = 2t
11
第一章 操作系统引论
在引入快表的分页存储管理方式中,通过快表查询,可 以直接得到逻辑页所对应的物理块号,由此拼接形成实际物 理地址,减少了一次内存访问,缩短了进程访问内存的有效 时间。但是,由于快表的容量限制,不可能将一个进程的整 个页表全部装入快表,所以在快表中查找到所需表项存在着 命中率的问题。所谓命中率,是指使用快表并在其中成功查 找到所需页面的表项的比率。这样,在引入快表的分页存储 管理方式中,有效访问时间的计算公式即为:
14
第一章 操作系统引论
图4-17 两级页表结构
15
第一章 操作系统引论
为了方便实现地址变换,在地址变换机构中,同样需要 增设一个外层页表寄存器,用于存放外层页表的始址,并利 用逻辑地址中的外层页号作为外层页表的索引,从中找到指 定页表分页的始址,再利用P2作为指定页表分页的索引,找 到指定的页表项,其中即含有该页在内存的物理块号,用该 块号P和页内地址d即可构成访问的内存物理地址。图4-18示 出了两级页表时的地址变换机构。
命中率 (%) а 0 50 80 90 98
有效访问时间 EAT 220 170 140 130 122
13
第一章 操作系统引论
4.5.4 两级和多级页表 1. 两级页表(Two-Level Page Table) 针对难于找到大的连续的内存空间来存放页表的问题,
可利用将页表进行分页的方法,使每个页面的大小与内存物 理块的大小相同,并为它们进行编号,即依次为0# 页、1# 页,…,n# 页,然后离散地将各个页面分别存放在不同的物 理块中。同样,也要为离散分配的页表再建立一张页表,称 为外层页表(Outer Page Table),在每个页表项中记录了页表 页面的物理块号。

操作系统:离散分配存储管理方式

操作系统:离散分配存储管理方式

操作系统:离散分配存储管理⽅式⽬录离散分配⽅式连续分配⽅式会形成许多外部碎⽚,虽然可通过“紧凑”⽅法将许多碎⽚拼接成可⽤的⼤块空间,但紧凑的时间开销和复杂度都很⾼。

如果允许将⼀个进程直接分散地装⼊到许多不相邻接的分区中,便可充分地利⽤内存空间,也就是采⽤离散分配的⽅式。

根据在离散分配时所分配地址空间的基本单位的不同,⼜可将离散分配分为以下三种:1. 分页存储管理⽅式:将⽤户程序的地址空间分为若⼲个固定⼤⼩的“页⾯”,也将内存空间分为若⼲个页框,将⽤户程序的任⼀页放⼊任⼀物理块中;2. 分段存储管理⽅式:把⽤户程序的地址空间分为若⼲个⼤⼩不同的段,以段为单位进⾏分配,这些段在内存中可以不相邻接;3. 段页式存储管理⽅式:将分页和分段两种存储管理⽅式相结合。

分页存储管理分页存储的结构分页存储管理将进程的逻辑地址空间分成若⼲个页⾯,并为各页加以编号。

相应地也把内存的物理地址空间分成若⼲个物理块,同样也加以编号。

在为进程分配内存时,以块为单位,将进程中的若⼲个页分别装⼊到多个可以不相邻接的物理块中。

若页⾯⼤⼩设置得较⼩,可以减⼩内存碎⽚并提⾼内存利⽤率,但会造成每个进程占⽤较多的页⾯,从⽽导致进程的页表过长、占⽤⼤量内存和降低页⾯换进换出的效率。

如果选择的页⾯过⼤,虽然可以减少页表的长度,提⾼页⾯换进换出的速度,但却⼜会使页内碎⽚增⼤。

因此页⾯的⼤⼩应选择适中,且页⾯⼤⼩应是 2 的幂,通常为 1KB~8KB。

分页地址中的地址长度为 32 位,地址结构包含两部分内容。

前⼀部分为页号 P,占在 12 ~ 31 位,地址空间最多允许有 1M 页。

后⼀部分为位(偏)移量 W(页内地址),占在 0 ~ 11 位,每页的⼤⼩为 4KB。

对某特定机器的地址结构是⼀定的,若给定⼀个逻辑地址空间中的地址为 A,页⾯的⼤⼩为 L,则页号 P 和页内地址 d 可按下式求得,其中INT 是整除函数。

例如系统的页⾯⼤⼩为 1KB,设 A = 2170B,则由公式可以求得 P = 2,d = 122。

请求分页存储管理方式

请求分页存储管理方式
操作系统
请求分页存储管理方式
1.1 请求分页中的硬件支持 1. 页表机制
页号
物理块号 状态位P 访问字段A 修改位M 外存地址
2. 缺页中断机构
页面
6 B:
5 4 A:
3
指令 2
cop y A
1
TO B
图 4-22 涉及6次缺页中断的指令
3. 地址变换机构
缺页 中断处理 保留CP U现场 从外 存中找到 缺页
1.3 调页策略
1. 何时调入页面 1) 2) 请求调页策略
2. 从何处调入页面
在请求分页系统中的外存分为两部分:用于存放文件的文件区和用于存
放对换页面的对换区。通常,由于对换区是采用连续分配方式,而事件是 采用离散分配方式,故对换区的磁盘I/O速度比文件区的高。这样,每当 发生缺页请求时,系统应从何处将缺页调入内存,可分成如下三种情况:
操作系统
(1) 系统拥有足够的对换区空间,这时可以全部从对换区调入所需页
面,以提高调页速度。为此,在进程运行前, 便须将与该进程有关的文
件,从文件区拷贝到对换区
2. 从何处调入页面
(2) 系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接 从文件区调入;而当换出这些页面时,由于它们未被修改而不必再将它们 换出,以后再调入时,仍从文件区直接调入。但对于那些可能被修改的部 分,在将它们换出时,便须调到对换区,以后需要时,序所要访问的页面未在内存时,便向CPU发出一缺页中断,中断处 理程序首先保留CPU环境,分析中断原因后, 转入缺页中断处理程序。该 程序通过查找页表,得到该页在外存的物理块后, 如果此时内存能容纳 新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。如果内存已 满,则须先按照某种置换算法从内存中选出一页准备换出;如果该页未被 修改过,可不必将该页写回磁盘;但如果此页已被修改, 则必须将它写 回磁盘,然后再把所缺的页调入内存, 并修改页表中的相应表项,置其 存在位为“1”,并将此页表项写入快表中。在缺页调入内存后,利用修改 后的页表, 去形成所要访问数据的物理地址,再去访问内存数据。

分页存储管理实验报告

分页存储管理实验报告

分页存储管理实验报告分页存储管理实验报告篇一:分页存储管理的模拟实验上机报告分页存储管理的模拟实验上机报告页面管理的基本原理及方法:各进程的虚拟空间被划分成若干个长度相等的页(page)。

页长的划分和内存外存之间的数据传输速度以及内存大小等有关。

页式管理还把内存空间也按也的大小划分为页面(page frame)。

然后把页式虚拟地址与内存页面物理地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。

在作业或进程开始执行之前,把该作业或进程的程序段和数据全部装入内存的各个页面中,并通过页表(page mapping table)和硬件地址变换机构实现虚拟地址到内存物理地址的地址映射。

1. 内存页面分配静态页面管理的第一步是为要求内存的作业或进程分配足够的页面。

系统依靠存储页面表,请求表及页表来完成内存的分配工作。

a. 页表页表由页号与页面号组成。

如右图所示页表的大小由进程或作业的长度决定。

例如,对于一个每页长1k,大小为20k的进程来说,如果一个内存单元存放一个页表项,则只要分配给该页表20个存储单元即可。

页式管理是每个进程至少拥有一个页表。

实验中对页表的定义如下(采用数组形式,数组下标表示页号,数组单元存放与数组下标(页号)相应的页面号):int pagetable[100] b.请求表(作业申请表)请求表用来确定作业或进程的虚拟空间的各页在内存中的对应位置。

为了完成这个认为,系统必须知道每个作业或进程的页表起始地址(本实验中假定为0)和长度,以进行内存分配和地址变换。

另外请求表中还包括每个作业或进程所要求的页面数。

请求表整个系统一张,实验中对请求表的定义如下(采用结构体数组形式,并将页表也作为其中一个成员(即域)):#define u 5 struct application_table{char name[8];/*作业名*/int size;/*作业大小――即将上表中的请求页面数改用字节表示*/int paddress; /*页表起始地址*/ int length;/*页表长度――以页面数表示*/int state; /*内存的分配状态,以分配的用1表示,未分配的用0表示*/int pagetable[100];/*页表,放在这里是为了方便虚地址转换及作业撤销的操作*/ }application[u];c.存储页面表(本实验中采用位示图法)位示图也是整个系统一张,它指出内存各页面是否已被分配出去,以及未分配页面的总数。

分页存储管理

分页存储管理

谢谢

(物理)块或页框。
块号
对分号的若干个物理块分配的编号,每个块号在内存都有对 应物理地址。
31
页表的作用:实现从页号到物理块号的 地址结构 地址映射
12 11
0
第 1 部分-分页存储管理方式
31
12 11 0
就是页内地 址
地址结构
如果逻辑地址空间是2^m,页面大 小是2^n(字节),那么逻辑地址的高 m-n位是页号,低n位是页内地址(即位 移量W),最多允许拥有的页面数是 2^m-n(页) 两部分的地址长度为32位,其中0~11 位(计12位)为位移量,12~31位(计
1
第 3 部分 分段存储管理方式
为每个分段分配一个连续的分区,而进 程中的各个段可以离散地移入内存不同 的分区中。 动态分 配方式 分段存储管 理系统
系统为整个进程分配一个 为了能从物理内存中找出每个逻辑段所对应的位置,引 连续的内存空间 入段表 段表:实现逻辑段到物理内存区的映射。
第 3 部分 分段存储管理方式
与分页存

相似之处
两者都采用离散分配方式, 且都要通过地址映射机构来 实现地址变换。
储管理方
×
式的比较
段的作业地址空间则是二维的。
第 3 部分 分段存储管理方式
每段分配一个连续的分区,进程 中的各个段可以离散地分配到内存 中不同的分区中。
3
每个段从0开始编址,采用一 段连续的地址空间。
2
程序地址空间按其内在逻辑关系划分 成若干个相对独立ห้องสมุดไป่ตู้段,如主程序段、 子程序段、数据段及堆栈段等。
课堂回顾
分页存储管理 分段存储管理
关硕 20152069
分页存储回顾

OS_15_内存管理(4)_页式分配

OS_15_内存管理(4)_页式分配

1
2
3
4
5
6
7
8
9
2011-3-31
本例缺页率为9/17 = 52.9%
27
分配4个页面的情况
• 先进先出算法(FIFO):
– FIFO算法与 算法与Belady现象例 现象例: 算法与 现象例
• 设进程 共有5页,且已在内存中分配有 个页面,程序访问内 设进程P共有 页 且已在内存中分配有3个页面 个页面, 共有 存的页号顺序(访问串 访问串)为 存的页号顺序 访问串 为1,2,3,4,1,2,5,1,2,3,4,5。内存中 。 有关进程P所建的程序和数据的各页面变化情况如图 有关进程 所建的程序和数据的各页面变化情况如图
–位示图法:在内存中划分 一块固定区域,每个单元的每 位示图法: 一块固定区域, 位示图法 个比特代表一个页面。如果该页面已被分配, 个比特代表一个页面。如果该页面已被分配,则对应比 特位置1 否则置0 位示图要占据一部分内存容量。 特位置1,否则置0。位示图要占据一部分内存容量。
2011-3-31
把整个内存区域划分成很小的区域以较小的单位进行内存分配20121118一个虚拟页一个物理页面20121118kb10kb静态页式管理方法在作业或进程开始执行之前把该作业或进程的程序段和数据全部装入内存的各个页面中通过页表pagetable和硬件地址变换机构实现虚拟地址到内存物理地址的地址映页表的大小由进程或作业的长度决定
2011-3-31
21
动态页式管理
• 请求页式管理
–页不在内存(虚页)时的处理: 页不在内存(虚页)时的处理: 页不在内存
2011-3-31
22
• 动态页式 管理流程 图
2011-3-31

三种存储管理方式的地址换算

三种存储管理方式的地址换算

三种存储管理方式的地址换算摘要:操作系统(Operating System,OS)是方便用户、管理和控制计算机软硬件资源的系统软件(或程序集合)。

从用户角度看,操作系统可以看成是对计算机硬件的扩充;从人机交互方式来看,操作系统是用户与机器的接口;从计算机的系统结构看,操作系统是一种层次、模块结构的程序集合,属于有序分层法,是无序模块的有序层次调用。

操作系统在设计方面体现了计算机技术和管理技术的结合。

操作系统是系统软件的核心,、它控制程序的执行和提供资源分配、调度、输入/输出控制和数据管理等任务。

如DOS、UNIX、OS/2和Windows NT都是得到广泛使用的操作的系统。

三种管理方式中,分页系统能有效地提高内存利用率,分段系统则能很好地满足用户需要,而段页式系统则是把前两种结合起来形成的系统。

这种新系统既具有分段系统的便于实现、分段可共享、易于保护、可动态链接等一系列优点,有能像分页系统那样很好地解决内存的外部碎片问题,以及可为各个分段离散地分配内存等问题。

关键字:分页方式,分段方式,段页式方式,操作系统。

1.引言:分页存储管理是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页。

在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。

段的长度由相应的逻辑信息组的长度决定,因而个段长度不等。

段页式存储管理方式是分段和分页原理的结合,即先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。

三种存储管理都有其相应的段表、页表和地址变换机构。

2.三种存储管理方式地址换算描述:(1)分页存储管理方式为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了页表寄存器,用于存放页表在内存中的始址和页表的长度。

当进程要访问某个逻辑地址中的数据时,分页地址变换机构会自动地将有效地址(相对地址)分为页号和页内地址两部分,再以页号为索引去检索页表。

查找操作由硬件执行。

操作系统分页和分段区别是什么

操作系统分页和分段区别是什么

操作系统分页和分段区别是什么学习操作系统的朋友们可能有人操作系统中分页和分段中卡壳了,相对比较抽象,那么他们的区别是什么呢。

下面由店铺为大家整理了操作系统中分页和分段的区别之处,希望对大家有帮助。

一分段存储管理介绍1.基本思想将用户程序地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。

存储分配时,以段为单位,段与段在内存中可以不相邻接,也实现了离散分配。

2. 分段存储方式的引入方便编程分段共享分段保护动态链接动态增长3. 分段地址结构作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。

例程序段、数据段等。

每个段都从0开始编址,并采用一段连续的地址空间。

段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。

整个作业的地址空间是二维的。

15 12 11 0段号段内位移量段号4位,每个作业最多24=16段,表示段号从0000~1111(24-1);段内位移量12位,212=4k,表示每段的段内地址最大为4K(各段长度不同),从000000000000~1111111111114. 段表段号段长起始地址存取控制0 1K 40961 4K 175002 2K 81925. 地址变换(1). 程序执行时,从PCB中取出段表始址和段表长度(3),装入段表寄存器。

(2). 由分段地址变换机构将逻辑地址自动分成段号和段内地址。

例:7310D=0001|110010001110B=1C8EH段号为1,位移量为C8EH=3214D(3). 将段号与段表长度进行比较(1<3),若段号大于或等于段表长度,则表示本次访问的地址已超越进程的地址空间,产生越界中断。

(4). 将段表始址与段号和段表项长度的乘积相加,便得到该段表项在段表中的位置。

(5). 取出段描述子得到该段的起始物理地址。

1 4K 17500(6). 检查段内位移量是否超出该段的段长(3214<4K),若超过,产生越界中断。

OS5-存储管理

OS5-存储管理

a
不等或相等的区域。分区原则可
由一般系统操作员或OS决定。 如可划分成长作业分区或短作业 分区。 c
job
d
内存分区状态
存储 管理
区号
0 1 2 3 4
系统对内存的管理与控制通过数据结构“分区说明表” 进行,以说明各分区的区号、大小、起始地址和是 否是空闲区(分区状况)。 其中标志位为“0”时是空闲 分区, “1”时是已被某作业 分区大小 起始地址 标志位 占用的分区。 此外还需要为 32k 0k 1 用户作业建立请求表,表明 8k 32k 1 需要的内存容量。 16k 40k 0 内存状态 32k 56k 1 0 OS 64k 88k 0 分区说明表
存储 管理
2)动态分区的分配与回收
动态分区时的分配与回收主要解决三个问题: 由请求表查找作业所要求的内存长度,之后从可用 表或自由链中寻找出合适的空闲区给予分配内存。 分配空闲区之后,更新可用表或自由链。 进程或作业释放内存资源时,和相邻的空闲区进行 链接合并,更新可用表或自由链。

寻找空闲区的方法有以下三种:
分区管理是实现多道程序设计的一种最简单的存 储管理方法。 基本原理:给每一个内存中的进程划分一块适当 大小的存储区,以连续存储各进程的程序和数 据,使各进程得以并发执行。 按分区的时机,分区管理可以分为固定分区和动 态分区两种方式。
存储 管理
1.固定分区存储管理
0 OS 空 b
1)基本原理
把内存区固定地划分成若干个大小
作业(进程号)
作业A 作业B
32k 40k 56k
作业A(6k)
请求长度
6k 28k
作业B(28k)
88k
请求表
存储 管理

分页与分段存储管理-Read

分页与分段存储管理-Read

操作 系统 主存
2. 地址变换过程
分页与分段存储管理
分页与分段存储管理
在一个段页式存储管理系统,页面大小为1024字节。在一个进 程中,它的段表、页表如下所示,求逻辑地址为(1,2099) 对应的物理地址。
段表 (第2块)
段 页表首 号址
段内页表 (第76块)
页 内存块 号号
段内页表 (第33块)
可以采用这样两个方法来解决这一问题:① 采用离散分配方 式来解决难以找到一块连续的大内存空间的问题:② 只将当 前需要的部分页表项调入内存, 其余的页表项仍驻留在磁盘 上,需要时再调入。
分页与分段存储管理
1. 两级页表(Two-Level Page Table)
分页与分段存储管理
逻辑地址结构可描述如下:
bd 物理地址
页与分段存储管理
2.
分页与分段存储管理
2.
4.3.3 两级和多级页表
分页与分段存储管理
现代的大多数计算机系统,都支持非常大的逻辑地址空 间(232~264)。在这样的环境下,页表就变得非常大,要占用相 当大的内存空间。例如32位地址空间,页面大小为4KB的分 页系统,每个进程页表中的页表项可达1兆个之多。若每个页 表项占用4个字节, 每个进程页表要占用4MB内存,而且要 求是连续的。
分页与分段存储管理
第四章 存储器管理
4.1 程序的装入和链接 4.2 连续分配方式 4.3 基本分页存储管理方式 4.4 基本分段存储管理方式
上节回顾
1. 四种内存连续分配方式: 单一连续分配: 固定分区分配: 动态分区分配:FF、CF、BF分配算法 动态重定位分区分配:重定位寄存器
引入分段存储管理方式, 主要是为了满足用户和程序员
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

OSLec15
26
最佳(Optimal)置换算法
最佳置换算法是由Belady于1966年提出的一种理论上
的算法。 其所选择的被淘汰页面,将是以后永不使用的, 或许 是在最长(未来)时间内不再被访问的页面。 采用最佳置换算法,通常可保证获得最低的缺页率。
引用率 7 0 7 7 0 1 7 0 1 页框( 物理块)
15 缺页率为= 100%=75% 20
OSLec15 22
最近最久未使用(LRU)置换算法
引用率 7 0 7 7 0 1 7 0 1 页框 2 2 0 1 0 3 2 0 3 0 4 4 0 3 2 4 0 2 3 4 3 2 0 0 3 2 3 2 1 1 3 2 2 0 1 0 2 1 7 1 0 7 0 1
6
引入虚拟存储技术的好处
大程序:可在较小的可用内存中执行较大的用
户程序; 大的用户空间:提供给用户可用的虚拟内存空 间通常大于物理内存(real memory) 并发:可在内存中容纳更多程序并发执行; 易于开发:与覆盖技术比较,不必影响编程时 的程序结构
OSLec15
7
虚拟存储技术的特征
影响缺页次数的因素

(1) 分配给进程的物理块数 (2) 页本身的大小 (3) 程序的编制方法 (4) 页面淘汰算法
OSLec15
31
常驻集(resident set)
常驻集指虚拟页式管理中给进程分配的物理页面数目 常驻集与缺页率的关系:


每个进程的常驻集越小,则同时驻留内存的进程就越多, 可以提高并行度和处理器利用率;另一方面,进程的缺 页率上升,使调页的开销增大。 进程的常驻集达到某个数目之后,再给它分配更多页面, 缺页率不再明显下降。该数目是“缺页率-常驻集大小” 曲线上的拐点(curve)。
17
OSLec15
启动要处理的指令 给出虚地址
指 令 执 行 和 缺 页 中 断 处 理
形成页号 该页在主存
准备执行下条指令
Y
执行完该指令
硬件 软件
N
缺页中断 有空闲块
N
选一页淘汰 调整存贮分块表和页表
Y
从外存读入需要的页
N
调整存贮分块表和页表 重新启动被中断的指令
OSLec15
要重新写入
Y
该页写入外存
OSLec15
10
4.6.1 基本原理
目标:实现小内存大作业 实现方法:作业运行时,只将当前的一部分装入内存
其余的放在辅存,一旦发现访问的页不在主存中,则 发出缺页中断,由o.s将其从辅存调入主存,如果内存 无空块,则选择一个页淘汰。 分页存储管理系统根据请求装入所需页面的方法称为 请求分页存储管理。 必须解决以下两个问题:
功能:需要调入页面时,选择内存中哪个物理
页面被置换。称为replacement policy。 目标:把未来不再使用的或短期内较少使用的 页面调出,通常只能在局部性原理指导下依据 过去的统计数据进行预测; 页面锁定(frame locking):用于描述必须常驻 内存的操作系统的关键部分或时间关键(timecritical)的应用进程。实现方法为在页表中加上 锁定标志位(lock bit)。
年, Denning.P

时间局限性 空间局限性
“扩充”主存 ––– 虚拟存贮技术
实现方式:操作系统统一管理各级存储器;内
存中只存放当前要执行的程序部分,其余的保 存在外存上,OS根据需要随机地将需要的部 分对换到内存执行
OSLec15 4
虚拟存储技术的物质基础:二级存储器结构和
动态地址转换机构
OSLec15 20
常用页面置换算法
先进先出页面算法(FIFO):选择在内存中驻留时
间最长的页并淘汰之
最近最久未使用置换算法(LRU,Least Recently
Used ):淘汰没有使用的时间最长的页
最佳页面算法(OPT, Optimal ):淘汰以后不再
需要的或最远的将来才会用到的页面
18
思考
缺页中断同一般中断都是中断。区别?

相同点:

保护现场 中断处理 恢复现场 一般中断是一条指令完成后中断,缺页中断是一条 指令执行时中断 一条指令执行时可能产生多个缺页中断。如指令可 能访问多个内存地址,这些地址在不同的页中。

不同点:


OSLec15
19
4.6.2 页面置换(淘汰)算法

OSLec15
(1)当程序要访问的某页不在内存时,如何发现这种缺 页情况? (2)当需要把外存上的某个页面调入内存时,此时内存 中没有空闲块应怎么办?
11
60K-64K
56K-60K 52K-56K 48K-52K 44K-48K 40K-44K 36K-40K 32K-36K
28K-32K
辅存
0 1 2 0 1 … … … … …
块号
0 0 1 0 0 5 6 - 2 4
0 1k
os os job2(0页)
2k
3k 4k 5k 6k 7k 8k
job3(1页)
L 1, 2120 ADD 1, 3410 job1(0页) job1(1页) 空 job3(0页) 空 主存
14
3k 4k-1
在地址映射过程中,在页表中发现所要访问的页不在


内存,则产生缺页中断。 操作系统接到此中断信号后,就调出缺页中断处理程 序,根据页表中给出的外存地址,准备将该页调入内 存 此时应将缺页的进程挂起(调页完成唤醒) 如果内存中有空闲块,则分配一个块,将要调入的页 装入该块,并修改页表中相应页表项目的驻留位及相 应的内存块号 若此时内存中没有空闲块,则要淘汰某页(若被淘汰 页在内存期间被修改过,则要将其写回外存)
OSLec15 28
LRU 4 3 2 1 页1 4 3 2 1 页2 4 3 2 页3 4 3 x x x x 共缺页中断10次
OSLec15
4 4 1 2 x
3 3 4 1 x
5 5 3 4 x
4 3 2 1 5 4 3 2 1 5 5 4 3 2 1 3 5 4 3 2 3 3x x x
29
15
修改位
OSLec15
页表表项
页号、驻留位、内存块号、外存地址、访问位、
修改位



驻留位(中断位):表示该页是在内存还是在外存 访问位:根据访问位来决定淘汰哪页(由不同的算 法决定) 修改位:查看此页是否在内存中被修改过
中断位 内存块号 外存地址 访问位 修改位
页号
OSLec15
16
缺页中断(Page Fault)处理
多次对换:程序运行期间,分别在内、外存中
的程序多次对换
OSLec15
8
虚存管理三大策略
调入策略(把哪部分装入主存) 放置策略(放在主存什么地方) 淘汰策略(主存不足时,把哪部分淘汰出主存。)
OSLec15
9
4.6 请求分页存储管理
请求分页存储管理——虚拟页式存储管理


基本原理 页面置换(淘汰)算法 性能分析
24K-28K 20K-24K 16K-20K 12K-16K 8K-12K 4K-8K 0K-4K
OSLec15
X X X X 7 X 5 X X X 3 4 0 6 1 2
虚地址空间
} 虚页
物理地址空间
页框
28K-32K 24K-28K 20K-24K 16K-20K 12K-16K 8K-12K 4K-8K 0K-4K
12 缺页率为= 100%=60% 20
OSLec15 23
LRU实现代价
LRU硬件解法:系统为每页设置一个寄存器R,每当访
问这一页时,将该页对应的寄存器R置1,以后每个时 间间隔将所有的R左移一位,当淘汰一页时就选择R值 最大的页。 R=Rn-1Rn-2Rn-3 … R2R1R0
OSLec15
操作系统 第十五讲
张涛
OSLec15
1
Review
覆盖与交换技术
分页存储管理
OSLec15
2
Today we focus on…
虚拟存储器 请求分页存储管理
请求分页原理
页面置换算法 性能分析 方案评价
OSLec15 3
4.5 虚拟存储器(Virtual storage)
解决的问题:内存小,作业大、作业多的矛盾 实现的原理:程序执行时的局部性原理:1968
12
基本问题
一、怎样发现页不在内存?

方法:扩充页表,增加两个数据项:中断位、 辅存的位置 页号 块号 中断位 辅存
1. 不在内存 0. 在内存

OSLec15
1:发生缺页中断,调用OS的调页程序。
13
请求页式映象存贮图:
0 1k 2k 3k-1 0 1k 2k job1 L 1, 2120 ADD 1, 3410 006802 006251 job2 0 1 2
0
2
3

… … … …
1
1 0 0 1


1k
2k 3k-1
OSLec15
8 9k 3 10-k -
job3
基本问题
二、如何处理缺页一缺页中断管理?

发现中断、调入所缺页 如果内存不足,选一页淘汰,选择哪一页呢? 淘汰时,需要注意什么?
引用位
“ 0”表示没有访问过 “ 1”表示已被访问过 0修改位 ––– 写回辅存 1未修改过 ––– 不必写回辅存


二级存储结构:内存、外存 动态地址转换:在操作系统的改造下,内、外存地 址统一编址,扩大寻址空间
相关文档
最新文档