操作系统_内存保护

Memory Protect

在多进程环境中管理和保护内存,同时避免进程之间的干扰

在操作系统中,内存管理需要解决以下问题:

  1. 资源分配
  • 将内存分配给多个进程,并让它们独立运行。
  1. 隔离和保护
  • 确保一个进程不能访问或修改另一个进程的内存。
  1. 高效利用内存
  • 避免内存碎片,最大化可用内存的使用率。

内存保护的simple protection:

enforce Base and Limit

Base(存储内存起始地址) Limit(存储进程可以使用的内存大小)

分离地址空间--虚拟地址和物理地址:

虚拟地址

process expect zero based address

为什么要以0开始?虚拟地址有什么好处?

  • address will change between run

  • process can be load in different places

  • base and limit leaves location of process visible

物理地址

实际的内存地址,操作系统将虚拟地址映射到物理地址

地址映射的实现:MMU

MMU(Memory Management Unit) 是硬件模块,负责将虚拟地址转换为物理地址。

分段分页是实现虚拟地址到物理地址映射的两种主要方法。

分段 Segmentation

内存按逻辑分为多个段(例如代码段、数据段、栈段),地址表示为:段号 : 偏移量(如:2:0x100)。

缺点:

  • external fragmentation

  • Dynamic storage allocation problem: First fit; Best fit; Worst fit;

分页 Paging

将内存分成固定大小的块,称为页(Page)

虚拟地址分为页号(Page Number)和页内偏移(Offset)

页号通过页表(Page Table)映射到物理内存中的帧(Frame)。

posted @ 2025-06-23 19:32  RAY5-2  阅读(34)  评论(0)    收藏  举报