轻松学——操作系统之存储

发表于:2012-4-17 09:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈宗毅    来源:51Testing软件测试网采编

  存储我们要讲两点内容:

  实存管理:

  存储我们只需要了解三种分配方法即可:单一连续分配、固定分区分配、可变分区分配;其实我们经常讲对于一些不好区分的概念,我们画个表,把他们放在一起来进行对比,那么通过对比来理解,那真的是太爽了;所以呢,我们也画个表,把这几个概念放在一起来进行区分和理解,看图:

  这样一对比,我们就能看的出来,只有可变分区分配的空间是可变的;然后另外两个分配是静态的。其实顾名思义也就差不多能理解的差不多,没有难度的,我们再深入一点来了解:看几个图:

  单一连续分配:

  我们可以看得出来,把整个内存区画为一个区。它同一时间在内存当中只能装入一个程序,只能用于单用户、单任务的执行操作。

  固定分区分配:

  这个跟单一连续有相似之处,就是内存分配的还是比较固定了;但是这个分配还有自己的特点,就是把内存分为几个块,比如是:10K、22K、32K;那么就会有可能能运行三个程序,当三个程序占用内存在这三个区域内的时候,我们就能运行。把这个分区给定死了,所以一旦有比这些区域要大的程序要运行,那么就完蛋了,虽然总内存够用,但是也不能运行,因为分区分的太死了。

  可变分区:

  打个比方:有三个过程,一开始和单一连续分配是一样的,然后当有程序要运行的时候,就给该程序分配匹配的空间,当用完之后,释放出来之后,又能拼凑成一个空白的区域,回到最初的状态,特别灵活。

  我们继续对可变分区分配方式进行探讨:

  最佳适应法:选择等于或最接近需求的内存自由区进行分配。这种方法可以减少碎片,但同时也可能带来更多小得无法再用的碎片。但是这个还算有弊端的,这个我们应该怎么理解呢?比如我们有一个6K的空间,然后分配一个5K的空间给一个程序运行,那么剩余的1K一般来说就没法利用了,因为一般很少有1K的程序要运行,所以这个1K就成了碎片了,那么循环下来的话,就有很多碎片产生了。但是相对来说,这个分配方法还算是挺好的。

  首次适应法:首次就是寻找第一个可用的,可用就是寻找大于等于作业需求的内存的自由区分配给作业。这个的好处就是缩短查找时间。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号