页式页式虚拟存储管理理和段式页式虚拟存储管理理的区别是什么

内存的存储管理 页式和段式存储的区别 - CSDN博客
内存的存储管理 页式和段式存储的区别
1 计算机系统概观&
1 计算机系统概观&
2 操作系统的概念&
2 操作系统的概念&
3 操作系统的功能&
3 操作系统的功能&
4 操作系统的简史&
4 操作系统的简史&
5 操作系统的分类&
5 操作系统的分类&
6 研究操作系统的几种观点&
6 研究操作系统的几种观点&
7 windows操作系统的发展历程&
7 windows操作系统的发展历程&
1 操作系统的设计&
1 操作系统的设计&
2 windows2000/xp的操作系统模型&
2 windows2000/xp的操作系统模型&
3 windows2000/xp的体系结构&
3 windows2000/xp的体系结构&
1 操作系统概述&
1 操作系统概述&
2 windows2000/xp的体系结构&
2 windows2000/xp的体系结构&
3 进程和处理器管理&
3 进程和处理器管理&
首页 &&存储体系 &&存储管理的基本原理
课件章节 第1章 操作系统概述 第2章 Windows2000/XP的体系结构 第3章 进程和处理器管理 第4章 存储体系 第5章 文件系统 第6章 I/O系统 第7章 网络 第8章 Windows应用程序设计
4.1 存储管理的基本原理
4.1.1 内存管理方法
内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。
下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本概念和原理。
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)段式管理的数据结构。
为了实现段式管理,操作系统需要如下的数据结构来实现进程的地址空间到物理内存空间的映射,并跟踪物理内存的使用情况,以便在装入新的段的时候,合理地分配内存空间。
·进程段表:描述组成进程地址空间的各段,可以是指向系统段表中表项的索引。每段有段基址(baseaddress)。
·系统段表:系统所有占用段。
·空闲段表:内存中所有空闲段,可以结合到系统段表中。
3)段式管理的地址变换。
在段式管理系统中,整个进程的地址空间是二维的,即其逻辑地址由段号和段内地址两部分组成。为了完成进程逻辑地址到物理地址的映射,处理器会查找内存中的段表,由段号得到段的首地址,加上段内地址,得到实际的物理地址(见图4—4)。这个过程也是由处理器的硬件直接完成的,操作系统只需在进程切换时,将进程段表的首地址装入处理器的特定寄存器当中。这个寄存器一般被称作段表地址寄存器。
4.页式和段式系统的区别
页式和段式系统有许多相似之处。比如,两者都采用离散分配方式,且都通过地址映射机构来实现地址变换。但概念上两者也有很多区别,主要表现在:
·页是信息的物理单位,分页是为了实现离散分配方式,以减少内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要。
·页的大小固定且由系统决定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的。段的长度不固定,且决定于用户所编写的程序,通常由编译系统在对源程序进行编译时根据信息的性质来划分。
·页式系统地址空间是一维的,即单一的线性地址空间,程序员只需利用一个标识符,即可表示一个地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
原理作业10. 页式存储管理和段式存储管理的工作原理特点、特点
答:页式管理的基本思想是:为了更好地利用分区存储管理中
所产生的"零头"问题,允许把一个作业存放在不连续的内存块中,
又可以连续运行,它允许只调入用户作业中常用部分,不常用部分
不长期驻留内存,有效提高了内存的利用率。
  页式存储管理的工作原理:
  A、划分实页:将物理内存划分成位置固定、大小相同的"块"(实页
  B、划分虚页:将用户逻辑地址空间也分成同样大小的页面,成为虚
拟空间的虚页面。
  C、建立页表:有时称为页面表或页面映射表(PMT)。每个作业一
张,按虚页号进行登记,其基本的内容有特征位(表示该页是否
在内存、实页号以及对应外存的地址。
  D、地址变换:将虚页面的逻辑地址转化为实页面的物理地址,在程
序执行时改变为物理地址,属于作业的动态重定位,一般由地址
转换机构(硬件)完成。
  特点:
  允许一个作业存放在不连续的内存块中而又能保证作业连续得以运行
,既不需要移动内存中的信息,又可较好地解决零头。
  优点:
  a、不要求作业存放在连续的内存块中,有效地解决零头。
  b、允许用户作业不是一次集中装入内存而是根据需要调入,作业中
不常用部分不长期驻留内存,而本次运行的不用部分根本就不装
  c、提供了虚存,使用户作业地址空间不再受内存可用空间大小的限
a、页式管理在内存的共享和保护方面还欠完善。
b、页面大小相同,位置不能动态增加。
c、往往需要多次缺页中断才能把所需的信息完整地调入内存。
段式存储管理的基本思想是:把程序按内容或过程(函数)关系
分成段,每段有自己的名字。一个用户作业或进程所包含的段对应于
一个二维线性虚拟空间,也就是一个二维虚拟存储器。段式管理程序
以段为单位分配内存,然后通过地址映射机构把段式虚拟存储地址转
化为内存中的实际地址。和页式管理一样,段式管理也采用只把那些
经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放
在外存,待需要时自动调入内存的方法实现二维虚拟存储器。按照作
业的逻辑单位--段,来分配内存,适合程序的逻辑结构,方便用户设
段式存储管理的工作原理:
A、采用二维地址空间,如段号(S)、页号(P)和页内单元号(D);
B、系统建两张表格每一作业一张段表,每一段建立一张页表,段表
指出该段的页表在内存中的位置;
C、地址变换机构类似页式机制,只是前面增加一项段号。
a、每一段分成若干页,再按页式管理,页间不要求连续;
b、用分段方法分配管理作业,用分页方法分配管理内存;
便于段的共享和保护、段的动态增长以及动态连接。
为了消除零头和允许段的动态增长,需要花费CPU的大量时间在内存
中移动作业的分段,而且段的大小也给外存管理带来困难。
本文已收录于以下专栏:
相关文章推荐
首先看一下“基本的存储分配方式”种类:
      
1.  离散分配方式的出现
由于连续分配方式会形成许多内存碎片,虽可通过“紧凑”功能将碎片合并,但会付出很大开销。于是出现离散分配方式:...
原文链接:http://blog.csdn.net/u/article/details/
http://blog.csdn.net/wang/art...
在线学习算法FTRL
存储管理的基本原理
内存管理方法
内存管理主要包括内存分配和回收、地址变换、内存扩充、内存共享和保护等功能。
下面主要介绍连续分配存储管理、覆盖与交换技术以及页式与段式存储管理等基本...
1、段式和页式存储管理的地址结构很类似,但是它们有实质上的不同,以下错误的是(D) 
     A.页式的逻辑地址是连续的,段式的逻辑地址可以不连续 
     B.页式的地址...
首先看一下“基本的存储分配方式”种类:
      
1.  离散分配方式的出现
  由于连续分配方式会形成许多内存碎片,虽可通过“紧凑”功能...
页式存储管理
计算机存储的层次结构:寄存器,高速缓存cache,主存储器DRAM,DDRAM,外部存储器
分区是进程的连续存储;以下是分散存储
原理:物理内存划分许多固定大小的块,称物理页面,页框...
前景回顾前面我们讲解了操作系统段式存储管理的主要内容。
32位,在保护方式下,其能够访问的线性地址空间可达4GB,而且允许几乎不受存储空间限制的虚拟存储器程序。虚拟存储器地址空间能够可达64TB。它还...
他的最新文章
讲师:何宇健
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)以下试题来自:
问答题比较段式管理和页式管理的异同。 段式管理和页式管理的相同点如下:
(1)段式管理和页式管理均提供内外存统一管理的虚存实现。
(2)段式管理和页式管理都......
为您推荐的考试题库
你可能感兴趣的试题
1.问答题 虚拟存储器是指通过硬件和软件措施为用户提供一个容量比实际主存大得多,速度比主存快的并不实际存在的存储器。操作系统要实现虚...... 2.问答题 地址再定位就是当一个程序装入到与其地址空间不一致的存储空间而进行的地址变换过程。该变换将地址空间给出的逻辑地址映射到内存...... 3.问答题 (1)静态链接是在作业运行前,将各个目标程序定位后装入作业的地址空间,形成可执行程序链接。静态链接常常因为目标程序个数多而...... 4.问答题 在页式存储管理系统中,如果某一个或某些页面不停地从内存调入外存,又从外存调入内存,则称为内存抖动,也可以称为系统抖动。5.问答题 联想存储器是在页式或段式存储管理系统中用来存放快表的高速小容量存储器。
热门相关试卷
最新相关试卷存储管理2-页式与段式存储管理 - 白小羊的博客 - CSDN博客
存储管理2-页式与段式存储管理
操作系统原理初步
页式存储管理
计算机存储的层次结构:寄存器,高速缓存cache,主存储器DRAM,DDRAM,外部存储器
分区是进程的连续存储;以下是分散存储
原理:物理内存划分许多固定大小的块,称物理页面,页框,逻辑地址空间划分大小相同的块,称逻辑页面,页面;二者大小相同,两种块之间实现映射,物理页面可以不连续;
管理:逻辑空间统一编址,分页,标记页号(0开始);内存空间统一编址,分页,标记页号(0开始);分页大小一般为2的k次方
逻辑地址表示:页号+页内地址
对应关系:
页号=逻辑地址/页面大小
页内地址=逻辑地址%页面大小
实际采用二进制截取,页面大小2的k次方
逻辑地址二进制表示低k位为页内地址
剩余高位为页号
地址转换:
页表记录映射关系:位于系统空间页表区存放逻辑页号与物理页号的对应关系,PCB中有指向页表的指针,物理页号与逻辑页的页内地址组成物理地址
硬件动态地址转换机构将逻辑地址映射为物理地址
读页表额外的访问内存,影响效率,
快表:联想存储器,类似高速缓存,保存最近一段时间常用的页表项
页式存储可以实现代码共享;几个逻辑块指向同一物理内存块;
优点:没有外部碎片,进程最后一个页面可能有内部碎片;可以不连续存放,标语管理
缺点:进程全装入内存才可以运行,每个进程都有页表,需要维护,有开销;
段式存储管理:
页式中逻辑地址连续,实际程序结构并不如此,由几个片段组成
逻辑空间中:依逻辑单元分段,每个段内部,是一维线性连续地址空间
段大小不等,内容不同,如代码段,数据段,堆,栈等
物理内存中,采用可变分区存储管理(相当于其扩展),依段的大小分配空间;所得物理内存分区可以不连续
逻辑地址表示:段号,段内偏移地址;
管理:段表(每个进程都有),逻辑段有段号,段表中记录了段号,对应的物理内存段基地址和段长等信息;保存于内存,操作系统管理;普通用户进程不可访问,故硬件上增加段表基址寄存器,段表长度寄存器(即段的个数),便于访问;
映射时,与页表不同,段号对应的段基地址+段内偏移即可
优点:没有内部碎片,段间分别管理,便于改变
缺点:进程全装入内存才可以运行,会存在外部碎片
集合二者优点
段页式管理
页式管理优势,段式逻辑优势
原理:先程序分段,段中分页;
逻辑地址分为段号,段内偏移,段内偏移分成逻辑页面号,页内偏移
物理内存,按照页式存储管理方案;页面为单位分配
段表:段号,每个段的页表起始地址,页表长度
页表:页号,内存块号
每个段都有一个自己的页表
从内存取数据或指令,需要访问三次
我的热门文章存储管理之页式、段式、段页式存储 - 新一 - 博客园
首先看一下&基本的存储分配方式&种类:
1.&&离散分配方式的出现
由于连续分配方式会形成许多内存碎片,虽可通过&紧凑&功能将碎片合并,但会付出很大开销。于是出现离散分配方式:将一个进程直接分散地装入到许多不相邻的内存分区中。
&&&&&& 下面主要介绍&离散分配&三种方式的基本原理以及步骤:
2.&&基本分页存储
2.1.&&&&&&&步骤
³ 逻辑空间等分为页;并从0开始编号
内存空间等分为块,与页面大小相同;从0开始编号
分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。
2.2.&&&&&&&地址结构
&&&&&& 分两部分:页号、位移量(业内地址)
&&&&&& 业内地址的位数可以决定页的大小(如上图每页大小为4K)。
逻辑地址=页号&位移量(&号是连接符号,是将页号作为逻辑地址的最高位)
2.3.&&&&&&&地址映射(逻辑地址---&物理地址)
如下图所示:(物理地址=块号&块内地址)
因为块的大小=页的大小,所以块内位移量=页内位移量,所以只需求出块号即可:
如何求块号呢?页表来帮你
给定一个逻辑地址和页面大小,如何计算物理地址?
1)&&&&&&&根据页面大小可计算出页内地址的位数
2)&&&&&&&页内地址位数结合逻辑地址计算出页内地址(即,块内地址)和页号
3)&&&&&&&页号结合页表,即可得出块号
4)&&&&&&&块号&块内地址即可得出物理地址
2.4.&&&&&&&地址变换原理及步骤
请看上图,给出逻辑地址的页号和页内地址,开始进行地址变换:
1)&&&&&&&在被调进程的PCB中取出页表始址和页表大小,装入页表寄存器
2)&&&&&&&页号与页表寄存器的页表长度比较,若页号大于等于页表长度,发生地址越界中断,停止调用,否则继续
3)&&&&&&&由页号结合页表始址求出块号
4)&&&&&&&块号&页内地址,即得物理地址
以上即为页式存储的原理及整个过程&&
3.&& 基本分段存储
3.1.&&&&&&&步骤
逻辑空间分为若干个段,每个段定义了一组有完整逻辑意义的信息(如主程序Main()),如:
内存空间为每个段分配一个连续的分区
段的长度由相应的逻辑信息组的长度决定,因而各段长度不等,引入分段存储管理方式的目的主要是为了满足用户(程序员)在编程和使用上多方面的要求。
要注重理解,完整的逻辑意义信息,就是说将程序分页时,页的大小是固定的,只根据页面大小大小死生生的将程序切割开;而分段时比较灵活,只有一段程序有了完整的意义才将这一段切割开。(例如将一个人每隔50厘米切割一段,即为分页;而将一个人分割为头部、身体、腿部(有完整逻辑意义)三段,即为分段)
3.2.&&&&&&&地址结构
&&&&&& 分两部分:段号、位移量(段内地址)
³& 段内地址的位数可以决定段的大小
³& 逻辑地址=段号&段内地址(&号是连接符号,是将段号作为逻辑地址的最高位)
3.3.&&&&&&&地址映射(逻辑地址---&物理地址)
如下图所示:(物理地址=基址+段内地址)(注意为+号,而不是&号)
由上图可知若想求物理地址,只需求出基址即可:
如何求基址呢?段表来帮你
求基址的过程与页式存储中求块号的过程原理相同,这里需要注意的是,物理地址是基址+段内地址,而不是基址&段内地址,由逻辑地址得到段号、段内地址,再根据段号和段表求出基址,再由基址+段内地址即可得物理地址。
3.4.&&&&&&&地址变换原理及步骤
请看上图,给出逻辑地址的段号和段内地址,开始进行地址变换:
1)&&&&&&&在被调进程的PCB中取出段表始址和段表长度,装入控制寄存器
2)&&&&&&&段号与控制寄存器的页表长度比较,若页号大于等于段表长度,发生地址越界中断,停止调用,否则继续
3)&&&&&&&由段号结合段表始址求出基址
4)&&&&&&&基址+段内地址,即得物理地址
以上即为段式存储的原理及整个过程&&
分页和分段的主要区别:
4.&&基本段页式存储
4.1.&&&&&&&步骤
³ 用户程序先分段,每个段内部再分页(内部原理同基本的分页、分段相同)
4.2.&&&&&&&地址结构
&&&&&& 分三部分:段号、段内页号、页内地址
4.3.&&&&&&&地址映射(逻辑地址---&物理地址)
逻辑地址----- &段号、段内页号、业内地址
³ 段表寄存器--- &段表始址
³ 段号+段表始址---- &页表始址
³ 页表始址+段内页号-----&存储块号
³ 块号+页内地址------&物理地址
4.4.&&&&&&&地址变换原理及步骤
请看上图,给出逻辑地址的段号、页号、页内地址,开始进行地址变换:
1)&&&&&&&在被调进程的PCB中取出段表始址和段表长度,装入段表寄存器
2)&&&&&&&段号与控制寄存器的页表长度比较,若页号大于等于段表长度,发生地址越界中断,停止调用,否则继续
3)&&&&&&&由段号结合段表始址求出页表始址和页表大小
4)&&&&&&&页号与段表的页表大小比较,若页号大于等于页表大小,发生地址越界中断,停止调用,否则继续
5)&&&&&&&由页表始址结合段内页号求出存储块号
6)&&&&&&&存储块号&页内地址,即得物理地址
以上即为段页式存储的原理及整个过程&&
在页式、段式存储管理中,为获得一条指令或数据,须两次访问内存;而段页式则须三次访问内存
随笔 - 1742

我要回帖

更多关于 页式存储管理模拟器 的文章

 

随机推荐