MST

星途 面试题库

面试题:进程管理之进程内存管理的关键技术简述

请简要阐述进程内存管理中的分页和分段技术,说明它们的原理、区别以及各自的优缺点。
11.0万 热度难度
操作系统进程管理

知识考点

AI 面试

面试题答案

一键面试

分页技术

  1. 原理:将进程的逻辑地址空间划分成大小相等的页(Page),把物理内存空间划分成与页大小相同的块(Frame)。在进程运行时,以页为单位将进程的页映射到物理内存的块中。通过页表(Page Table)来记录逻辑页号到物理块号的映射关系。
  2. 优点
    • 内存利用率高,减少了外部碎片。因为页的大小固定,可灵活分配内存块。
    • 便于实现虚拟内存,在需要时可将部分页换出到外存,需要时再换入。
  3. 缺点
    • 产生内部碎片,因为页的大小固定,进程最后一页可能装不满,造成浪费。
    • 页表需要占用额外内存空间,且页表查询会增加系统开销。

分段技术

  1. 原理:将进程的逻辑地址空间按照程序的逻辑结构划分为若干个段(Segment),每个段有自己的段名和长度。段的长度不固定,根据逻辑结构确定。通过段表(Segment Table)来记录每个段在内存中的起始地址和长度。逻辑地址由段号和段内偏移量组成,通过段表找到段的起始地址,再加上段内偏移量得到物理地址。
  2. 优点
    • 符合程序的逻辑结构,便于程序的模块化设计和管理,段可以按功能划分,如代码段、数据段等。
    • 没有内部碎片,因为段的长度按需分配。
  3. 缺点
    • 易产生外部碎片,因为段长度不固定,内存分配和回收后容易留下难以利用的小空闲块。
    • 段表管理相对复杂,段表项需要记录段的起始地址和长度等信息,增加了系统开销。

分页与分段的区别

  1. 划分方式:分页是按固定大小划分逻辑地址空间,分段是按程序逻辑结构划分逻辑地址空间。
  2. 大小特性:页大小固定,段大小不固定。
  3. 碎片情况:分页产生内部碎片,分段产生外部碎片。
  4. 用户可见性:分页对用户透明,用户无需关心分页细节;分段对用户相对可见,用户在编程时可按段组织程序。