段式管理优缺点.doc_第1页
段式管理优缺点.doc_第2页
段式管理优缺点.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.4 段式存储管理 在分区存储管理和页式存储管理中,供用户使用的逻辑地址都是连续的。在有些情况下如用户在编制大型程序时就会感到不便利,因为用户希望他们程序是由若干段组成的,可以由一个主程序、若干子程序、符号表、栈以及数据等等若干段组成。每一段都有完整的逻辑意义,每一段的程序都可独立编制,且每一段的长度可以不同,参见图4-16。采用段式存储管理方案就可以支持程序的分段使用。图4.4.1 基本思想1、 1、 程序逻辑地址空间划分第个程序由若干段组成,称为逻辑段,简称段。段划分的基本原则是,按逻辑上有完整意义的内容进行段的划分。用户程序的逻辑地址由段号和段内地址两部分组成:段号段内地址 2、 2、 内存空间划分3、 3、 内存分配4.4.2 存储空间的分配与回收 当把用户程序装入内存时,为了实现段式管理,操作系统为用户程序建立一张段表,用于记录用户程序的逻辑段与内存物理段之间的对就关系。段表包括逻辑段号、物理段起起始地址和物理段长度三项内容。用户程序有多少逻辑段,该段表里就登记多少行,且按逻辑段的顺序排列,段表存放在内存系统区时,参见图4-17。图段式存储管理通过内存分配表分配内存空间。内存分配表包括两个部分:已分配区一和空闲区表。段存储管理的内存分配表与可变分区管理方案中的内存分配表是类似的,不同之处是段式存储管理是为程序的每一个分段分配一个连续的内存空间。对空闲区的分配也可以彩在分区管理方案中介绍过的分配策略,即首先适应算法、最佳适应算法和最坏适应算法等。在进行内存分配时,首先根据段长找出一个可容纳该段的一个空闲区,分割这个空闲区,一部分用来装入该段信息,另一部分你为空闲区。当没有一个足够大的空闲时,可彩拼接技术来合并分散的空闲区。程序执行结束时,要收回该程序各段程序各段所占用的内存区域,使其成为空闲区,回收存储空间的方法与分区管理方案类似。4.4.3 地址转换与存储保护 为了实现段式管理,要有硬件的地址转换机构作支撑。为此,系统提供一对段表控制寄存器:段表始址寄存器和段表长度寄存器,另外还需要高速缓冲存储器具支持。段表始址寄存器,用于保存正在运行进程的段表在内存的首地址。当进程被制裁度程序选中投入运行时,系统将其段表首地从进程控制块中取出送入该寄存器。段表长度寄存器,用于保存正在运行进程的段表的长度,当进程被选中运行时,系统将它从进程控制块中取了送入该寄存器。用户程序运行时,系统根据用户程序提供的逻辑地址和两个寄存器的内容,形成一个访问内存的物理地址。为了加快地址映射,亦可以采用快表技术。1、 1、 地址转换 下面介绍段式管理的地址转换过程。当某程序开始执行时,系统首先把该程序的段表始址放入段表始址寄存器。通过访问段表如址寄存器,得到该进程的段表始址从而可开始访问段表。然后,由逻辑地址中的段号S为索引,检查段表。从段表相应表目中查出该段在内存的起始地址,并将其和段内地址D相加,从而得到实际内存地址。 图4-18中给出了采用快表的段式存储管理地址转换过程。采用快表的地址转换过程分两个分支,第一个分支是检查快表,第二个分支是检查内存段表。图(1) (1) 检查快表地址转换过程1、 1、 首先,系统根据逻辑地址中的段号S查找快表。2、 2、 若在快表中找到该段号,则根据快表内容比较逻辑地址中的段内地址是否超过段长D=SL,如果超过,则发了越界中断;否则,根据快表中的信息SB与D形成物理地址。此时,停止第二分支的执行。3、 3、 若在快表中没有找到该段号,则此次地址转达换的操作要依靠第二分支的执行完成。(2) (2) 检查内存段表地址转换过程。1、 1、 首先,将逻辑地址中的逻辑段号S与段表长度寄存器内容L比较,若S=L,则表示地址越界,发地址越界中断。2、 2、 若S L,则由S与段表始址寄存器内容B找到段S在段表中的相应表目,得到该段在内存的起始地址SB。3、 3、 将逻辑地址中的段内地址D与从段表中得到该长度SL进行比较,如果D=SL,则表示地址越界,发越界中断。4、 4、 若DSL,则通过SB和D,形成物理地址。2、 2、 存储保护 段式管理的存储保护主要有两种方法。一种是地址越界保护法,另一种是存取权控制保护法。4.4.4 段式存储管理的优缺点在段式存储管理中,每个段地址的说明为两个量:一个段名和一人伴移。在段内,是连续完整存放的。而在段与段之间是不一定连续编址的。段名和位移构成了一种二维编址。段式管理是不连续分配内存技术中的一种。其最大特点在于他按照用户观点,即按程序段、数据段等有明确逻辑含义的“段”,分配内存空间。克服了页式的、硬性的、非逻辑划分给保护和共享与支态伸缩带来的不自然性。段的最大好处是可以充分实现共享和保护,便于动态申请内存,管理和使用统一化,便于动态链接;其缺点是有碎片问题。4.4.5 段页式存储管理方案分页式存储管理的基本思想是:用段式方法对用户程序按照在的逻辑关系划分成若干段,每段的逻辑地址仍是从“0”开始的一组连续地址。用页工方法来分配和管理内存空间,即把内存划分为若干大小相等的页面。在具体分厂空间时,不再为每一段分配一个连续的主存空间,而是把每段分成若干页面,从而把一段的信息分页存放。这些而面显然是分布在不必丰邻的空闲主存块中。因此,用户程序的逻辑地址由三部分组成,其形式如下: 段号页号 页内地址 段页式存储管理为每一个装入内存的程序建立一张段表。另外,对每段还要建立一张页表。段表的长度由程序分段的个数所决定,而段表中的每一表目则指出本段的页表始址和长度。页表的长度由对应段所分厂的页面的个数决定,而页表中的每一个表目指出本段的逻辑页号与主存块号的对应关系。 在执行指令时,首先根据逻辑地址中的段号村段表,得到该段的页表始址,然后根据页号查页表,得到对应的主存块号,由主存块号与逻辑地址中的页内地址一起形成可访问的绝对地址。如果逻辑地址中的段号超出了段表中的最大段号或者页号超出了该段页表中的最大页号,就会形成“地址越界的程序性中断事件。 采用须页式存储管理方案时,具有独立逻辑功能的程序或数据仍被划分为段,并有各自的段号,这反映和继承了段式管理的特征。对于段中的程序或数据,则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论