美文网首页操作系统
第四章存储器管理

第四章存储器管理

作者: Whocare_2f87 | 来源:发表于2018-12-06 09:02 被阅读0次

    4.1程序的装入和链接

    1、创建进程的第一件事:将程序和数据装入内存。

    2、程序的装入和链接

    1)编译

    2)链接

    3)装入

    3、地址的概念

    1)逻辑地址(相对地址,虚地址)

    2)物理地址(绝对地址,实地址)

    4、程序装入中的地址处理

    逻辑地址  ======   物理地址:

    1)绝对装入方式

    逻辑地址 ->重定位->物理地址:

    2)静态可重定位装入方式

    3)动态运行时(重定位)装入方式

    5、不同的程序链接装入方式(使用内存的时机)

    根据链接时间的不同,分成三种:

    ①静态链接:装入运行前将多个目标模块及所需库函数链接成一个整体,以后不再拆开。

    ②装入时动态链接:装入内存时,边装入边链接的链接方式。

    ③运行时动态链接:对某些目标模块的链接,在执行中需要该目标模块时,才对它进行链接。

    4.2连续分配存储管理方式

    1、连续分配方式

    (1)单一连续分配

    (2)固定分区分配

            具体实现:

            1)如何划分分区大小

            2)需要的数据结构

            3)分配回收操作

    (3)动态分区分配

    优点:并发进程数没有固定数的限制,不产生内碎片。

    缺点:有外碎片

    具体实现:

    1)分区分配中的数据结构

    2)分区分配算法

    ①首次适应算法FF

    优点:优先利用内存低址部分,保留了高地址部分的大空闲区;

    缺点:但低址部分不断划分,会产生较多小碎片;而且每次查找从低址部分开始,会逐渐增加查找开销。

    ②循环首次适应算法

    优点:空闲分区分布均匀,减少查找开销

    缺点:缺乏大的空闲分区

    ③最佳适应算法

    缺点:每次找到最合适大小的分区割下的空闲区也总是最小,会产生许多难以利用的小空闲区

    ④最差适应算法

    基本不留下小空闲分区,但会出现缺乏较大的空闲分区的情况。

    ⑤快速适应算法

    能快速找到合适分区,但链表信息会很多;实际上是空间换时间。

    3)分区分配操作

    (4)动态重定位分区分配

    动态重定位分区分配算法与动态分区分配算法基本相同,差别在于增加了紧凑的功能。

    (5)内存空间管理之对换

    对换空间的管理

    4.3-4.4存储管理的离散分配方式

    (一)基本分页存储管理

    1、分页的目的是更细粒度的处理空间,减少粗放管理的浪费或开销问题。

    2、物理划分块的大小=逻辑划分的页的大小

    3、页表:为了找到被离散分配到内存中的作业,记录每个作业各页映射到哪个物理块,形成的页面映射表

    4、每个作业有自己的页表

    5、离散分配过程:

    •找空   •放入   •记录

    6、连续方式下,每条指令用基地址+偏移量即可找到其物理存放的地址。

    7、一作业所有指令在用户地址空间是顺序编址

    8、地址变换机构实现地址映射

    分页式系统中的地址变换机构

    9、设一次查找访问快表时间为t' ,则

     EAT= a*t' + (1-a)(t'+t)  + t = 2t +t' -t*a

    10、

    具有快表的分页系统的地址变换机构 

    11、进程分页离散存放,但页表的数据是连续在存放内存的。

    12、两级页表:为离散分配的页表再建立一张页表,称为“外层页表”,其每个表项记录了页表页面所在的物理块号。

    13、

    具有两级页表的地址变换机构

    14、反置页表:站在物理块的角度,记录占用它的已调入内存的进程标识和页号。系统中只需一张该表即可。

    (二)基本分段存储管理

    1、分段存储管理:作业分成若干段,各段可离散放入内存,段内仍连续存放。

    2、基本原理:程序通过分段划分为多个模块,每个段定义一组逻辑信息。

    3、地址结构:段号+段内地址

    4、段表:记录每段实际存放的物理地址

    5、

    分段系统地址变换机构

    6、分页和分段的主要区别(重点)

    1)需求:分页是出于系统管理的需要,是一种信息的物理划分单位,分段是出于用户应用的需要,是一种逻辑单位,通常包含一组意义相对完整的信息。

    一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。

    2)大小:页大小是系统固定的,而段大小则通常不固定。分段没有内碎片,但连续存放段产生外碎片,可以通过内存紧缩来消除。相对而言分页空间利用率高。

    3)逻辑地址:

    分页是一维的,各个模块在链接时必须组织成同一个地址空间;

    分段是二维的,各个模块在链接时可以每个段组织成一个地址空间。

    4)其他:通常段比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。分段模式下,还可针对不同类型采取不同的保护;按段为单位来进行共享

    (三)段页式存储管理

    1、基本原理

    1)将用户程序分成若干段,并为每个段赋予一个段名。

    2)把每个段分成若干页

    3)地址结构包括段号、段内页号和页内地址三部分

    2、

    段页式系统的地址变换机构 

    相关文章

      网友评论

        本文标题:第四章存储器管理

        本文链接:https://www.haomeiwen.com/subject/jclncqtx.html