- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主存管理PPT
第5.4节 主存管理 ;教学内容;4.1 存储器管理概述 ;4.1.2 用户程序的处理过程;编译程序产生的目标模块;;10000;(3)动态运行时的装入方式;10000;4.目标程序链接;0;(2)装入时动态链接
用户源程序经编译后得到目标模块,是在装入内存时边装入边链接的。即在装入一个目标模块时,若发生一个外部模块调用时,将引起装入程序去找相应的外部目标模块,并将它装入内存。
(3)运行时动态链接
装入时进行的链接虽然可以将整个模块装入到内存的任何地方,但装入模块的结构是静态的。在程序执行期间装入模块是不可改变的,因为无法预知本次要运行哪个模块,只能将所有可能要运行的模块,在装入时全部链接在一起,使得每次执行的模块都相同。这样效率很低,因此采用运行时动态链接。在这种链接方式中,可将某些目标模块的链接,推迟到执行时才进行。即在执行过程中,若发??一个被调用模块尚未装入内存时,由OS去找该模块,将它装入内存,并把它链接到调用模块上。;4.2.连续分配存储管理方式 ;4.2.1 单道程序的连续分配;2.用户区
操作系统以外的全部空间。其结构图如图4.6所示。; 为了避免用户程序执行时访问了操作系统所占空间,应将用户程序的执行严格控制在用户区域。称之为存储保护,保护措施主要是由硬件实现。硬件提供界地址寄存器和越界检查机构。将操作系统所在空间的下界a存放在界地址寄存器中,用户程序执行时,每访问一次主存,越界检查机构便将访问主存的地址和界地址寄存器的值进行比较,若出界则报地址错。;界限寄存器;4.2.2 固定分区分配方式;4.2.3 动态分区分配;(1)空闲分区表
其表的结构表所示:;(2)空闲分区链;二、分区分配算法 ;2.最佳适应法
可以在上述两种数据结构上实施,但要求按自由块从小到大的顺序排序。分配从头开始查找,即从小端到大端的方向查找。直到找到第一个满足要求的自由块。显然,所能找到的自由块能满足要求的最小块。
3.最坏适应算法
数据结构和排序方法如上。当分配空间时不是从小往大查,而是从大往小查,因此,所找到的自由块是所有自由块中最大者。;三、分区分配和回收;2.回收内存;f;4.2.4 可重定位分区;;2.动态重定位;Load1,2500;3.动态重定位分区分配算法;4.3 分页存储管理方式 ;4.3.2分页存储管理的基本方法;用户程序;三、虚地址结构;四、页式地址变换;1KB; 当作业2的相应进程在CPU上运行时,操作系统负责把该作业的页表在主存中的起始地址(a)送到页表起始地址寄存器中。以便在进程运行中进行地址变换时由它控制找到该作业的页表。
当作业2的程序执行到指令“mov r1,[2500]”时,CPU给出的操作数地址为2500,首先由分页机构自动把它分成两部分,得到页号p=2,页内相对位移w=452。然后,根据页表始址寄存器指示的页表始地址,以页号为索引,找到第2页所对应的块号7。然后,将块号7和页内位移量w拼接在一起,就形成了访问主存的物理地址7620。这正是所取数123所在主存的实际位置。;五、快表;页表始址寄存器;4.3.3 两级和多级页表;1023; 由图可以看出,在页表的每个表项中存放的是进程的某页在内存中的物理块号,如第0#页存放在1号物理块中,1#页存放在4#物理块中。而在外层页表的每个页表项中,所存放的是某页表分页的首址。如0#页表存放在第1011#物理块中。我们可以利用外层页表和页表这两级页表,来实现从进程的逻辑地址到内存地址的变换。;外部页表寄存器; 为了地址变换实现,在地址机构中同样需要设置一个外层页表寄存器,用于存放外层页表的始址。并利用逻辑地址的外层页号,作为外层页表的索引。从中找到指定页表分页的首址。再利用P2作为指定页表分页的索引,找到指定的页表项。其中即含有该页在内存中的物理块号。用该块号和页内地址d即可构成访问内存的物理地址。图4.16即为两级页表的地址变换机构。;二、多级页表结构;4.4 分段存储管理方式; 分段系统中的逻辑地址由段号s和段内偏移量w组成。其地址结构如图所示。;二、分页和分段的主要区别;三、基本原理;L;(1)将逻辑地址分为两部分,段号s 和段内偏移量w。
(2)将该进程的段表地址寄存器中的段表内存地址B与段号s 相加,得到该进程在段表中相应表项的索引值,从该表项中得到该段的长度以及该段在内存中的起始地址。
(3)将段内地址d与该段的内存始址相加得到访问单元的内存地址。;4.4.2信息共享;段1;2.段的保护;4.4.3段页式存储管理方式;(4)逻辑地址结构。一个逻辑地址由3部分构成,段号s、段内页号p和页内地址d,记做v=(s,p,d),如图4.19
文档评论(0)