빈 공간 관리
: 관리하는 공간이 가변 크기의 빈 공간들의 집합으로 구성되어 있는 경우 외부단편화 문제 발생
: 이를 방지하기 위한 메모리 관리 기법
저수준 기법
- 분할
- 병합
할당된 공간 파악
공간 할당
- 포인터와 크기 정보 받음.
공간 해제
- 포인터 정보만 받음.
- 빈 공간 리스트의 헤드 쪽에 삽입
헤더 - size, magic
기본 전략
최적 적합(Best Fit)
가장 작은 크기의 청크를 찾아서 반환
- 외부 단편화 문제 발생
- 항상 전체를 검색해야하기 때문에 성능 저하
최악 적합(Worst Fit)
가장 큰 크기의 청크를 찾아서 반환
- 외부 단편화 문제 방지
- 항상 전체를 검색해야하기 때문에 성능 저하
최초 적합(First Fit)
요청보다 큰 첫 번째 청크를 찾아서 반환
- 속도가 빠르다.
- 리스트의 시작에 크기가 작은 객체가 많이 생길 수 있다.
- 주소-기반 정렬 사용 → 병합을 쉽게하고 단편화를 감소시킨다.
다음 적합(Next Fit)
이전에 할당했던 청크 다음 주소를 반환
버디 할당
- 2의 거듭제곱 크기 만큼의 블럭 할당
- 내부 단편화 문제 발생
- 메모리가 일정한 크기의 블록으로 쪼개어질 때 발생
- 메모리 조각의 크기가 프로세스의 크기보다 클 때 발생
- 사용자 영역이 실행 프로그램보다 커서 프로그램의 사용 공간을 할당 후 사용되지 않고 남게 되는 현상
- 프로세스는 실제로 사용하지 않는 메모리 영역을 가지고 있게 됨
※ 국민대학교 소프트웨어학부 황선태 교수님의 운영체제 교과목을 공부하며 정리한 내용입니다.
728x90
반응형
'OS' 카테고리의 다른 글
[OS] Beyond Physical Memory (0) | 2024.03.30 |
---|---|
[OS] Paging (0) | 2024.03.30 |
[OS] Segmentation (1) | 2024.03.29 |
[OS] Address Space & Address Translation (2) | 2024.03.29 |
[OS] Scheduling (5) | 2024.03.28 |