第14讲存储器管理之基本分段存储管理方式

第14讲存储器管理之基本分段存储管理方式

ID:41545411

大小:191.57 KB

页数:7页

时间:2019-08-27

第14讲存储器管理之基本分段存储管理方式_第1页
第14讲存储器管理之基本分段存储管理方式_第2页
第14讲存储器管理之基本分段存储管理方式_第3页
第14讲存储器管理之基本分段存储管理方式_第4页
第14讲存储器管理之基本分段存储管理方式_第5页
资源描述:

《第14讲存储器管理之基本分段存储管理方式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第十四讲存储器管理之基本分段存储管理方式分段存储管理方式也是一种离散分配方式,只是其分配的基本单位事段。1分段存储管理方式的引入为什么要引入分段?分段有哪些优点?我们现在了解一下。I方便编程:因为实际编程中,用八作业通常按照逻辑关系分为儿个段,每个段都是从0开始编址,并有名字和长度,访问的逻辑地址由段名和段内偏移量决定。此存储管理方式就按逻辑上有联系的段来进行管理,方便编程。2信息共享:从上而可以得知,段是信息的逻辑单位,也就是段具有实际的逻辑意义。这和前一讲的“页”完全不同。因此耍实现段的共享,

2、就耍求存储管理能与用户程序的分段组织方式相适应。3信息保护:信息保护同样是对信息的逻辑单位进行保护,因此分段管理方式能有效的实现信息保护。4动态增长:实际应用中,某些段(数据段)会不断增长,前而的存储管理方法均难以实现。而分段却可以解决这个问题。5动态琏接:要求以段为单位。由此我们理解为什么要引入分段存储管理。2分段系统的基本原理2.1空间划分(分段)将用户作业的地址空间依照相应的逻辑信息组的长度来划分若T个段,各段的长度不等。各段有段名(常用段号代替),段内首地址为0。段地址结构如下图:段号段内

3、地址-•般我们常见的令代码段、数据段、共享段等等。2.2内存分配在为作业分配内存时,也以段为单位,分配一段连续的物理地址空间;段间不必连续。如下图注意:1、整个作业的逻辑地址空间是二维的,其逻辑地址由段号和段内地址组成。页式管理是把内存视为一维线性空间;而段式管理是把内存视为二维空间。怎么理解?有的同学说分页也是二维的,页号一维,页内地址一维。总共是二维。其实不然站在进程的角度而言,就会发现分页是一维的,而分段是二维的。对一个进程来说,在分页式系统中,它的内容会保存在多页里,即进程的内容由一维页序

4、列保存,通过页表映射来进行寻址。请注意,页内地址对进程而言是没有意义的,在从逻辑地址到页表访问到物理地址的映射都是由OS管理的。所以在分页系统中将页内地址作为一个维度是没有实际意义的。但是在分段式系统中,进程的内容会保存在多个相互独立的段里,段内的地址是单独编址的,如代码段内偏移154,数据段内偏移209。举例说明:对分页系统而言,给出一个地址2345,0S会根据进程对应的页表算出它在第几页内,偏移是多少。而在os外部,逻辑地址是一维的。对于分段系统而言,访问一个地址,必须给出“段号+段内偏移”,

5、因此,逻辑地址就是二维的了。所以说,分页是一维地址管理、分段是二维地址管理。2、需要CPU的硬件支持(地址变换机构)limitbaseO1OOO14001400630024004300311OO320041OOO4700segmenttablephysicalmemory2.3段表♦概念:系统中为每个进程建立一张段映射表,就是段表。♦段表内容:每个段在表中占有一个表项,其中记录了该段衣内存中的起始地址(乂叫“基址”)和段的长度。段表如下图♦存储位置:可以存储于寄存器。但一般存放在内存。♦作用:记录

6、了段与内存位置的对应关系♦注意:访问一个字节的数据/指令需访问内存2次(段表一次,内存一次),所以也出现内存访问速度降低的问题。段号段长基址030k40k120k80k215k120k310k150k利用段表实现地址映射如下图2.4地址变换机构逻辑地址地址变换过程:系统屮设置段表寄存器,川于存放段表起始地址和段表长度TL。在进行地址变换时,系统将逻辑地址中的段号与段表长度TL进行比较。若S>TL,则访问越界。否则,根据段表的起始地址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存中的起

7、始地址。再检查段内地址D是否超过该段的段长SL。若超过则越界,否则将该段的基址和段内地址相加,即可得到要访问的内存物理地址。如下图段表寄存器段表始址段表长度>段号段内地址段号段长基址030k40k120k80k215k120k310k150k物理地址段号段首址段长度0120K40K1760K30K2480K20K3370K20K例1:某段表的内容如下:一逻辑地址为(2154),它对应的物理地址为多少?解:逻辑地址为:段号段内地址由段表可知段号为2位,段内地址为16位,段允许的最大长度为2A16=2

8、A10*2A6=1024*64=65536o所以逻辑地址2154的段号为0,查段表知其对应的物理地址为:120K+2154例2:在一个段式存储管理系统中,其段表为:段号4”

9、430

10、

11、2

12、120

13、内存起始地址段长2105002350201009013505900430193895段号段内地址由段表可知段号为逻辑地址3位,段内地址为10位。试求表屮逻辑地址对应的物理地址是什么?解:逻辑地址为:0430对应的物理地址为:210+430=640逻辑地址2120因为段内地址120>段长90

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。