[운영체제] 기억장치 할당 방법(가변분할, 고정분할, 오베레이)

[운영체제] 기억장치 할당 방법(가변분할, 고정분할, 오베레이)

주 기억장치 할당 방법

연속할당 기법 : 단일 부할 할당, 다중 분할 할당

  • 단일 분할 할당 : 주기억장치를 운영체제 영역과 사용자 영역으로 나누어, 한 순간에 한 명의 사용자만이 사용자 영역을 사용 
    • 가장 단순, 초기 운영체제에 사용
  • 오버레이(Overlay) : 하나의 프로그램을 여러 개의 조각으로 분할 한 후 필요한 조각을 차례로 적재
    • 주기억장치보다 크기가 큰 프로그램을 실행하기 위한 기법
  • 스와핑(Swapping) : 하나의 프로그램 전체를 주기억장치에 할당하여 사용하다 필요에 따라 다른 프로그램과 교체
    • swap in : 보조 -> 주 (주기억장치로 들어오는 것)
    • swap out : 주 -> 보조 (쫓겨나는 것)


  • 다중 분할 할당 : 고정 분할 할당(MFT), 가변 분할 할당(MVT)
  • 고정 분할 할당(정적 할당) : 프로그램 할당 전 운영체제가 주기억장치의 사용자영역을 고정된 크기로 분할하고 각 영역에 준비된 프로그램을 할당하여 수행
    • 초기의 다중프로그래밍을 위해 사용
  • 가변 분할 할당(동적 할당) : 프로그램을 적재하면서 필요한 만큼의 크기로 영역을 분할
    • 주기억장치 효율 증가, 다중프로그래밍 정도 증가



분산 할당 기법 : 프로그램을 특정 단위의 조각으로 나누어 주기억장치 내에 분산하여 할당

  • 페이징 
    • 프로그램을 동일한 크기로 나누어(페이지라고 함) 이것을 블록으로 사용
  • 세그먼테이션 
    • 프로그램을 가변적인 크기로 나누어(세그먼트라 함) 이것을 블록으로 사용

// 동일 크기로 분할하면 페이징, 가변 크기로 분할하면 세그먼테이션!




출처

댓글

이 블로그의 인기 게시물

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?

[Python] # -*- coding: utf-8 -*-를 쓰는 이유