操作系统基础知识

262 阅读2分钟

内存管理机制

块式管理

一种连续管理方式, 为每个进程提供一块连续的内存.

块中可能有进程未使用到的空间, 称为碎片

段式管理

段是程序逻辑的分块. 通过段表确定逻辑地址对应的物理地址

页式管理

现代操作系统采用进程, 每个进程有独立的地址空间, 这个地址空间是虚拟内存. 使用虚拟内存有两个好处:

  • 程序不直接操作物理内存, 避免造成系统崩溃
  • 多进程并发运行, 如果直接操作物理内存容易冲突
  • 虚拟内存可以比物理内存更大, 避免内存不足

虚拟内存分为, 物理内存分为页框, 与页一一对应. 通过MMU映射到物理内存, 如果页不在物理内存中, 发生缺页中断, MMU中存有页表, 将页与页框映射起来

对于4GB的内存, 若每页4KB, 则共1M页, 如果有16位地址线, 一次可寻址2^16=64K页, 则需要二级页表.

64位系统需要多级页表

通过多级页表找到虚拟地址对应的物理地址, 此映射关系会被缓存到CPU的TLB高速缓存中.

CPU --> TLB --> MMU ->物理地址总线 ->多级页表

段页式存储

分割依据逻辑分割固定大小分割
用户可见×
固定大小×

用分段方法来分配和管理虚拟存储器。程序的地址空间按逻辑单位分成基本独立的段,而每一段有自己的段名,再把每段分成固定大小的若干页。

用分页方法来分配和管理实存。即把整个主存分成与上述页大小相等的存储块,可装入作业的任何一页。程序对内存的调入或调出是按页进行的。但它又可按段实现共享和保护。

每一个段对应一张页表

段页式存储

TLB 快表