内存的存储管理--段式和页式管理的区别

合集下载

计算机操作系统存储管理

计算机操作系统存储管理

计算机操作系统存储管理计算机操作系统存储管理是指操作系统在运行过程中管理和控制计算机的存储资源的一种机制。

它负责分配和回收内存,以及保护和管理进程的内存访问权限。

存储管理是操作系统中的一个重要子系统,对系统的性能和稳定性具有重要影响。

本文将介绍计算机操作系统存储管理的基本原理、常见的存储管理技术以及其在实际应用中的作用。

一、存储管理的基本原理在计算机系统中,存储器扮演着重要的角色,它用于存储程序、数据和系统状态。

计算机操作系统存储管理的基本原理是将物理内存划分为多个逻辑区域,每个区域被分配给不同的程序或进程使用。

操作系统维护一个内存分配表,记录每个逻辑区域的使用情况,并根据请求进行内存分配与回收。

当进程创建时,操作系统将为其分配一定大小的内存,当进程终止时,操作系统会回收这些内存资源。

同时,存储管理还负责处理内存碎片问题,通过内存的动态分配与合并来最大化利用内存资源。

二、常见的存储管理技术1. 基于固定分区的存储管理技术基于固定分区的存储管理技术是最早的一种存储管理方法。

它将物理内存划分为若干固定大小的分区,每个分区只能分配给一个进程使用。

该方法简单直观,但由于分区的固定大小,会产生很多内存碎片,不利于内存的高效利用。

2. 基于可变分区的存储管理技术为了解决内存碎片问题,出现了基于可变分区的存储管理技术。

这种技术允许每个进程动态地申请和释放内存空间,分区的大小可以根据进程的需要进行调整。

它相对于固定分区的方法更加灵活,能够提高内存利用率,但也存在内存碎片问题。

3. 页式存储管理技术页式存储管理技术将物理内存和逻辑内存划分为固定大小的页块,进程的地址空间也被划分为相同大小的页。

通过将逻辑地址转换为物理地址,实现了逻辑内存与物理内存的映射。

该技术可以很好地解决内存碎片问题,并且方便创建和销毁进程,但需要额外的地址转换开销。

4. 段式存储管理技术段式存储管理技术将进程的逻辑地址空间划分为若干段,每个段具有不同的长度和属性。

linux段页机制

linux段页机制

linux段页机制
Linux操作系统中的段页机制是一种内存管理机制,用于将物
理内存映射到进程的虚拟地址空间。

段页机制结合了段式存储管理
和页式存储管理两种技术,以提供更灵活和高效的内存管理方式。

在Linux中,段页机制的实现主要包括以下几个方面:
1. 段式存储管理,Linux使用段式存储管理来管理进程的地址
空间。

每个进程都有自己的地址空间,被划分为多个段,如代码段、数据段、堆栈段等。

每个段都有自己的基地址和限长,这样可以更
灵活地管理内存空间。

2. 页式存储管理,Linux使用页式存储管理来将进程的虚拟地
址空间映射到物理内存。

虚拟地址空间被划分为固定大小的页,通
常为4KB。

操作系统负责将进程的页映射到物理内存中,并进行页
面置换等管理操作。

3. 虚拟内存管理,Linux通过段页机制实现了虚拟内存管理,
允许多个进程共享物理内存,并提供了一种虚拟内存空间,使得每
个进程都认为自己拥有整个地址空间。

4. 内存保护,段页机制可以实现内存保护,通过设置段的访问权限和页的访问权限,可以保护进程的地址空间不被非法访问。

总的来说,Linux中的段页机制通过段式存储管理和页式存储管理相结合,实现了对进程地址空间的灵活管理和对物理内存的高效利用,从而提高了系统的性能和安全性。

页式、段式、段页式存储优缺点总结

页式、段式、段页式存储优缺点总结

页式、段式、段页式存储优缺点总结内存管理⽅式主要分为:页式管理、段式管理和段页式管理。

页式管理的基本原理是将各进程的虚拟空间划分为若⼲个长度相等的页。

把内存空间按页的⼤⼩划分为⽚或者页⾯,然后把页式虚拟地址与内存地址建⽴⼀⼀对应的页表,并⽤相应的硬件地址转换机构来解决离散地址变换问题。

页式管理采⽤请求调页和预调页技术来实现内外存存储器的统⼀管理。

优点:没有外碎⽚,每个内碎⽚不超过页的⼤⼩。

缺点:程序全部装⼊内存,要求有相应的硬件⽀持,如地址变换机构缺页中断的产⽣和选择淘汰页⾯等都要求有相应的硬件⽀持。

增加了机器成本和系统开销。

段式管理的基本思想是把程序按内容或过程函数关系分成段,每段有⾃⼰的名字。

⼀个⽤户作业或者进程所包含的段对应⼀个⼆维线性虚拟空间,也就是⼀个⼆维虚拟存储器。

段式管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换为实际内存物理地址。

优点:可以分别编写和编译,可以针对不同类型的段采取不同的保护,可以按段为单位来进⾏共享,包括通过动态链接进⾏代码共享。

缺点:会产⽣碎⽚。

段页式管理,系统必须为每个作业或者进程建⽴⼀张段表以管理内存分配与释放、缺段处理等。

另外由于⼀个段⼜被划分为若⼲个页,每个段必须建⽴⼀张页表以把段中的虚页变换为内存中的实际页⾯。

显然与页式管理时相同,页表也要有相应的实现缺页中断处理和页⾯保护等功能的表项。

段页式管理是段式管理和页式管理相结合⽽成,具有两者的优点。

由于管理软件的增加,复杂性和开销也增加。

另外需要的硬件以及占⽤的内存也有所增加,使得执⾏速度下降。

————————————————————————————————————————————————⾸先看⼀下“基本的存储分配⽅式”种类:1. 离散分配⽅式的出现 由于连续分配⽅式会形成许多内存碎⽚,虽可通过“紧凑”功能将碎⽚合并,但会付出很⼤开销。

于是出现离散分配⽅式:将⼀个进程直接分散地装⼊到许多不相邻的内存分区中。

操作系统简答题

操作系统简答题

1.什么是操作系统?⑴计算机硬件与用户软件之间的中间件程序集合(2)OS是一个资源管理程序(3)OS是一个控制调度程序(4)OS 一般有一个内核(kernel)程序,开机后一直运行⑸提供用户和计算机之间的接口2.现代操作系统的五大组成部分:处理器管理,内存管理,设备管理,文件管理,用户接口3.操作系统的四个基本特征:并发性,共享性,虚拟性,异步性4.分时操作系统的基本特征:交互性、多用户同时性、独立性5.操作系统的三种基本类型:批处理系统,分时系统和实时系统6.实时操作系统的特点:可靠性高、响应及时但资源利用率低7.多道程序设计的特点:多道,宏观上并行,微观上串行8.批处理操作系统的特点:用户脱机使用计算机,成批处理,多道程序运行9.进程定义,进程组成部分,进程的基本特征:定义:一个被调入内存正在执行的程序。

一个具有独立功能的程序对某个数据集在CPU处理器上的执行过程。

独立分配资源的基本单位。

进程包括:代码段,堆栈段,数据段进程具有5个特征:(1)动态性:进程是程序的执行过程,它由创建而产生,由调度而执行,因得不到资源而暂停,并由撤销而死亡。

(2)并行性:多个进程实体同存于内存中,能在一段时间内同时运行。

(3)独立性:进程是一个独立获得资源和独立调度的单位。

(4)异步性:进程按各自独立的不可预知的速度向前推进。

(5)结构特征:从结构上看,进程实体由程序段、数据段和进程控制块3部分组成10.进程和程序的区别:11.进程的状态周期:初始态,执行状态,等待状态,就绪状态,终止状态12.什么是进程控制块PCB?进程控制块PCB:用来描述进程的一切静态和动态的特征,操作系统只能通过它来感知和管理进程。

每个进程都有且仅有一个进程控制块。

13.通常将处理器的执行状态分为哪两种状态?系统态(管理状态),用户态(目标状态)14.什么是线程?线程的类型有哪三种?线程定义:一个进程内的基本调度单位,也称为轻权进程。

线程既可以由操作系统内核调度,也可以由用户程序控制线程分为三种类型:内核线程、轻量级进程和用户线程15.进程调度常用的四个指标:周转时间,吞吐量,响应时间,设备利用率16.CPU调度的三级调度:高级调度(作业)、中级调度(交换)和低级调度(进程)17.作业调度和进程调度的区别。

第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

计算机四级操作系统原理--题库

计算机四级操作系统原理--题库

《操作系统原理》试题一填空:1.操作系统为用户提供三种类型的使用接口,它们是命令方式和系统调用和图形用户界面。

2.主存储器与外围设备之间的数据传送控制方式有程序直接控制、中断驱动方式、DMA方式和通道控制方式。

3.在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,运行时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。

4.当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。

5.程序经编译或汇编以后形成目标程序,其指令的顺序都是以零作为参考地址,这些地址称为逻辑地址。

6.文件的逻辑结构分流式文件和记录式文件二种。

7.进程由程度、数据和FCB组成。

8.对信号量S的操作只能通过原语操作进行,对应每一个信号量设置了一个等待队列。

9.操作系统是运行在计算机裸机系统上的最基本的系统软件。

10.虚拟设备是指采用SPOOLING技术,将某个独享设备改进为供多个用户使用的的共享设备。

11.文件系统中,用于文件的描述和控制并与文件一一对应的是文件控制块。

12.段式管理中,以段为单位,每段分配一个连续区。

由于各段长度不同,所以这些存储区的大小不一,而且同一进程的各段之间不要求连续。

13.逻辑设备表(LUT)的主要功能是实现设备独立性。

14在采用请求分页式存储管理的系统中,地址变换过程可能会因为缺页和越界等原因而产生中断。

16. 段的共享是通过共享段表实现的。

17.文件的物理结构分为顺序文件、索引文件和索引顺序文件。

18.所谓设备控制器,是一块能控制一台或多台外围设备与CPU并行工作的硬件。

19. UNIX的文件系统空闲空间的管理是采用成组链接法。

20分页管理储管理方式能使存储碎片尽可能少,而且使内存利用率较高,管理开销小。

20.计算机操作系统是方便用户、管理和控制计算机软硬件资源的系统软件。

21.操作系统目前有五大类型:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

新第五章存储-段式及段页式

新第五章存储-段式及段页式

段表
S段的页表 … p’ P’+d 物理地址
… …
页面 … 段页式地址变换
29
存储 管理

(注:在段页式系统中,为了获取一条指令或 数据,需三次访问内存。第一次访问,是访问 内存中的段表,从中取得页表始址,第二次访 问,是访问内存中的页表,从中取得物理块号, 并将该块号与页内地址一起形成指令或数据的 物理地址;第三次访问,才是真正从第二次访 问的地址中,取得指令和数据。)
13
存储 管理 信息共享
分页系统中共享editor的示意图
14
存储 管理
15
分段系统中共享editor的示意图
存储 管理
五.请求分段存储管理
(一).请求分段使用的表

扩充段表(每个作业一个) 现行分段表(整个系统一个) 现行调用表(整个系统一个)
16
存储 管理
1.扩充段表
段号 段长 段始址 存取控制 中断位 访问 位 改变位 扩充位 辅存地址

中断位:表示该页在不主存 访问位:表示该页最近是否被访问过 改变位:表示该页内容是否被修改 扩充位(固定长/可扩充 )
17
存储 管理
2.现行分段表
记录共享段的状态,包括:当前段 是否在主存,该段在主存的始址,共享的 作业数,每个作业名,作业号以及在该作 业中的段号、允许的存取方式等。每个允 许被共享的段,当其调入主存时,均在此 表上登记。当一共享作业退出系统后,则 应将共享本段作业数减1并将相应的表目 改为“可用”。若共享作业数为0,则请求 系统回收相应的存储空间。
(1) 页是信息的物理单位,段则是信息的逻辑单位
(2) 页的大小固定且由系统决定,而段的长度却不
固定 (3) 分页的作业地址空间是一维的,即单一的线性 地址空间,分段的作业地址空间则是二维的
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

存储管理的基本原理内存管理方法内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。

下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和原理。

1.连续分配存储管理方式连续分配是指为一个用户程序分配连续的内存空间。

连续分配有单一连续存储管理和分区式储管理两种方式。

(1)单一连续存储管理在这种管理方式中,内存被分为两个区域:系统区和用户区。

应用程序装入到用户区,可使用用户区全部空间。

其特点是,最简单,适用于单用户、单任务的操作系统。

CP/M和DOS 2.0以下就是采用此种方式。

这种方式的最大优点就是易于管理。

但也存在着一些问题和不足之处,例如对要求内存空间少的程序,造成内存浪费;程序全部装入,使得很少使用的程序部分也占用—定数量的内存。

(2)分区式存储管理为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。

分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。

分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。

分区式存储管理引人了两个新的问题:内碎片和外碎片。

前者是占用分区内未被利用的空间,后者是占用分区之间难以利用的空闲分区(通常是小空闲分区)。

为实现分区式存储管理,操作系统应维护的数据结构为分区表或分区链表。

表中各表项一般包括每个分区的起始地址、大小及状态(是否已分配)。

分区式存储管理常采用的一项技术就是内存紧缩(compaction):将各个占用分区向内存一端移动,然后将各个空闲分区合并成为一个空闲分区。

这种技术在提供了某种程度上的灵活性的同时,也存在着一些弊端,例如:对占用分区进行内存数据搬移占用CPU~t寸间;如果对占用分区中的程序进行“浮动”,则其重定位需要硬件支持。

1)固定分区(nxedpartitioning)。

固定式分区的特点是把内存划分为若干个固定大小的连续分区。

分区大小可以相等:这种作法只适合于多个相同程序的并发执行(处理多个类型相同的对象)。

分区大小也可以不等:有多个小分区、适量的中等分区以及少量的大分区。

根据程序的大小,分配当前空闲的、适当大小的分区。

这种技术的优点在于,易于实现,开销小。

缺点主要有两个:内碎片造成浪费;分区总数固定,限制了并发执行的程序数目。

2)动态分区(dynamic partitioning)。

动态分区的特点是动态创建分区:在装入程序时按其初始要求分配,或在其执行过程中通过系统调用进行分配或改变分区大小。

与固定分区相比较其优点是:没有内碎片。

但它却引入了另一种碎片——外碎片。

动态分区的分区分配就是寻找某个空闲分区,其大小需大于或等于程序的要求。

若是大于要求,则将该分区分割成两个分区,其中一个分区为要求的大小并标记为“占用”,而另一个分区为余下部分并标记为“空闲”。

分区分配的先后次序通常是从内存低端到高端。

动态分区的分区释放过程中有一个要注意的问题是,将相邻的空闲分区合并成一个大的空闲分区。

下面列出了几种常用的分区分配算法:首先适配法(nrst-fit):按分区在内存的先后次序从头查找,找到符合要求的第一个分区进行分配。

该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端。

但随着低端分区不断划分会产生较多小分区,每次分配时查找时间开销便会增大。

下次适配法(next-fit):按分区在内存的先后次序,从上次分配的分区起查找(到最后{区时再从头开始},找到符合要求的第一个分区进行分配。

该算法的分配和释放的时间性能较好,使空闲分区分布得更均匀,但较大空闲分区不易保留。

最佳适配法(best-fit):按分区在内存的先后次序从头查找,找到其大小与要求相差最小的空闲分区进行分配。

从个别来看,外碎片较小;但从整体来看,会形成较多外碎片优点是较大的空闲分区可以被保留。

最坏适配法(worst- fit):按分区在内存的先后次序从头查找,找到最大的空闲分区进行分配。

基本不留下小空闲分区,不易形成外碎片。

但由于较大的空闲分区不被保留,当对内存需求较大的进程需要运行时,其要求不易被满足。

2.覆盖和交换技术引入覆盖(overlay)技术的目标是在较小的可用内存中运行较大的程序。

这种技术常用于多道程序系统之中,与分区式存储管理配合使用。

覆盖技术的原理很简单,一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。

将程序必要部分(常用功能)的代码和数据常驻内存;可选部分(不常用功能)平时存放在外存(覆盖文件)中,在需要时才装入内存。

不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。

覆盖技术的缺点是编程时必须划分程序模块和确定程序模块之间的覆盖关系,增加编程复杂度;从外存装入覆盖文件,以时间延长换取空间节省。

覆盖的实现方式有两种:以函数库方式实现或操作系统支持。

交换(swapping)技术在多个程序并发执行时,可以将暂时不能执行的程序送到外存中,从而获得空闲内存空间来装入新程序,或读人保存在外存中而处于就绪状态的程序。

交换单位为整个进程的地址空间。

交换技术常用于多道程序系统或小型分时系统中,与分区式存储管理配合使用又称作“对换”或“滚进/滚出” (roll-in/roll-out)。

其优点之一是增加并发运行的程序数目,并给用户提供适当的响应时间;与覆盖技术相比交换技术另一个显著的优点是不影响程序结构。

交换技术本身也存在着不足,例如:对换人和换出的控制增加处理器开销;程序整个地址空间都进行对换,没有考虑执行过程中地址访问的统计特性。

3.页式和段式存储管理在前面的几种存储管理方法中,为进程分配的空间是连续的,使用的地址都是物理地址。

如果允许将一个进程分散到许多不连续的空间,就可以避免内存紧缩,减少碎片。

基于这一思想,通过引入进程的逻辑地址,把进程地址空间与实际存储空间分离,增加存储管理的灵活性。

地址空间和存储空间两个基本概念的定义如下:地址空间:将源程序经过编译后得到的目标程序,存在于它所限定的地址范围内,这个范围称为地址空间。

地址空间是逻辑地址的集合。

存储空间:指主存中一系列存储信息的物理单元的集合,这些单元的编号称为物理地址存储空间是物理地址的集合。

根据分配时所采用的基本单位不同,可将离散分配的管理方式分为以下三种段式存储管理和段页式存储管理。

其中段页式存储管理是前两种结合的产物。

(1)页式存储管理1)基本原理。

将程序的逻辑地址空间划分为固定大小的页(page),而物理内存划分为同样大小的页框(pageframe)。

程序加载时,可将任意一页放人内存中任意一个页框,这些页框不必连续,从而实现了离散分配。

该方法需要CPU的硬件支持,来实现逻辑地址和物理地址之间的映射。

在页式存储管理方式中地址结构由两部构成,前一部分是页号,后一部分为页内地址,如图4-2所示。

这种管理方式的优点是,没有外碎片,每个内碎片不超过页大比前面所讨论的几种管理方式的最大进步是,一个程序不必连续存放。

这样就便于改变程序占用空间的大小(主要指随着程序运行,动态生成的数据增多,所要求的地址空间相应增长)。

缺点是仍旧要求程序全部装入内存,没有足够的内存,程序就不能执行。

2)页式管理的数据结构。

在页式系统中进程建立时,操作系统为进程中所有的页分配页框。

当进程撤销时收回所有分配给它的页框。

在程序的运行期间,如果允许进程动态地申请空间,操作系统还要为进程申请的空间分配物理页框。

操作系统为了完成这些功能,必须记录系统内存中实际的页框使用情况。

操作系统还要在进程切换时,正确地切换两个不同的进程地址空间到物理内存空间的映射。

这就要求操作系统要记录每个进程页表的相关信息。

为了完成上述的功能,—个页式系统中,一般要采用如下的数据结构。

进程页表:完成逻辑页号(本进程的地址空间)到物理页面号(实际内存空间)的映射。

每个进程有一个页表,描述该进程占用的物理页面及逻辑排列顺序。

物理页面表:整个系统有一个物理页面表,描述物理内存空间的分配使用状况,其数据结构可采用位示图和空闲页链表。

请求表:整个系统有一个请求表,描述系统内各个进程页表的位置和大小,用于地址转换也可以结合到各进程的PCB(进程控制块)里。

3)页式管理地址变换在页式系统中,指令所给出的地址分为两部分:逻辑页号和页内地址。

CPU中的内存管理单元(MMU)按逻辑页号通过查进程页表得到物理页框号,将物理页框号与页内地址相加形成物理地址(见图4-3)。

上述过程通常由处理器的硬件直接完成,不需要软件参与。

通常,操作系统只需在进程切换时,把进程页表的首地址装入处理器特定的寄存器中即可。

一般来说,页表存储在主存之中。

这样处理器每访问一个在内存中的操作数,就要访问两次内存。

第一次用来查找页表将操作数的逻辑地址变换为物理地址;第二次完成真正的读写操作。

这样做时间上耗费严重。

为缩短查找时间,可以将页表从内存装入CPU内部的关联存储器(例如,快表) 中,实现按内容查找。

此时的地址变换过程是:在CPU给出有效地址后,由地址变换机构自动将页号送人快表,并将此页号与快表中的所有页号进行比较,而且这种比较是同时进行的。

若其中有与此相匹配的页号,表示要访问的页的页表项在快表中。

于是可直接读出该页所对应的物理页号,这样就无需访问内存中的页表。

由于关联存储器的访问速度比内存的访问速度快得多。

(2)段式存储管理1)基本原理。

在段式存储管理中,将程序的地址空间划分为若干个段(segment),这样每个进程有一个二维的地址空间。

在前面所介绍的动态分区分配方式中,系统为整个进程分配一个连续的内存空间。

而在段式存储管理系统中,则为每个段分配一个连续的分区,而进程中的各个段可以不连续地存放在内存的不同分区中。

程序加载时,操作系统为所有段分配其所需内存,这些段不必连续,物理内存的管理采用动态分区的管理方法。

在为某个段分配物理内存时,可以采用首先适配法、下次适配法、最佳适配法等方法。

在回收某个段所占用的空间时,要注意将收回的空间与其相邻的空间合并。

段式存储管理也需要硬件支持,实现逻辑地址到物理地址的映射。

程序通过分段划分为多个模块,如代码段、数据段、共享段。

这样做的优点是:可以分别编写和编译源程序的一个文件,并且可以针对不同类型的段采取不同的保护,也可以按段为单位来进行共享。

总的来说,段式存储管理的优点是:没有内碎片,外碎片可以通过内存紧缩来消除;便于实现内存共享。

缺点与页式存储管理的缺点相同,进程必须全部装入内存。

2)段式管理的数据结构。

为了实现段式管理,操作系统需要如下的数据结构来实现进程的地址空间到物理内存空间的映射,并跟踪物理内存的使用情况,以便在装入新的段的时候,合理地分配内存空间。

相关文档
最新文档