当前位置: 技术问答>linux和unix
buddy系统 初级问题,大家指教
来源: 互联网 发布时间:2016-08-28
本文导语: buddy 算法分为2^0 * 4k ~ 2^10 * 4k 11种页框链表,每个块的第一个页框的物理地址是该大小的整数倍。 以上是我从一个地方看到的,关于这个物理地址还有疑问,既然是大小的整数倍,如2^0*4k的地址是多少,而且2^...
buddy 算法分为2^0 * 4k ~ 2^10 * 4k 11种页框链表,每个块的第一个页框的物理地址是该大小的整数倍。
以上是我从一个地方看到的,关于这个物理地址还有疑问,既然是大小的整数倍,如2^0*4k的地址是多少,而且2^0*4k的整数倍和2^1*4k的整数倍之间的内存还能用吗,要是用了不就把页框给我给覆盖了吗?要是不能用那么2^10*4k的整数倍那也太大了,内存里都是这个页框了,不用干别的了?
这个是他说错了,还是我理解错了,哪位高人来谈谈,谢谢了
以上是我从一个地方看到的,关于这个物理地址还有疑问,既然是大小的整数倍,如2^0*4k的地址是多少,而且2^0*4k的整数倍和2^1*4k的整数倍之间的内存还能用吗,要是用了不就把页框给我给覆盖了吗?要是不能用那么2^10*4k的整数倍那也太大了,内存里都是这个页框了,不用干别的了?
这个是他说错了,还是我理解错了,哪位高人来谈谈,谢谢了
|
buddy
这是为了尽量让申请的N个page是连续的
效率更高 管理起来也方便
不同2的次方分在不同的list中,就是说一个list中挂的都是相同大小的page组
2^0*4k(4k)的地址是 n*4K 这是算法决定的
2^0*4k的整数倍和2^1*4k的整数倍之间的内存还能用吗 可以用2^1*4k不就是8k么
那么前面2个4k分给2^0*4k,这样后面就可以分给2^0*4k,而它的起始地址为8k,就是说2^m与2^n之间(m>n)可以分配给2^x(x
这是为了尽量让申请的N个page是连续的
效率更高 管理起来也方便
不同2的次方分在不同的list中,就是说一个list中挂的都是相同大小的page组
2^0*4k(4k)的地址是 n*4K 这是算法决定的
2^0*4k的整数倍和2^1*4k的整数倍之间的内存还能用吗 可以用2^1*4k不就是8k么
那么前面2个4k分给2^0*4k,这样后面就可以分给2^0*4k,而它的起始地址为8k,就是说2^m与2^n之间(m>n)可以分配给2^x(x
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。