DevGang
[OS-11] 주기억장치 할당 기법 본문
1. 단일 분할 할당 기법
- 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한 순간에는 오직 한 명의 사용자만이 주기억장치의 사용자 영역을 사용하는 기법
- 가장 단순한 기법으로 초기에 많이 사용하던 기법
- 주기억장치보다 큰 사용자 프로그램을 실행하기 위해 오버레이 기법과 스와핑 기법을 사용
- 오버레이(Overlay) 기법
- 작업의 모든 부분들이 동시에 주기억 장소에 상주해 있을 필요가 없을 때 작업을 분할하여 필요한 부분만 교체
- 스와핑(Swapping) 기법
- 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체
2. 다중 분할 할당 기법
- 고정 분할 할당 기법
- 프로그램을 할당하기 전에 운영체제가 주기억장치의 사용자 영역을 여러 개의 고정된 크기로 분할하고 준비상태 큐에서 준비 중인 프로그램을 각 영역에 할당하여 수행하는 기법
- 프로그램을 실행하려면 프로그램 전체가 주기억장치에 위치해야 함
- 프로그램이 분할된 영역보다 커서 영역 안에 들어갈 수 없는 경우가 발생할 수 있음
- 내부 단편화 및 외부 단편화가 발생할 수 있음
- 실행할 프로그램의 크기를 미리 알고 있어야 함
- 가변 분할 할당 기법
- 고정 분할 할당 기법의 단편화를 줄이기 위한 것으로 미리 주기억장치를 분할해 놓는 것이 아니라 프로그램을 주기억장치에 적재하면서 필요한 만큼의 크기로 영역을 분할하는 기법
- 주기억장치를 효율적으로 사용할 수 있으며 다중 프로그래밍의 정도를 높일 수 있음
- 고정 분할 할당 기법에 비해 실행될 프로세스 크기의 제약이 적음
- 단편화를 많이 해결할 수 있으나 완전히 해결하지는 못함
3. 주기억장치 관리 기법의 문제점과 해결방법
- 단편화(Fragmentation)
- 분할된 주기억장치에 프로그램을 할당하고 반납하는 과정을 반복하면서 사용되지 않고 남는 기억장치의 빈 공간 조각을 의미하며 내부 단편화와 외부 단편화가 있음
- 내부 단편화(Internal Fragmentation) : 분할된 역역이 할당될 프로그램의 크기보다 크기 때문에 프로그램이 할당된 후 사용되지 않고 남아 있는 빈 공간
- 외부 단편화(External Fragmentation) : 분할된 영역이 할당될 프로그램의 크기보다 작기 때문에 프로그램이 할당될 수 없어 사용되지 않고 빈 공간으로 남아 있는 분할된 전체 영역
- 단편화 해결 방법
- 주기억장치를 재사용할 수 있도록 단편화된 공간을 모아서 하나의 사용할 수 있는 공간으로 만드는 기법으로 통합 기법과 압축 기법이 있음
- 통합(Coalescing) 기법 : 주기억장치 내에 인접해 있는 단편화된 공간을 하나의 공간으로 통합하는 작업
- 압축(Compaction) 기법 : 주기억장치 내에 서로 떨어져 있는 여러 개의 낭비 공간을 모아서 하나의 큰 기억 공간을 만드는 작업으로 쓰레기 수집(Garbage Collection)이라고도 함
'정보처리 > OS' 카테고리의 다른 글
[OS-13] 디스크 스케줄링 (0) | 2021.02.07 |
---|---|
[OS-12] 가상 기억장치 관리 전략 (0) | 2021.02.07 |
[OS-10] 주기억장치 관리 전략 (0) | 2021.02.07 |
[OS-09] 프로세스 스케줄링 (0) | 2021.02.07 |
[OS-08] 교착상태 (0) | 2021.02.07 |
Comments