본문 바로가기

Computer Science/Operating System

페이징과 세그먼테이션

다중프로그램 시스템에 여러 프로세스를 수용하기 위해 주기억 장치를 동적 분할하는 메모리 관리 작업이 필요해서 사용한다.

연속 메모리 기법

주소 공간을 메모리의 한 곳에 연속적으로 적재하는 방식. 물리적 메모리를 다수의 분할로 나누어 하나의 분할에 하나의 프로세스가 적재된다.

고정분할 방식

  • 물리적 메모리를 정해진 개수만큼 영구적인 분할로 나누고 각 분할에 하나의 프로세스를 적재하는 방식
  • 외부단편화, 내부단편화가 발생할 수 있다.

가변분할 방식

  • 메모리에 적재되는 프로그램의 크기에 따라 분할의 크기, 개수가 동적으로 변하는 방식
  • 외부단편화가 발생할 수 있다.

  • 어느 메모리 공간에 어느 프로세스를 올릴지 결정해야한다.
    • 최초적합 : 가장 먼저 나오는 메모리 공간에 프로세스 적재
    • 최적적합 : 가장 딱 맞는 메모리 공간에 프로세스 적재
    • 최악적합 : 가장 큰 메모리 공간에 프로세스 적재

불연속 메모리 기법

하나의 프로세스가 물리적 메모리의 여러 위치에 분산되어 올라갈 수 있는 메모리 할당 기법

  • 페이지 : 고정 사이즈의 작은 프로세스 조각
  • 프레임 : 페이지 크기와 같은 주기억장치 메모리 조각
  • 세그먼트 : 서로 다른 크기를 가진 논리적 블록이 연속적 공간에 배치되는 것
  • 단편화 : 기억장치의 빈 공간 or 자료가 여러 조각으로 나뉘는 현상

단순 페이징

  • 각 프로세스는 프레임과 같은 길이를 가진 균등 페이지로 나뉨
  • 페이지 테이블에는 각 테이블 번호와 해당 페이지가 할당된 프레임의 시작 물리주소를 저장

가상 메모리 페이징

  • 단순 페이징과 다르게, 프로세스 페이지를 모두 적재시킬 필요 없음.
  • 복잡한 메모리 관리로 오버헤드 존재

단순 세그먼테이션

  • 프로세스와 물리 메모리를 세그먼트로 분할
  • 세그먼트 테이블에는 각 세그먼트의 기준(시작 물리주소)과 한계(세그먼트의 최대 길이)를 저장

가상 메모리 세그먼테이션

  • 필요하지 않은 세그먼트들은 로드되지 않음
  • 복잡한 메모리 관리로 오버헤드 존재

<참조>

'Computer Science > Operating System' 카테고리의 다른 글

IPC(Inter Process Communication)  (0) 2023.08.26
PCB와 Context Switching  (0) 2023.08.18
페이지 교체 알고리즘  (0) 2023.08.06
인터럽트 (Interrupt)  (0) 2023.07.23
프로세스 & 스레드  (0) 2023.07.23