【问题标题】:Linux kernel knowledge about physical memoryLinux内核关于物理内存的知识
【发布时间】:2014-03-05 21:58:12
【问题描述】:

我知道对于每个进程,虚拟地址都映射到物理页。给定虚拟页号的相应物理页号将在页表条目中可用。

但我很想知道这个映射是如何由内核完成的。在将该页面分配给虚拟页号之前,内核如何知道哪个物理页面是空闲的。它是否跟踪物理内存中所有可用的空页?

【问题讨论】:

    标签: linux-kernel operating-system


    【解决方案1】:

    是的,内核保留了一个描述所有可用物理页面当前状态的数据结构 - 一组struct page 条目,每个物理页面一个。

    【讨论】:

    • 因此它会跟踪每个页面是免费的还是使用的。我对吗??如果我是对的,内核如何找出该数组中可用的空闲页面。?它会遍历每个索引并检查它是空闲的还是已经映射的?还是它维护一个单独的数据结构,只保存未分配的页面?
    • @user1762571:对空闲页面的引用保存在数据结构中 - 每次需要空闲页面时进行线性搜索将非常低效。 Buddy Allocator 用于物理页面分配。
    猜你喜欢
    • 2011-12-15
    • 2012-10-03
    • 2011-05-30
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 2012-11-19
    相关资源
    最近更新 更多