- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.6 分段存储管理的方式 作者:韩艳 杜晓辉 黄润 why~~分段存储管理方式的引入 可以从以下俩个方面说明: 一 :由于通常的程序都可分为若干个段,如主程序段,子程序段,数据段,栈段等,每一个段都是一个相对独立的逻辑单位; 二 :实现和满足信息共享,信息保护,动态链接以及信息的动态增长等需要,也都是以段为基本单位的-------分段存储管理方式更符合用户和程序员如下多方面的需要; 方面一:-----------方便编程 先看个例子:LOAD 1,[A]| D 表示:将分段A中D单元内的值读入存储器1; -----由此例可看出逻辑地址是由段名和段内偏移量决定的,这不仅可以方便程序员编程也可使程序非常直观,更具可读性; 方面二:-----------信息共享 在实现对程序和数据的共享时,是以信息的逻辑单位为基础的。比如,共享某个例程和函数。分页系统中的页只是存放信息的物理单位(块),并无完整的意义,不便于实现共享;然而段却是信息的逻辑单位。由此可知,为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应。 方面三:-----------信息保护 信息保护同样是对信息的逻辑单位进行保护,因此,分段管理方式能更有效和方便地实现信息保护功能。 方面四:-----------动态增长 4) 动态增长 在实际应用中,往往有些段,特别是数据段,在使用过程中会不断地增长,而事先又无法确切地知道数据段会增长到多大。前述的其它几种存储管理方式,都难以应付这种动态增长的情况,而分段存储管理方式却能较好地解决这一问题。 方面五:-----------动态链接 动态链接是指在作业运行之前,并不把几个目标程序段链接起来。要运行时,先将主程序所对应的目标程序装入内存并启动运行,当运行过程中又需要调用某段时,才将该段(目标程序)调入内存并进行链接。可见,动态链接也要求以段作为管理的单位 4.6.2 ---分段系统的基本原理 分段: 在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。例如,有主程序段MAIN、子程序段X、数据段D及栈段S等,如图4-17所示。每个段都有自己的名字。为了实现简单起见,通常可用一个段号来代替段名,每个段都从0开始编址,并采用一段连续的地址空间。段的长度由相应的逻辑信息组的长度决定,因而各段长度不等。整个作业的地址空间由于是分成多个段,因而是二维的,亦即,其逻辑地址由段号(段名)和段内地址所组成。 分段地址中的地址具有如下结构: 在该地址结构中,允许一个作业最长有 64 K个段,每个段的最大长度为64 KB。 分段方式已得到许多编译程序的支持,编译程序能自动地根据源程序的情况而产生若干个段。例如,Pascal编译程序可以为全局变量、用于存储相应参数及返回地址的过程调用栈、每个过程或函数的代码部分、每个过程或函数的局部变量等等,分别建立各自的段。类似地,Fortran编译程序可以为公共块(Common block)建立单独的段,也可以为数组分配一个单独的段。装入程序将装入所有这些段,并为每个段赋予一个段号。 段表:在前面所介绍的动态分区分配方式中,系统为整个进程分配一个连续的内存空间。而在分段式存储管理系统中,则是为每个分段分配一个连续的分区,而进程中的各个段可以离散地移入内存中不同的分区中。为利用段表实现地址映射 利用段表实现地址映射 使程序能正常运行,亦即,能从物理内存中找出每个逻辑段所对应的位置,应像分页系统那样,在系统中为每个进程建立一张段映射表,简称段表。每个段在表中占有一个表项,其中记录了该段在内存中的起始地址(又称为基址)和段的长度,如右图所示。段表可以存放在一组寄存器中,这样有利于提高地址转换速度,但更常见的是将段表放在内存中。 利用段表实现地址映射(图4-19): 地址变换机构----WHY 为了实现从进程的逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用于存放段表始址和段表长度TL。在进行地址变换时,系统将逻辑地址中的段号与段表长度TL进行比较。若STL,表示段号太大,是访问越界,于是产生越界中断信号;若未越界,则根据段表的始址和该段的段号,计算出该段对应段表项的位置,从中读出该段在内存的起始地址,然后,再检查段内地址d是否超过该段的段长SL。若超过,即dSL,同样发出越界中断信号;若未越界,则将该段的基址d与段内地址相加,即可得到要访问的内存物理地址。 下图示出了分段系统的地址变换过程(4-20): 像分页系统一样,当段表放在内存中时,每要访问一个数据,都须访问两次内存,从而极大地降低了计算机的速率。解决的方法也和分页系统类似,再增设一个联想存储器,用于保存最近常用的段表项。由于一般情况是段比页大,因而段表项的数目比页表
您可能关注的文档
最近下载
- 2025年金融风险管理师风险文化意识提升策略专题试卷及解析.pdf VIP
- OMRON欧姆龙B7A-R6F11_R6F16_R6F31_R6F36安装说明书.pdf VIP
- 2025年无人机驾驶员执照飞行环境评估之卫星云图与雷达图分析专题试卷及解析.pdf VIP
- 推荐CECS59-94水泵隔振技术规程.pdf VIP
- 汽车空调管路生产线瓶颈改善研究.pdf VIP
- 《少让父母为我操心》教案道德与法治教案3.doc VIP
- 幕墙构件及组件的加工制作记录(附图).doc VIP
- 员工激励机制研究.pdf
- 办公室主任2025年度现实表现材料范文.docx VIP
- 2025年互联网营销师问卷调研案例解析专题试卷及解析.pdf VIP
原创力文档


文档评论(0)