본문 바로가기
LINUX

[Linux] Buddy system

by Rainbound-IT 2023. 2. 1.
반응형

목차

    https://www.geeksforgeeks.org/buddy-system-memory-allocation-technique/

     

     

    정의

    버디 시스템"은 물리적 메모리를 효율적으로 관리하기 위해 Linux 커널에서 사용되는 메모리 관리 알고리즘을 나타냅니다. 버디 시스템은 물리적 메모리를 다양한 크기의 블록으로 나누고 어떤 블록이 비어 있는지, 부분적으로 사용되었는지, 완전히 사용되었는지 추적하여 작동합니다. 그런 다음 시스템은 이 정보를 사용하여 요청을 충족할 수 있는 가장 작은 여유 블록을 찾고 필요한 경우 더 작은 블록으로 분할하여 프로세스에 메모리를 효율적으로 할당합니다. 버디 시스템은 물리적 메모리의 조각화를 방지하고 메모리가 효율적으로 사용되도록 합니다.

     

     

    장점

    • 버디 시스템 구현 용이
    • 정확한 크기의 블록 할당
    • 인접한 구멍을 병합하기 쉽습니다.
    • 빠른 메모리 할당 및 메모리 할당 해제

    단점

    • 모든 할당 단위가 2의 거듭제곱이어야 합니다.
    • 내부 분열로 이어져

     

    예시

    총 메모리 크기를 512KB로 하고 프로세스 P1에 스왑 인하려면 70KB가 필요합니다. 홀 목록은 2의 거듭제곱만을 위한 것이므로 128KB이면 충분합니다. 처음에는 128KB도 없고 256KB 블록도 없습니다. 따라서 512KB 블록은 각각 256KB인 두 개의 버디로 분할되고, 하나는 두 개의 128KB 블록으로 더 분할되고 그 중 하나는 프로세스에 할당됩니다. 다음 P2에는 35KB가 필요합니다. 35KB를 2의 거듭제곱으로 반올림하면 64KB 블록이 필요합니다.

     

     

    반응형

    'LINUX' 카테고리의 다른 글

    TCPDUMP 명령어  (0) 2023.02.09
    vmstat 사용법  (0) 2023.02.02
    smem 에서 나오는 uss, pss, rss 의미  (0) 2022.12.29
    [ubuntu] docker permission 에러  (0) 2022.11.16
    [UBUNTU]nginx 설치(tar, 소스코드, make) 및 실행  (0) 2022.11.09

    댓글