Appearance
题目
在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是( )。
错因
A
可变分配 + 全局置换是经典组合(许多现代 OS 默认就是这套)——进程页框数可变,缺页时从全局空闲池或别的进程那里要页框。把这种"灵活搭灵活"的组合当成不能组合,是把"两种策略都活动"误当成"互相打架"了。
B
可变分配 + 局部置换也能用:进程的页框数可调(看工作集大小动态增减),但置换时只在自己的页框集合里换。两种"可变"维度互不冲突——一个管"分多少",一个管"从谁那换"。
D
固定分配 + 局部置换是最经典的组合:每个进程页框数定死,缺页时只在自己的页框里换出一个。固定分配规定的是"页框数",局部置换规定的是"从谁那换出",两个约束方向一致(都不让别的进程牵涉进来)。这个组合不仅合理而且最干净。
总解析
先明确两个维度各自管什么:
| 维度 | 含义 |
|---|---|
| 分配策略 | 进程在生命周期内拥有的页框数——固定(始终就这么多)/ 可变(可增可减) |
| 置换策略 | 缺页时换出的页从哪个集合选——局部(只动自己进程的页)/ 全局(可动整个系统的页,包括从别进程那"抢") |
四种组合的可行性:
| 组合 | 可行? | 原因 |
|---|---|---|
| 固定分配 + 局部置换 | ✓ | 进程页框数定死,缺页时在自己的页框里换 |
| 可变分配 + 局部置换 | ✓ | 自己页框可增减,但换出限定在自己范围 |
| 可变分配 + 全局置换 | ✓ | 全局抢页框 → 直接改变进程的页框数(这就是"可变") |
| 固定分配 + 全局置换 | ✗ | 矛盾——全局置换可能从别的进程"抢"页框、或者把页换到别处去,这必然改变某进程的页框数;但"固定分配"要求每进程页框数不能变 |
判定原则:全局置换会导致进程页框数变化——分配出去就成了别人的、抢回来就增加了自己的。如果同时要求"页框数固定",那全局置换的核心动作就被禁了,两者本质冲突。
C 是唯一不能组合的:固定分配的"数不变"约束 + 全局置换的"动别人页框"动作,逻辑互斥。
最终答案是 C。