주기억장치 사용 방식

몽이·2022년 7월 1일
0

운영체제

목록 보기
8/9

주기억장치 사용 방식

1) 주기억장치 할당

(1) 주기억장치 할당의 개념

  • 프로그램이나 데이터를 실행하기 위해 주기억장치에 어떻게 할당할 것인지에 대한 내용이다.
  • 연속 할당 기법과 분산 할당 기법으로 분류할 수 있다.

(2) 연속 할당 기법

  • 데이터를 주기억장치에 연속으로 할당하는 기법이다.
  • 단일 분할 할당 기법과 다중 분할 할당 기법이 있다.

(3) 분산 할당 기법

  • 가상 기억장치의 데이터를 특정 단위로 나누어 주기억장치 내에 분산하여 할당하는 기법이다.
  • 페이징 기법과 세그멘테이션 기법이 있다.

2) 단일 분할 할당 기법

(1) 단일 분할 할당의 개념

  • 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한 명의 사용자만 사용자 영역을 사용하도록 하는 기법이다.
  • 가장 단순한 기법으로 초기의 운영체제에서 많이 사용하던 기법이며 영역을 구분하는 경계 레지스터가 사용된다.
  • 프로그램의 크기가 작을 경우 사용자 영역이 낭비되며, 클 경우엔 실행이 불가능하다.

(2) 오버레이 기법

  • 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법이다.
  • 프로그램을 여러 개의 조각으로 나눈 후 필요한 조각을 차례로 주기억장치에 적재하여 프로그램을 실행한다.
  • 주기억장치의 공간이 부족해지면 적재된 조각 중 불필요한 조각을 중첩하여 적재한다.
  • 여러 조각으로 나누는 작업은 프로그래머가 직접 수행해야 한다.

(3) 스와핑 기법

  • 프로그램 전체를 할당하여 사용하다가 필요에 따라 다른 프로그램으로 교체하는 기법이다.
  • 사용자 프로그램이 완료될 때까지 교체 과정을 여러 번 수행할 수 있다.
    • Swap In : 보조기억장치에 있는 프로그램이 주기억장치로 이동되는 것
    • Swap Out : 주기억장치에 있는 프로그램이 보조기억장치로 이동되는 것

3) 다중 분할 할당 기법

(1) 단편화(Fragmentation) : 주기억장치에서 빈번하게 공간이 할당되고 반납됨에 따라 기억 공간들이 조각조각 나누어져 사용하지 못하는 공간이 되는 것을 말한다.

  • 내부 단편화 : 데이터 및 프로그램을 할당하고 남은 공간
  • 외부 단편화 : 데이터 및 프로그램의 크기가 커서 할당되지 못하는 공간

(2) 단편화 해결 방안 : 단편화를 해결하기 위해선 조각나있는 공간을 합쳐야 한다.

  • 통합(Coalescing) : 서로 인접해 있는 공간을 하나로 합치는 과정
  • 압축(Compaction) : 서로 떨어져 있는 공간까지 하나로 합치는 과정

(3) 고정 분할 할당 기법(MFT, Static Allocation)

  • 주기억장치의 사용자 영역을 여러 개이 고정된 크기로 분할하여 데이터를 할당하는 기법이다.
  • 실행할 프로그램의 크기를 미리 알고 있어야 하고 프로그램 전체가 주기억장치에 위치해야 한다.
  • 단편화 발생으로 인해 주기억장치의 공간 낭비가 크다.

(4) 가변 분할 할당 기법(MVT, Dynamic Allocation)

  • 단편화를 줄이기 위해서, 프로그램을 주기억장치에 적재하면서 필요한 만큼만 영역을 분할하는 기법이다.
  • 주기억장치를 효율적으로 사용할 수 있으며, 다중 프로그래밍의 정도를 높일 수 있다.
profile
풀스택 개발자가 되는 날까지 달리자!

0개의 댓글