• 十九大党章修正案的新时代意蕴 2019-04-19
  • 概括起来就是:人在任何时候都有神赐的田地生长粮棉等生物而足食丰衣。 2019-04-17
  • 乌鲁木齐市天山区设红榜黑榜 每月考核辖区卫生 2019-04-11
  • 台风缘何此时频频光顾 2019-04-06
  • 以古鉴今,习近平多次提及屈原 2019-04-06
  • 周杰伦发胖,奶茶的锅?杰伦:不爱我就拉倒 2019-03-28
  • 军报评论:筑牢和平安全的共同基础 2019-03-26
  • 陕西咸阳市彬县(塌陷)发生3.2级地震  2019-03-26
  • 时评 —频道 春城壹网 七彩云南 一网天下 2019-03-26
  • 便捷安全 OPPO Find X或有望成为首款支持3D人脸识别的安卓手机 2019-03-23
  • 【理上网来·辉煌十九大】习近平新时代中国特色社会主义经济思想对中国经济学理论的贡献 2019-03-21
  • 安徽省商务厅发布“安徽老字号”名单 68个品牌上榜 2019-03-17
  • 关于《中华人民共和国监察法(草案)》的说明 2019-03-17
  • 【北京页川车型报价】北京页川4S店车型价格 2019-03-13
  • 上半年信用卡五大套路排行榜 你中了几招 2019-01-27
  • 当前位置:大乐透开结果走势图 ? 存储资讯 ? 我们常说的内存是怎么分配的,如何减少内存浪费是大难题

    我们常说的内存是怎么分配的,如何减少内存浪费是大难题

    来源:今日头条 作者: 更新时间:2019/2/28 16:33:06

    大乐透开结果走势图 www.rbvde.com

    摘要:说到内存的分配方式,就不得不提连续分配方式。这种方式是指为一个用户程序分配一个连续的内存空间,它曾被广泛的用于20世纪60~70年代的OS中,至今仍被使用。连续分配方式可以进一步分为单一连续分配、固定分配方式、动态分区分配以及动态重定位分配。

      说到内存的分配方式,就不得不提连续分配方式。这种方式是指为一个用户程序分配一个连续的内存空间,它曾被广泛的用于20世纪60~70年代的OS中,至今仍被使用。连续分配方式可以进一步分为单一连续分配、固定分配方式、动态分区分配以及动态重定位分配。

      单一连续分配,是最简单的一种存储管理方式,只能用于单用户、单任务的OS中。它将内存分为系统区和用户区,系统区仅提供给OS使用,除了系统区之外的内存空间全部都是用户区,用户区通常放在高址部分,系统区则放在低址部分。

      固定分区分配,这是在多道程序环境下最简单的存储管理方式。将内存分成多个固定大小的区域,每个区域只装入一道作业,便能允许几道作业并发运行。有空闲分区时,就能从后备队列选择一个装入该分区。

      固定分区分配有两种划分分区的方式:分区大小相等,不过由于缺乏灵活性,程序过小会浪费内存,过大则无法运行。不过在控制多个相同的对象的场合还说可以使用的;分区大小不等,则是将分区划分时含有多个较小的分区、适量的中等分区以及少量大分区,可根据程序大小分配适当的分区。

      我们为了便于内存分配,通常将分区按大小进行排队,并为之建立一张分区使用表,表项报告各分区的初始地址、大小及状态。固定分区是最早的多道程序的存储管理方式,现在虽然过时了,不过在某些控制多个相同对象的系统中还会使用。

      动态分区分配,这是根据进程的实际需要,动态地为之分配内存空间。主要涉及分区分配中所用的数据结构、分区分配算法和分区的分配与回收这三个问题。

      分区分配中的数据结构,主要用来描述空闲分区和已分配分区的情况,为分配提供依据。常用的数据结构有两种形式:空闲分区表,用于记录每个空闲分区的全靠,每个空闲分区占一个表目;空闲分区链,也是为了方便使用空闲分区,在每个分区的起始位置和尾部添加前向和后向指针。

      分区分配算法,将一个新罪业装入内存,须按照一定的分配算法,从空闲分区表或空闲分区链中选出一空闲分区给该作业。目前大致有五种分配算法。

      首次适应算法,将空闲分区链以地址递增的次序链接,分配内存时从头开始查找,只要找到一块空闲区域满足作业大小要求,就将其分配,余下的空闲分区仍留在空闲链。由于此算法倾向利用低址部分的空闲分区,所以低址部分会不断被划分,留下许多难以利用的空闲分区。

      循环首次适应算法,在首次适应算法的基础上,不会每次都从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找。需要设置起始查寻指针,指示下一次起始查询的空闲分区,并采用循环查找方式。这种算法虽然减少了查找空闲分区时的开销,但是会缺乏大的空闲分区。

      最佳适应算法,总是能把满足要求、又是最小的空闲分区分配给作业。为实现此算法,需要将空闲分区按从小到大的顺序形成一空闲分区链。但是,每次分割所留下的剩余部分总是最小的,最后会留下许多难以利用的小空闲区。

      最坏适应算法,会扫描整个空闲分区表,总是挑选最大的空闲分区分割给作业,要求空闲区按从大到小排列。优点是可使剩下的空闲区不至于太小,产生碎片的几率最小,同时查找效率最高。缺点是会使存储器缺乏大的空闲分区。

      以上四种算法被称为顺序搜索法,而下面这个算法被称为分类搜索法。

      快速适应算法,先将空闲分区按容量大小分类,每一类单独设立空闲分区链表。同时在内存中设立一张管理索引表,每一表项对应一种空闲分区类型。而且空闲分区的分类是根据进程常用的空间大小划分的,方便分配空闲分区。此算法的优点是查找效率高,而且不会对分区产生分割,能保留大的分区,也不会产生内存碎片。缺点是分区归还主存时算法复杂,系统开销较大。另外此算法分配时以进程为单位,一个分区属于一个进程,在分配的一个分区中,或多或少存在一定的浪费??障蟹智衷较?,浪费越严重。

      分区的分配与回收,系统利用某种分配算法从空闲分区表找到所需大小的分区,装入空闲分区的作业占用空间后,剩余的部分很小则不再切割,反之则将其划分出去。当作业或者进程运行完毕后释放内存,系统根据回收区的首址,从空闲区链表中找到相应的插入点,将其与相邻空闲区合并。

      责任编辑:DJ编辑

    机房360微信公众号订阅
    扫一扫,订阅更多数据中心资讯

    本文地址://www.rbvde.com/news/2019228/n5894116652.html 网友评论:阅读次数:
    版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
    相关评论
    正在加载评论列表...
    评论表单加载中...
    • 我要分享
    推荐图片
  • 十九大党章修正案的新时代意蕴 2019-04-19
  • 概括起来就是:人在任何时候都有神赐的田地生长粮棉等生物而足食丰衣。 2019-04-17
  • 乌鲁木齐市天山区设红榜黑榜 每月考核辖区卫生 2019-04-11
  • 台风缘何此时频频光顾 2019-04-06
  • 以古鉴今,习近平多次提及屈原 2019-04-06
  • 周杰伦发胖,奶茶的锅?杰伦:不爱我就拉倒 2019-03-28
  • 军报评论:筑牢和平安全的共同基础 2019-03-26
  • 陕西咸阳市彬县(塌陷)发生3.2级地震  2019-03-26
  • 时评 —频道 春城壹网 七彩云南 一网天下 2019-03-26
  • 便捷安全 OPPO Find X或有望成为首款支持3D人脸识别的安卓手机 2019-03-23
  • 【理上网来·辉煌十九大】习近平新时代中国特色社会主义经济思想对中国经济学理论的贡献 2019-03-21
  • 安徽省商务厅发布“安徽老字号”名单 68个品牌上榜 2019-03-17
  • 关于《中华人民共和国监察法(草案)》的说明 2019-03-17
  • 【北京页川车型报价】北京页川4S店车型价格 2019-03-13
  • 上半年信用卡五大套路排行榜 你中了几招 2019-01-27