[OS] 3-4. 고정 분할 기억장치 할당

공부 스파이럴·2024년 3월 14일
0

운영체제

목록 보기
19/27

고정 분할 기억장치 할당

  • 고정 분할 기억장치 할당(fixed partition memory allocation)
    • 주기억장치를 일정 수의 고정된 크기들로 분할하여 실행 중인 여러 프로세스에게 할당하는 방법
  • 분할(partition)
    • 단일 작업이 적재될 수 있는 일정한 크기의 기억장치 영역
  • 다중 프로그래밍의 정도(degree)는 분할의 수에 의해 결정됨
    • 주기억장치의 사용자 공간을 미리 여러 개의 영역으로 분할
    • 각 분할 영역(partition)에는 항상 하나의 프로그램만 적재 가능
    • 하나의 프로그램이 두 개 이상의 분할 영역 사용 불가
      • 각 프로세스들로 하여금 주기억장치를 연속할당 받도록 함
    • 분할영역의 수가 k 일 경우
      • 이 시스템의 다중프로그래밍 정도(degree) : 최대 k

고정분할 다중프로그래밍 시스템의 주기억장치 분할 예

  • 고정분할 다중프로그래밍 시스템은 분할 형태가 바뀌지 않는다는 점으로 인해 OS에서의 주기억장치 관리가 쉬워짐
  • 고정된 크기의 자료구조 사용
    • 적재할 프로그램 배치 시에 커널의 주기억장치 관리 모듈이 참조함

FPM 기법의 문제점들과 해결 방안

  1. 사용자 프로그램의 크기가 최대 분할 영역의 크기보다 큰 경우
    • 분할 영역 별로 중첩 구조를 사용하여 해결 가능
  2. 커널과 다른 프로세스들에게 할당된 분할 영역들에 대한 보호 필요
    • 여러 개의 경계 레지스터를 사용하여 해결 가능
  3. 각 분할 영역마다 낭비되는 공간 발생
    • 단편화(fragmentation)
      • 공간이 낭비되는 현상
    1. 내부 단편화 (internal fragmentation)
      • 분할 영역 내에서 발생하는 공간의 낭비 현상
    2. 외부 단편화 (external fragmentation)
      • 공간 용량의 문제로 한 분할 영역 전체가 낭비되는 현상

고정 분할 다중프로그래밍 기법 요약

  • 주기억장치 공간을 미리 분할
  • OS 입장에서 주기억장치 관리 용이
  • 오버헤드 작음
  • 시스템 자원의 낭비 초래 가능
    • 분할영역의 개수가 고정되므로 작은 규모의 프로세스들만 실행되는 경우 비효율적임
  • 각 분할 영역마다 내부 단편화 현상 발생 가능

시스템 보호

  • 한 분할에 있는 명령어 코드와 데이터를 다른 분할에 있는 프로그램으로부터 보호되어야 함
  • 여러 개의 경계 레지스터를 이용하여 보호 가능

분할 공간의 크기와 단편화

  • 고정 분할 기억장치 할당 기법의 운영 시 고려해야 할 문제 중의 하나는 분할의 크기를 결정하는 것
  • 기억장치의 단편화(fragmentation) 현상이 발생

0개의 댓글