2025-09-06 22:33

Tags: 소프트웨어 공학

스와핑

  • 운영체제 스와핑은 물리적 메모리(RAM)가 부족할 때 일부 프로세스를 보조 기억장치(디스크)로 옮겨 공간을 확보하는 메모리 관리 기법

  • 이 과정은 ‘스왑 아웃(Swap Out)‘과 ‘스왑 인(Swap In)‘으로 나뉘며, 시스템이 실제 가진 RAM보다 더 큰 프로그램을 실행할 수 있게 해주는 가상 메모리 시스템의 기반이 된다.

  • 현대 운영체제에서는 프로세스 전체를 옮기는 대신, 페이지 단위로 메모리를 옮기는 ‘페이징’이 스와핑의 역할을 대체하며 더 효율적으로 메모리를 관리

  • RAM:

    • 속도가 매우 빠르지만, 가격이 비싸고 용량이 적으며 전원이 꺼지면 데이터가 사라지는 휘발성 메모리입니다.
    • CPU는 오직 RAM에 올라와 있는 데이터와 코드만 직접 실행할 수 있습니다.
  • HDD/SSD:

    • 속도는 RAM보다 훨씬 느리지만, 가격이 저렴하고 용량이 크며 전원이 꺼져도 데이터가 보존되는 비휘발성 메모리입니다.
  • 스왑 아웃 (Swap Out):

    • 메모리에 있는 특정 프로세스 전체를 디스크의 특별한 공간,스왑 공간(Swap Space 또는 페이지 파일) 으로 내보내는 과정
    • 이를 통해 확보된 메모리 공간에는 다른 프로세스가 들어올 수 있다.
  • 스왑 인 (Swap In):

    • 스왑 아웃 되었던 프로세스가 다시 실행될 차례가 되었을 때 디스크의 스왑 공간에서 원래의 메모리 공간으로 다시 불러오는 과정
구분스와핑 (Swapping)페이징 (Paging)
단위프로세스(Process) 전체페이지(Page) 라는 고정 크기 블록
목적메모리 공간이 부족할 때 프로세스를 통째로 교체프로세스를 페이지 단위로 나누어 필요한 페이지만 메모리에 적재
유연성낮음 (프로세스 전체가 이동해야 함)높음 (필요한 부분만 메모리에 올리고 내릴 수 있음)
현대 OS거의 사용되지 않음가상 메모리 관리의 핵심 기술로 사용