储存器管理-内存连续分配

一,单一模式分配

最简单的储存管理方式,只能用于单用户、单任务的操作系统中。

将内存分为系统区和用户区。


二,固定分区分配

        将用户内存划分成若干个分区,允许几个作业共享主存空间,这几个作业被装入不同的分区中,每个分区可用来装入一个作业。

    1.划分方法有以下俩种:

            (1).分区大小相同

            (2).分区大小不相同

    2.内存分配   

            借助一张分区使用表来进行分配


三,动态分区分配

        根据时间需要,动态的分配内存空间

    1,分配的数据结构

            (1)空闲分区表:通过表记录每个空闲分区使用情况。每个空闲分区占一个表目,包括分区序号、起始地址、分区大小。

            (2)空闲分区链:在每个分区的起始部分设置一些控制分区的信息和链接各个分区的前后指针。

    2,分区分配算法

            (1)首次适应算法(First Fit)

                算法思想:将空闲分区链以地址递增的顺序连接;在进行内存分配时,从链首开始顺序查找,直到找到一块分区的大小可以满足需求                     时,按照该作业的大小,从该分区中分配出内存,将剩下的空闲分区仍然链在空闲分区链中。

                优点:高址部分的大的空闲分区得到保留,为大作业的内存分配创造了条件;

                缺点:1.每次都是优先利用低址部分的空闲分区,造成低址部分产生大量的外碎 片。

                          2.每次都是从低址部分查找,使得查找空闲分区的开销增大;

            (2)循环首次适应算法(Next Fit)

                算法:分配内存时不是从链首进行查找可以分配 内存的空闲分区,而是从上一次分配内存的空闲分区的下一个分区开始查找,直到                       找到可以为该进程分配内存的空闲分区;

                优点:1.使得空闲分区分布更加均匀;

                           2.空闲分区的查找开销小;

                缺点:高址部分的大空闲分区被分小,使得大作业进入无法分配内存;

        (3)最佳适应算法(Best Fit)

                算法:将空闲分区链中的空闲分区按照空闲分区由小到大的顺序排序,从而形成空闲分区链。每次从链首进行查找合适的空闲分区为                     作业分配内存,这样每次找到的空闲分区是和作业大小最接近的,所谓“最佳”。

                优点:第一次找到的空闲分区是大小最接近待分配内存作业大小的;

                缺点:产生大量难以利用的外部碎片。

        (4)最坏适应算法(Worst Fit)

                 算法:与最佳适应算法刚好相反,将空闲分区链的分区按照从大到小的顺序排序形成空闲分区链,每次查找时只要看第一个空闲分                        区是否满足即可。

                 优点:效率高,分区查找方便;

                 缺点:当小作业把大空闲分区分小了,那么,大作业就找不到合适的空闲分区。

        (5)快速适应算法(Quick Fit)

                 算法:将空闲分区按照其大小分类,对每一类单独设立一个空闲分区表,当然还需要一张表来管理各个类的空闲分区表,分配时根据进                  程的长度,寻找可以容纳它的最小空闲区并进行分配。

                 优点:效率高,不会对任何分区进行分割,不会产生内存碎片;

                 缺点:算法复杂,系统开销大而且空闲分区分的越细,内存浪费严重,典型的空间换时间的做法。

四,伙伴系统

            伙伴系统规定:所有的分区大小都为2的K次幂(0<k<m),2的m-1次幂为可分配的最大大小。

            大体流程图如下:



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 连续分配方式,是指为一个用户程序分配一个连续的内存空间。它主要包括单一连续分配、固定分区分配和动态分区分配。 单一...
    saviochen阅读 9,091评论 0 5
  • 存储器管理 存储器的层次结构 存储器的层次结构:寄存器-高速缓存-主存-磁盘缓存-磁盘-可移动存储介质 可执行存储...
    颜洛滨阅读 4,572评论 0 2
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 14,215评论 3 34
  • 【来4:14】我们既然有一位已经升入高天尊荣的大祭司,就是神的儿子耶稣,便当持定所承认的道。 【来4:15】因我们...
    Janice1阅读 2,880评论 0 0
  • 你牵我走弯弯的小巷,风吹过落叶的地方,你说孩子勇敢地去闯,去看世界的模样。 ...
    赖獭獭阅读 1,841评论 0 2

友情链接更多精彩内容