PromleeBlog
sitemapaboutMe

posting thumbnail
메인 메모리의 구조 2 (TLB, 스와핑) - 하루 10분 운영체제 10일차
Main Memory Structure 2 (TLB, Swapping) - 10 Minutes of OS Day 10

📅

🚀

들어가기 전에🔗

이전 포스팅에 이어서, 페이지 테이블의 성능 향상을 위한 TLB와 스와핑에 대해 알아보겠습니다.

🚀

성능 향상을 위한 TLB🔗

페이지 테이블은 메모리에 저장되어 있기 때문에, 접근 속도가 느릴 수 있습니다. 그래서 CPU는
TLB(Translation Lookaside Buffer)
라는 작은 캐시를 사용합니다.
학교 사물함 번호를 매번 교무실에서 확인하는 대신, 메모지에 써두고 바로 꺼내보는 느낌이죠.

TLB(Translation Lookaside Buffer)란?🔗

페이지 테이블은
가상 주소 → 물리 주소
를 변환해주는 '주소 사전' 같은 역할을 합니다.
그런데 문제는… 페이지 테이블도 메모리에 저장되어 있어서
접근 속도가 느리다
는 점입니다.
매번 주소 찾을 때마다 사전을 찾아보는 건 귀찮고 느리겠죠?
그래서 운영체제는 주소 변환 속도를 빠르게 하기 위해
TLB
라는 작은 고속 캐시를 사용합니다.

TLB를 쉽게 비유하면?🔗

📒 페이지 테이블 = 두꺼운 사전
🗒️ TLB = 책갈피 메모지 (자주 찾는 단어만 따로 적어둠)

TLB 작동 흐름🔗

  1. CPU가 가상 주소를 생성
  2. TLB에서 해당 페이지 번호를 찾음
  3. ✅ 있으면 → 바로 물리 주소로 변환 (빠름!)
  4. ❌ 없으면 → 페이지 테이블 검색 → 변환 후 TLB에 저장

TLB 예시🔗

가상 페이지 번호물리 프레임 번호
39
52
76
CPU: "지금 5번 페이지 주소 써야 해!"
→ TLB: "여기 있어! 프레임 2번으로 가~" (
TLB hit
)
CPU: "7번 페이지 줘!"
→ TLB에 없음 → 페이지 테이블 검색 → 변환 후 TLB에 추가 (
TLB miss
)

TLB의 특징🔗


🚀

스와핑(Swapping)🔗

컴퓨터의 메인 메모리는 용량이 한정되어 있기 때문에, 동시에 많은 프로그램이 실행되면 공간이 부족해질 수 있습니다.
이럴 때 운영체제는
잠시 사용하지 않는 프로세스의 메모리 일부를 디스크로 옮기는
작업을 수행합니다.
이 과정을
스와핑(Swapping)
이라고 합니다.

공부 책상과 책장🔗

📚 책상이 좁을 때, 당장 쓰지 않는 책은 책장에 치우고, 나중에 필요할 때 다시 꺼내는 것과 같습니다.

스와핑은 언제 발생하나요?🔗

스와핑 과정 요약🔗

  1. 메모리 부족 발생
  2. 운영체제가
    비활성 프로세스
    선택
  3. 해당 프로세스의 메모리 내용을 디스크(스왑 공간)로 복사
  4. 메모리에서 해당 프로세스를 제거해 공간 확보
  5. 나중에 다시 실행할 때, 디스크에서 내용을 메모리로 복구

예시 흐름🔗

  1. P1, P2, P3, P4 실행 중 (RAM 4GB 가득 찬 상태)
  2. 새로운 프로세스 P5 실행 요청
  3. 운영체제: "P3는 한동안 CPU 안 썼네? 디스크로 보내자!" → P3 스와핑 아웃
  4. P5 실행 → 공간 부족 해결
  5. 나중에 P3 필요 시 → 스와핑 인 (디스크에서 다시 불러옴)

스와핑의 장점과 단점🔗

항목장점단점
메모리 절약RAM 부족 문제 완화디스크 I/O 속도가 느려 성능 저하 가능
프로세스 관리많은 프로세스를 동시에 유지 가능너무 자주 발생하면 시스템 느려짐 (스래싱 발생 가능)

스와핑과 스래싱(Thrashing)🔗

스와핑이
너무 자주 발생
하면,
CPU가 실제 작업보다
계속 스와핑만 반복
하게 되는 상황이 발생합니다.
이 현상을
스래싱(Thrashing)
이라고 합니다.
→ 성능이 심각하게 저하되며, 응답이 멈춘 것처럼 느껴지기도 합니다.

리눅스와 윈도우에서의 스와핑🔗


🚀

Intel과 ARM 메모리 구조🔗

Intel x86/x64 구조🔗

ARM 구조🔗


🚀

요약🔗

이번 글에서는 메인 메모리의 기본 개념과 할당 방식, 그리고 페이징과 스와핑, 아키텍처별 메모리 구조에 대해 살펴보았습니다. 기술 면접에서는 "페이징 방식의 장점은 무엇인가요?", "스와핑이 필요한 이유는?" 같은 질문이 자주 나오니, 예제와 함께 개념을 정리해두는 것이 좋습니다.
다음 글에서는
가상 메모리
에 대해 다루겠습니다.

참고🔗