OS使用什么数据结构来了解剩余多少可用内存?

时间:2017-07-09 14:11:50

标签: memory-management operating-system

  

我们的操作系统如何维护内存,即哪些内存块是空闲的,哪些不是?例如,

int a;
  

OS如何确定将哪个内存分配给'a'变量?

1 个答案:

答案 0 :(得分:0)

我必须指出这是特定于操作系统的。但通常,所有现代操作系统都使用称为分页的技术来实现虚拟内存。进程具有线性虚拟地址空间,其中只有页面(固定大小)被映射到真实物理内存(也就是工作集)。因此,从技术上讲,操作系统会根据可用的可用页面帧(在RAM中)跟踪可用于映射不同活动进程的虚拟地址空间的内存可用空间。保留所有空闲页面列表的一种方法是使用链接列表,您可以从中分配新的页面框架或插入已释放的页面。
编辑:链接列表的相同技术可用于管理虚拟地址空间中的动态内存(malloc的{​​{1}}}。