Efficient Dynamic Storage Allocation Algorithm for Linux Real-time System

리눅스 실시간 시스템에서의 효율적인 동적 스토리지 할당 알고리즘

  • Lee, Young-Jae (School of Electrical & Computer Engineering, Sungkyunkwan University) ;
  • Choo, Hyun-Seung (School of Electrical & Computer Engineering, Sungkyunkwan University) ;
  • Youn, Hee-Yong (School of Electrical & Computer Engineering, Sungkyunkwan University)
  • 이영재 (성균관대학교 전기전자 및 컴퓨터공학부) ;
  • 추현승 (성균관대학교 전기전자 및 컴퓨터공학부) ;
  • 윤희용 (성균관대학교 전기전자 및 컴퓨터공학부)
  • Published : 2002.04.12

Abstract

동적 메모리 할당 방식은 사전에 그 메모리의 크기를 결정할 수 없는 경우에 효과적인 프로그래밍 기술이다. 하지만 메모리 조각화 문제와 최악의 경우 실행 시간을 예측할 수 없는 단점 때문에 실시간 시스템에는 거의 적용되지 않고 있다. 본 연구에서는 리눅스 기반의 실시간 시스템을 위한 동적 메모리 할당 알고리즘인 QB(Ouick-Buddy)를 제안한다 제안된 알고리즘은 작은 크기의 메모리 요구에 대해서 워드 크기별로 프리 리스트를 관리하고, 큰 크기의 메모리 요구에 대해서는 이진 버디 시스템을 이용하여 관리한다. 이 알고리즘에서는 작은 크기의 메모리 요구에 대해 완전-적합(exist-fit) 전략을 사용하여 메모리 이용 효율을 증가시킨다. 또한 큰 크기의 메모리 요구에 대해서 버디 시스템을 적용함으로써 외부 조각화를 제거시키고 처리량(throughput)을 증가시킨다. 제안된 알고리즘의 성능을 확인하기 위해서 제안된 알고리즘과 이진 버디 시스템(binary buddy system), 빠른-적합(quick-fit)의 메모리 이용 효율성 및 메모리 조각화 율을 비교할 것이다.

Keywords