일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- c++
- leveleditor
- 언리얼엔진5
- unrealengineai
- c++class
- 월드아웃라이너
- 프로그래밍일기
- 게임개발
- 프로그래밍
- 영단어정리
- livrary
- 자료형타입
- 25.06.11dir
- c언어정리
- 언리얼엔진공부
- 언리얼ai
- c++porinter
- 자료구조
- DX
- ipc(inter process communication)
- 자료구조정리
- directx
- bttask
- c++용어정리
- 게임엔진튜토리얼
- 각도변환
- 언리얼비헤이어비어트리
- 언리얼엔진
- uaiperception
- 수학용어정리
- Today
- Total
루리코딩 세상
가상 메모리(Virtual Memory)와 스와핑(Swapping) 현상 본문
💻 가상 메모리란? 운영체제가 메모리를 다루는 똑똑한 방식!
컴퓨터를 사용하다 보면 한 번쯤 "가상 메모리 부족"이라는 메시지를 본 적이 있을 거예요.
그럼 **가상 메모리(Virtual Memory)**란 정확히 무엇일까요?
가상 메모리는 실제 메모리(RAM)가 부족할 때, 하드디스크(또는 SSD)의 일부 공간을 마치 RAM처럼 사용하는 기술이에요.
사용자는 실제 메모리 크기와 상관없이 넓은 메모리 공간을 가진 것처럼 프로그램을 실행할 수 있죠.
🔍 어떻게 작동하나요?
운영체제는 프로그램이 요청한 메모리를 가상 주소 공간으로 먼저 할당하고, 실제로 필요한 데이터만 RAM에 올립니다.
그 외 데이터는 하드디스크에 보관해 두었다가 필요할 때 다시 RAM으로 불러와요.
이런 과정에서 자주 등장하는 개념이 바로 **스와핑(Swapping)**이에요.
📌 가상 메모리의 장점
- ✅ 실제 RAM보다 훨씬 넓은 메모리 공간처럼 사용 가능
- ✅ 여러 프로그램을 동시에 실행해도 안정적
- ✅ 각 프로그램이 독립된 메모리 공간을 쓰기 때문에 충돌을 방지함
⚠️ 주의할 점
가상 메모리는 하드디스크를 이용하므로, RAM보다 훨씬 느립니다.
그래서 스와핑이 너무 자주 일어나면 시스템 전체가 느려지고, 심한 경우에는 "쓰레싱(Thrashing)" 현상까지 발생할 수 있어요.
🎯 결론
가상 메모리란, RAM이 부족할 때 디스크를 활용해 메모리를 확장하는 운영체제의 핵심 기술입니다.
프로그램은 넉넉한 메모리를 사용하는 것처럼 느끼지만,
실제로는 운영체제가 필요한 데이터만 골라 RAM에 올려주는 스마트한 방식이죠.
스와핑(Swapping)이란?
컴퓨터가 여러 프로그램을 동시에 실행할 때, 메모리(RAM)가 부족해지면 운영체제는 사용하지 않는 데이터를 하드디스크로 옮기는 작업을 수행합니다. 이를 **스와핑(Swapping)**이라고 하며, 나중에 해당 데이터가 필요해지면 다시 RAM으로 불러오게 됩니다.
이 과정을 통해 컴퓨터는 제한된 메모리로 더 많은 작업을 처리할 수 있지만, **디스크는 RAM보다 느리기 때문에 자주 스와핑이 일어나면 시스템 속도가 급격히 느려지는 현상(스와핑 현상, 쓰레싱)**이 발생할 수 있습니다.
스와핑은 마치 책상이 좁아 자주 쓰는 책만 꺼내놓고, 나머지는 책장에 넣어두는 것과 같은 원리로,
컴퓨터 자원을 효율적으로 사용하기 위한 운영체제의 중요한 기술입니다.
쓰레싱(Thrashing)은 컴퓨터가 메모리 부족으로 인해, 디스크와 RAM 사이에서 데이터만 계속 옮기느라 정작 작업을 못하는 상태를 말합니다.
이럴 땐 시스템은 매우 느려지고, 반응 속도는 늦어지며, 사용자는 컴퓨터가 멈춘 것처럼 느끼게 되죠.
쓰레싱은 효율적인 메모리 관리가 얼마나 중요한지를 잘 보여주는 현상이에요.
RAM 부족
→ 필요한 데이터가 RAM에 없음
→ 디스크에서 불러오고(RAM에서 다른 데이터는 내보냄)
→ 또 다른 데이터 필요
→ 다시 디스크 접근 반복
→ 실제 작업은 거의 못함
→ 시스템 속도 급락 = 쓰레싱!
'하드웨어(Hardware, HW)' 카테고리의 다른 글
캐시 메모리(Cache Memory) - 주소 매핑(Address Mapping) (0) | 2025.05.29 |
---|---|
CPU와 쓰레드 - 왜 프로그래밍에서 쓰레드가 중요한가? (3) | 2025.05.21 |
커패시터(Capacitor) (1) | 2025.05.15 |
RAM(Random Access Memory)에 대하여, (5) | 2025.05.15 |