본문 바로가기

운영체제

메모리 관리와 페이징, 세그멘테이션

  • 연속 메모리 관리: 프로그램 전체가 메모리에 연속적으로 할당
    • 고정 분할: 주기억장치가 고정된 파티션으로 분할(내부 단편화 발생)
    • 동적 분할: 파티션들이 동적 생성되며 자신의 크기와 같은 파티션에 할당(외부 단편화 발생)
    • -> 단편화 발생
  • 불연속 메모리 관리
    • 용어
      • 페이지: 프로세스를 고정적 크기로 나눈 단위
      • 세그먼트: 프로세스를 가변적 크기로 나눈 논리적 단위
      • 프레임: 실제 메모리를 고정적 크기로 나눈 단위
    • 페이징:  프로세스를 동일한 크기의 페이지로 분리, 메모리는 해당 페이지와 동일한 크기의 프레임으로 분리해서 메인 메모리에 불연속적으로 적재
      • 외부 단편화X
      • 내부 단편화O -> 프로세스 크기가 페이지 크기의 배수가 아닐 결우
    • 세그멘테이션: 프로세스를 가변적인 크기의 세그먼트로 분리하고 메모리에 적재
      • 외부 단편화O
      • 내부 단편화X 
  • 단편화 (Fragmentation)
    • 내부 단편화: 파티션의 크기가 프로세스보다 크면 파티션의 남는 메모리가 낭비되는 상황
    • 외부 단편화: 남아있는 메모리의 크기가 실행할 프로세스보다 크지만 연속적이지 않아 실행 불가능한 상황
  • 가상 메모리 (Virtual Mememory)
    • 물리적 메모리보다 큰 메모리 공간을 프로세스에 제공하는 기술
    • 메인 메모리와 보조 메모리 묶어 하나의 메모리처럼 사용
    • 가상의 주소를 사용해 논리적인 연속성 제공
    • 메모리 관리로 인한 오버헤드 발생

 

'운영체제' 카테고리의 다른 글

메모리  (0) 2024.03.27
페이지 교체 알고리즘  (0) 2024.03.27
Race Condition (경쟁 상태)  (0) 2024.03.21
데드락(Deadlock, 교착 상태)  (0) 2024.03.21
CPU 스케줄링(CPU Scheduling)  (0) 2024.03.20