1 |
1
버디 할당자가, 공간할당 요청자로부터 블록 할당 요청을 수신하는 단계;상기 버디 할당자가, 상기 블록 할당 요청에 응답하여 복수의 버디들 중의 어느 하나인 제1버디를 선택하는 단계;상기 버디 할당자가, 상기 제1버디의 블록에서 상기 블록 할당 요청에 따른 저장 공간을 할당할 제1여유 공간이 있는지 확인하고, 상기 제1여유 공간이 있으면 상기 제1버디의 블록에 상기 블록 할당 요청에 상응하는 저장 공간을 할당하는 단계; 및상기 버디 할당자가, 할당된 저장 공간의 크기가 상기 블록 할당 요청의 크기보다 더 큰 경우, 상기 할당된 저장 공간 중에서 상기 블록 할당 요청에 해당하지 않는 잉여 저장 공간의 할당을 해제하는 단계를 포함하는 버디 할당자를 이용한 저장 공간 할당 방법
|
2 |
2
제1항에 있어서, 상기 선택하는 단계는,상기 버디 할당자가, 상기 복수의 버디들 각각의 블록의 크기와 상기 블록 할당 요청의 크기의 차이 값을 계산하고, 상기 복수의 버디들 각각의 블록의 크기가 상기 블록 할당 요청의 크기보다 큰 상기 복수의 버디들 중에서, 상기 차이 값이 최소인 버디를 상기 제1버디로 선택하는 버디 할당자를 이용한 저장 공간 할당 방법
|
3 |
3
제1항에 있어서, 상기 할당하는 단계는,상기 버디 할당자가, 상기 제1여유 공간이 없으면, 제2버디의 블록에서 상기 블록 할당 요청에 따른 상기 저장 공간을 할당할 제2여유 공간이 있는지 여부를 확인하고,상기 제2여유 공간에 있으면 상기 제2버디의 블록에서 상기 제2여유 공간을 상기 제1버디의 블록으로 전달하여, 상기 제1버디의 블록에 상기 블록 할당 요청에 상응하는 상기 저장 공간을 할당하는 버디 할당자를 이용한 저장 공간 할당 방법
|
4 |
4
제3항에 있어서, 상기 할당하는 단계는,상기 버디 할당자가, 상기 제2여유 공간이 없으면, 제3버디의 블록에서 상기 블록 할당 요청에 따른 상기 저장 공간을 할당할 제3여유 공간이 있는지 여부를 확인하고, 상기 제3여유 공간이 있으면, 상기 제3버디의 블록에서 상기 제3여유 공간을 상기 제2버디의 블록으로 전달하고, 상기 제2버디의 블록에서 상기 제1여유 공간에 해당되는 저장 공간을 상기 제1버디의 블록으로 전달하여 상기 블록 할당 요청에 상응하는 상기 저장 공간을 할당하는 버디 할당자를 이용한 저장 공간 할당 방법
|
5 |
5
제3항에 있어서, 상기 제1버디의 블록과 상기 제2버디의 블록은 A X B = C X D를 만족하고,여기서 A는 상기 제1버디의 블록의 크기를 의미하고, B는 상기 제1버디의 블록의 개수를 의미하고, C는 상기 제2버디의 블록의 크기를 의미하고, D는 상기 제2버디의 블록의 개수를 의미하는 버디 할당자를 이용한 저장 공간 할당 방법
|
6 |
6
제4항에 있어서,상기 제2버디의 블록의 크기는 상기 제1버디의 블록의 크기의 2배이고, 상기 제3버디의 블록의 크기는 상기 제2버디의 블록의 크기의 2배인 버디 할당자를 이용한 저장 공간 할당 방법
|
7 |
7
제1항에 있어서, 상기 저장 공간이 할당되는 상기 복수의 버디들의 블록의 개수는 2n개이고, n은 자연수인 버디 할당자를 이용한 저장 공간 할당 방법
|
8 |
8
제1항에 있어서,상기 버디 할당자가, 초기화 명령을 수신하면 상기 복수의 버디들의 블록에 할당된 모든 저장 공간의 할당을 해제하고, 가장 큰 크기의 블록을 포함한 버디의 블록을 할당 가능 상태로 설정하는 단계를 더 포함하는 버디 할당자를 이용한 저장 공간 할당 방법
|
9 |
9
제1항에 있어서, 상기 버디 할당자가, 모든 복수의 버디들의 블록에 상기 블록 할당 요청에 상응하는 상기 저장 공간이 없으면, 상기 공간할당 요청자로 할당 실패를 전송하는 단계를 더 포함하는 버디 할당자를 이용한 저장 공간 할당 방법
|