操作系统_内存保护
Memory Protect
在多进程环境中管理和保护内存,同时避免进程之间的干扰
在操作系统中,内存管理需要解决以下问题:
- 资源分配:
- 将内存分配给多个进程,并让它们独立运行。
- 隔离和保护:
- 确保一个进程不能访问或修改另一个进程的内存。
- 高效利用内存:
- 避免内存碎片,最大化可用内存的使用率。
内存保护的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)。


浙公网安备 33010602011771号