본문 바로가기

CS/OS

[OS] Memory swap

반응형

소개

메모리 스왑(Memory Swap)은 운영체제에서 사용되는 메모리 관리 기술 중 하나로, 주 메모리(RAM)의 일부를 저장장치(하드 디스크 또는 SSD)와 교환하여 더 많은 프로그램과 데이터를 처리할 수 있도록 하는 방법입니다.

주로 시스템에 필요한 메모리 공간이 부족할 때 사용됩니다.

 

특징

  1. 페이지 교체: 메모리 스왑은 주로 페이지(Page)라 불리는 작은 단위로 메모리를 교체합니다. 페이지는 일반적으로 여러 킬로바이트(KB) 크기로 설정됩니다.
  2. 대기 시간: 메모리 스왑은 일반적으로 디스크와 주 메모리 간의 입출력(I/O) 작업이 필요하므로 비교적 느린 작업입니다. 이로 인해 성능 저하가 발생할 수 있습니다.
  3. 가상 메모리 확장: 메모리 스왑은 가상 메모리의 일부로 간주되며, 물리적인 주 메모리의 한계를 늘려주는 역할을 합니다.
  4. 운영체제의 결정: 어떤 페이지를 스왑아웃(디스크로 내보내기)할지, 어떤 페이지를 스왑인(디스크에서 불러오기)할지에 대한 결정은 운영체제의 메모리 관리자에 의해 이루어집니다.
  5. 디스크 공간 활용: 메모리 스왑은 주로 더 많은 프로그램을 실행할 수 있도록 하는 장점이 있지만, 디스크 공간을 사용하므로 디스크 공간의 활용도 증가됩니다.

단점

일반적으로 RAM(랜덤 액세스 메모리)은 하드 디스크 또는 SSD와 비교하여 훨씬 빠릅니다.

이는 다음과 같은 이유로 인합니다:

  1. 액세스 속도: RAM은 직접적인 메모리 액세스가 가능한 반면, 하드 디스크나 SSD는 물리적인 디스크에서 데이터를 읽거나 쓰기 위해 디스크 헤더를 이동시켜야 합니다. 이로 인해 RAM이 훨씬 빠른 액세스 속도를 제공합니다.
  2. 전력 소모: RAM은 전원이 인가되는 동안 데이터를 보유하고 있을 수 있습니다. 따라서 전력이 공급되는 한 데이터에 빠르게 액세스할 수 있습니다. 반면 하드 디스크나 SSD는 회전하는 디스크나 전자 저장 장치를 사용하며, 여러 기계적 및 전자적 요소로 구성되어 있어 RAM에 비해 전력 소모가 많습니다.
  3. 액세스 단위: RAM은 바이트 또는 워드 단위로 즉시 읽고 쓸 수 있지만, 하드 디스크와 SSD는 블록 단위로 데이터를 읽고 쓰는 것이 효율적입니다. 이로 인해 작은 양의 데이터를 읽거나 쓸 때에도 불구하고 블록 단위로 액세스하게 되어 일부 성능 손실이 발생할 수 있습니다.
  4. 내구성: RAM은 전원이 꺼지면 저장된 데이터가 손실됩니다. 반면에 하드 디스크와 SSD는 데이터를 비휘발성으로 유지하므로 전원이 꺼져도 데이터가 보존됩니다. 이러한 특성은 데이터의 장기 보존에 유리합니다.

메모리 스왑은 주로 운영체제의 가상 메모리 관리에서 사용되며,
리눅스 시스템에서는 swap 파티션 또는 스왑 파일을 사용하여 메모리 스왑을 구성할 수 있습니다.
메모리 스왑을 사용하는 경우, 디스크의 속도와 용량, 시스템의 활용도 등을 고려하여 적절한 설정이 필요합니다.

반응형

'CS > OS' 카테고리의 다른 글

[OS] CPU란?  (0) 2023.11.22