Linux内核伙伴系统分析
作者:

Buddy System Analysis in Linux Kernel
Author:
  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [8]
  • |
  • 相似文献 [20]
  • |
  • 引证文献
  • | |
  • 文章评论
    摘要:

    本文针对Linux内核实现的伙伴系统进行了抽象分析,并通过实例演示了算法的执行过程. 分析了用于物理地址空间管理的三级数据结构及其关系. 在此基础上,详细描述了用于分配和回收页框的伙伴算法. 对于待回收的内存块而言,计算其伙伴的索引及合并内存块的索引是回收操作的关键,讨论了相关计算方法的几条结论并予以证明.

    Abstract:

    The buddy system implemented in the Linux kernel is studied, and the process of buddy algorithm is demonstrated with examples. There are three levels of data structure dedicated to manage page frames in physical address space. Firstly, these data structures and their relationships are presented. Then, the buddy algorithm used to allocate and deallocate page frames is described in detail. As far as a memory block to be deallocated is concerned, how to calculate the index of its buddy and coalesced memory block is the key point of deallocating operation. Several conclusions pertaining to this calculation are dealt with and proved.

    参考文献
    [1] Knowlton KC. A fast storage allocator. Communications of the ACM, 1965, 8(10): 623-625. [DOI:10.1145/365628.365655]
    [2] 唐纳德·E. 克努特. 计算机程序设计艺术-第1卷: 基本算法. 苏运霖, 译. 3版. 北京: 国防工业出版社, 2002: 415-417.
    [3] Hirschberg DS. A class of dynamic memory allocation algorithms. Communications of the ACM, 1973, 16(10): 615-618. [DOI:10.1145/362375.362392]
    [4] Shen KK, Peterson JL. A weighted buddy method for dynamic storage allocation. Communications of the ACM, 1974, 17(10): 558-562. [DOI:10.1145/355620.361164]
    [5] Peterson JL, Norman TA. Buddy systems. Communications of the ACM, 1977, 20(6): 421-431. [DOI:10.1145/359605.359626]
    [6] Stallings W. 操作系统——精髓与设计原理. 陈向群, 陈渝, 译. 7版. 北京: 电子工业出版社, 2012: 225-226.
    [7] Bovet DP, Cesati M. Understanding the linux kernel. 3rd ed. O'Reilly Media, 2005: 311-316.
    [8] Gorman M. Understanding the linux virtual memory manager. Upper Saddle River, New Jersey, USA: Prentice Hall, 2004: 105-110.
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

薛峰. Linux内核伙伴系统分析.计算机系统应用,2018,27(1):174-179

复制
分享
文章指标
  • 点击次数:1800
  • 下载次数: 2568
  • HTML阅读次数: 1853
  • 引用次数: 0
历史
  • 收稿日期:2017-04-16
  • 最后修改日期:2017-05-02
  • 在线发布日期: 2017-12-22
文章二维码
您是第11275369位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京海淀区中关村南四街4号 中科院软件园区 7号楼305房间,邮政编码:100190
电话:010-62661041 传真: Email:csa (a) iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号