[운영체제] 버디 시스템(Buddy System)

2017. 3. 5. 20:089급 공무원/컴퓨터 일반

> 큰 버퍼들을 반복적으로 반으로 나우어 작은 버퍼들을 만들며, 가능할 때마다 인접한 자유로운 버퍼들을 합치는 과정을 반복

  버디 : 버퍼가 나누어 질 때 각각의 공간을 가리킴

> 단편화를 해결하기 위한 방법


ex)  버디 시스템을 사용하는 1MB 메모리에 150KB프로그램 코드 할당

1 MB = 1024 KB 

 전체 메모리 세그먼트

 512 KB

 512 KB 

  1번 분할된 버디

 256 KB

 256 KB 

  256 KB

 256 KB 

  2번 분할된 버디

 128 KB

 128 KB 

 128 KB 

  128 KB

  128 KB

 128 KB 

  128 KB

 128 KB 

  3번 분할된 버디

  ※ 2 번의 분할 후 150KB 프로그램 코드 할당 (1024 > 512 > 256) (128 공간에는 150을 할당할 수 없음. )

     > 128KB 프로그램이 오면 다음 공간을 분할(3번 분할된 버디)하여 코드 할당

     > 80 KB 프로그램이 오면 한번 더 분할(4번 분할)하여 코드 할당( 64 < 80 <= 128 )