1 / 4
文档名称:

内存块分配算法和抖动问题.docx

格式:docx   大小:17KB   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

内存块分配算法和抖动问题.docx

上传人:aihuichuanran1314 2018/10/11 文件大小:17 KB

下载得到文件列表

内存块分配算法和抖动问题.docx

相关文档

文档介绍

文档介绍:内存块分配算法和抖动问题
2010-03-23 18:53
1 内存块分配算法
 最少内存块数
分配给进程的内存块数目是受到限制的,分配的总块数不能超出可用块的总量
(除非存在页共享的情况)。另一方面,每个进程也需要有起码最少的块数。很
显然,随着分给每个进程块数的减少,缺页率将上升,降低了进程的执行速度。
分给每个进程的 最少块数 是指能保证进程正常运行所需的最少内存数, 它是由指
令集结构决定的。 因为正在执行的指令被完成之前出现缺页时, 该指令必须被重
新启动,与此相应,必须有足够的块把一条指令所访问的各个页都存放起来。
而每个进程的 最多块数 是由可用内存的总量决定的。
 固定分配和可变分配
请求分页系统支持虚拟存储器, 可以采用两种内存块分配策略, 即 固定分配 和可
变分配 。
( 1) 固定分配 策略是分配给进程的内存块数是固定的,并在最初装入时(即进
程创建时)确定块数。分给每个进程的内存块数基于进程类型(交互式、批处理
型、应用程序型等),或者由程序员或系统管理员提出 的建议。当进程执行过
程中出现缺页时,只能从分给该进程的内存块中进行页面置换。
( 2) 可变分配 策略允许分给进程的内存块数随进程的活动而改变。如果一个进
程在运行过程中持续缺页率太高, 这就表明该进程的局部化行为不好, 需要给它
分配另外的内存块, 以减少它的缺页率。 如果一个进程的缺页率特别低, 就可以
减少分配的内存块,但不要显著增加缺页率。
可变分配策略的功能更强, 但需要操作系统估价出各活动进程的行为, 这就增加
了操作系统的软件开销,并且依赖于处理器平台所提供的硬件机制。
 全局置换与局部置换
内存块分配的另一个重要问题是 页面置换范围 。多个进程竞争内存块时, 可以把
页面置换分为两种主要类型: 全局置换 和 局部置换 。全局置换 允许一个进程从全
体存储块的集合中选取置换块, 尽管该块当前已分给其他进程, 但还是能强行剥
夺。而 局部置换 是每个进程只能从分给它的一组块中选择置换块。
采用局部置换策略, 分给进程的块数是不能变更的 。采用全局置换策略, 一个进
程 可以只从分给其他进程的块里挑选 。这样, 如果没有别的进程挑选它的块, 那
么分给该进程的块数就增加了。可以由一个核心进程专门负责页面置换工作。
全局置换算法存在的一个问题是, 程序无法控制自己的缺页率。 一个进程在内存
中的一组页面不仅取决于该进程的页面走向,而且也取决于其他进程的页面走
向。因此, 相同程序由于外界环境不同会造成执行上的很大差别。 使用局部置换
算法就不会出现这种情况,一个进程在内存中的页面仅受本进程页面走向的影
响。
 内存块分配算法
为每个进程分配内存块的算法主要有三种:等分法、比例法和优先权法。
( 1)等分法
为每个进程分配存储块的最简单的办法是平分,即若有 m块、 n 个进程,则每个
进程分 m/n 块(其值向下取整)。
等分法不区分具体进程的需求, “一视同仁”地进行分配。 其结果造成: 有的进
程用不了那么多块, 而另外进程却远远不够用。 为解决这个问题, 可采取按需成
比例分配的办法。
( 2)比例法
分给进程的块数 =进程地址空间大小 /