DevGang

[OS-11] 주기억장치 할당 기법 본문

정보처리/OS

[OS-11] 주기억장치 할당 기법

별천랑 2021. 2. 7. 17:25

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