2011年计算机软件水平考试嵌入式系统设计师辅导笔记(26)

来源:微学教育网发布时间:2011-02-12

  8、页式存储管理(重点)

  基本思路:把物理内存划分为许多固定大小的内存块,称为物理页面;把逻辑地址空间也划分为大小相同的块,称为逻辑页面。当一个用户程序被装入内存时,不是以整个程序为单位,把它存放在一整块连续的区域,而是以页面为单位来进行分配的。对于一个大小为N 的页面程序,需要有N 个空闲的物理页面来把它装载。这些物理页面不一定是要连续的。

  在页式存储管理中需要解决三个问题:数据结构、内存分配与回收、地址映射。

  数据结构有两个:页表和物理页面表。

  A. 页表:给出了任务逻辑页面号和内存中物理页面号之间的对应关系。

  B. 物理页面表:描述内存空间中,各个物理页面的使用情况。

  具体的例子请参考《教程》317页(博客中画不了图,有兴趣自己看)。

  内存的分配过程:

  A. 对于一个新来的任务,计算它所需要的页面数N,然后查看位示图,看是否还有N 个空闲的物理页面。

  B. 如果有足够的空闲物理页面,就去申请一个页表,其长度为N,并把页表的起始地址填入到该任务的控制块中。

  C. 分配N 个空闲的物理页面,把他们的变换填到页表中,建立逻辑页面与物理页面直接的对应关系。

  D. 修改位示图,对刚刚被占用的那些物理页面进行标记。