为什么需要位图?(位图的作用)
位图(Bitmap)是管理物理内存页框(Page Frame)的重要方式,它的核心作用是高效地跟踪哪些内存页是空闲的,哪些已经被占用了。
在支持 虚拟内存 的操作系统(如 Linux、Windows)中,位图主要用于 物理内存管理。
1. 为什么需要位图?
✅ (1) 物理内存管理
虚拟地址操作系统的关键问题:
- 进程访问的是 虚拟地址,但底层仍然使用 物理内存。
- 物理内存按页(Page)分配(如 4KB 一页)。
- 操作系统必须 高效地管理哪些物理页已经被占用,哪些是空闲的。
位图的作用:
- 每一位代表一个物理页,0 表示空闲,1 表示已分配。
- 分配内存时:找到第一个
0,改为1,表示该物理页已占用。 - 释放内存时:找到相应位,改回
0,表示该页已释放。
💡 位图让物理内存的分配和回收变得非常简单和高效!
✅ (2) 为什么不用链表或其他方式?
如果不使用位图,其他的内存管理方式可能有以下问题:
| 方式 | 问题 |
|---|---|
| 链表 | 需要遍历链表,查找空闲块,速度较慢。 |
| 数组 | 每个页占用 4~8 字节,空间浪费大。 |
| 位图 | 一个页只占 1 位,查找速度快,空间利用率高! |
示例:
- 假设有 1GB 物理内存,页大小为 4KB,需要管理:
1GB / 4KB = 262144个物理页。- 如果用链表,每个页需要指针,占用

最低0.47元/天 解锁文章
513

被折叠的 条评论
为什么被折叠?



