固定分区分配

来自计算思维百科
跳转至: 导航搜索
固定分区分配1.jpg

计算机在执行任务时,每个任务都需要在存储器中占一定的空间,这就好像你旅行时会带很多用具,每个用具完成一个任务,它在你的包里就会占一定的空间。固定分区分配,是计算机存放多个任务的方法的存储管理方式,是一种静态方法,属于操作系统为用户程序分配内存方式中的连续分配。

基本概念

固定分区分配,是指将内存用户空间划分为若干个固定大小的区域,在每个分区中装入一道作业。这样,把用户空间划分为几个分区,便允许有几道作业并发运行。当有一空闲分区时,便可以再从外存的后备作业队列中选择一个适当大小的作业装入该分区,当该作业结束时,又可再从后背作业队列中找出另一作业调入该分区。

固定分配分配有两种划分方法,一种是将用户空间划分为若干个相等的分区,另一种则是划分为不同大小的分区。

对于不同分区,通常将分区按照大小进行排序,并为之建立一张分区使用表,其中每个表项包括每个分区的起始地址,大小及状态(是否已分配),当有程序要装入时,有内存分程序检索该表,找出一个能满足要求的、尚未分配的分区,将之分配给该程序,然后将该表项中的状态置为“已分配”;若未找到大小足够的分区,则拒绝为该用户程序分配内存。如下图所示。

固定分区分配2.png

应用范围

固定分区分配可应用于有限资源多人需要均等使用或不均等使用的情况,例如建筑楼层房间大小的划分,炉温群控系统等。

使用方法及步骤

  1. 根据需要选择等分或不等分,将大空间划分成若干个小分区
  2. 将若干个分区作一定的记号,按分区大小从小到大排序,建立分区使用表,包括分区的地址、大小和状态
  3. 当有需要使用空间的时候,对分区使用表进行检索,找到未被分配且能满足空间需求的分区,将分区分配出去,并将分区的使用状态改为已分配

应用案例

应用1- 家里楼层房间划分

案例:小明家要建新房子,施工队来找小明爸爸讨论建房子事宜,讨论二楼空间的划分问题。小明爸爸希望以后在二楼有三个卧室A、B、C,一个客厅D,一个厨房E还有一个独立卫生间F,其中有一个卧室A需要带有卫生间,另外两个卧室B和C分别需要能容纳一个人和两个人的空间,客厅不能太小,此时施工队应该给出怎样的初步划分方案?房子建成以后,小明一家(爸爸妈妈,爷爷奶奶,小明)应该如何分别住进哪个房间?

解决步骤:

  1. 根据题目描述,施工队应该选择不等分方法对二楼空间进行空间规划
  2. 根据题目描述,二楼空间划分成的房间由大到小的顺序为卧室A,卧室B,客厅D,厨房E,卧室C,独立卫生间F
  3. 爷爷奶奶由于年纪较大,为了夜间走动方便,应该选择带有卫生间的卧室A

爸爸妈妈应该选择卧室B,小明选择卧室C

在这个解决方案中,二楼空间就是存储空间,卧室、客厅、厨房、卫生间就是不同任务所需的空间,根据不等分划分方法,把二楼空间划分为不同大小的区域,分别用于卧室、客厅、厨房与卫生间等。

应用2 - 幼儿园老师给小朋友分苹果

案例:幼儿园在给小朋友配的营养搭配菜单里常常会有苹果这一种水果。通常,老师会问小朋友吃苹果的意愿,如果每个小朋友都想吃的话,那么老师就要把苹果均分给小朋友;如果有的小朋友不想吃,有的小朋友想吃多一点,那么老师可以把苹果分成大小不同的块,把大的给想多吃一点的小朋友,把小的给想吃少一点的小朋友。 在这个解决方案中,苹果划分的方法体现了内存块的划分思想,或者是等分,或者是按照需要不均匀划分。这些都是固定分区分配的思想。

可以体现的计算思维

固定分区分配将内存空间全部划分为若干个相等或全部划分为若干个不等的分区,使用者根据需要选择分区即可,体现了计算思维的规划特点。这种方法操作简单易行,对于使用过程中基本不会出现资源浪费的情况尤为适用。