메모리관리 6

시스템 호출(System Call)과 주요 종류

1. 시스템 호출(System Call)이란? 운영체제(OS)는 사용자와 하드웨어 사이를 중개하는 역할을 한다. 그런데 사용자가 프로그램을 실행하거나 파일을 열고, 데이터를 전송하고, 프로세스를 종료하는 등의 작업을 수행할 때마다, 운영체제는 어떻게 이를 인식하고 처리할까? 바로 이때 시스템 호출(System Call)이라는 개념이 등장한다. 시스템 호출(System Call)은 사용자 프로그램(User Mode)에서 운영체제 커널(Kernel Mode)의 기능을 요청할 수 있도록 해주는 인터페이스다. 쉽게 말해, 사용자 프로그램이 OS에게 “이거 해줘!”라고 부탁하는 공식적인 창구라고 볼 수 있다.1-1. 왜 시스템 호출이 필요한가? 일반 프로그램은 하드웨어를 직접 제어할 수 없다. 예를 들어, 파일을..

컴퓨터공학 2025.03.27

가비지 컬렉션(GC) 원리와 메모리 관리

1. 가비지 컬렉션(GC)란? 가비지 컬렉션(Garbage Collection, GC)은 프로그래밍 언어에서 더 이상 사용되지 않는 메모리를 자동으로 정리하는 기능이다. C, C++ 같은 언어는 개발자가 직접 메모리를 할당(malloc)하고 해제(free)해야 하지만, Java, Python, C# 같은 언어는 GC를 활용하여 메모리를 자동으로 관리한다. - GC의 주요 역할불필요한 객체 삭제 → 사용되지 않는 객체를 탐색 후 자동 제거메모리 누수 방지 → 계속 사용되지 않는 메모리가 남아있는 문제 해결프로그램 안정성 향상 → 명시적인 메모리 해제 오류를 줄여 안정적인 실행 환경 제공2. 가비지 컬렉션의 동작 방식 GC는 프로그램에서 더 이상 사용되지 않는 객체를 탐색하고 자동으로 제거한다. 하지만 모든..

컴퓨터공학 2025.03.18

메모리 단편화(Internal & External Fragmentation)와 해결 방법

1. 메모리 단편화란?운영체제(OS)는 CPU가 프로세스를 실행할 때 필요한 메모리(RAM)를 할당하고, 사용이 끝나면 반환하는 방식으로 메모리를 관리한다. 하지만, **메모리 할당 및 해제가 반복되면서 사용하지 못하는 자투리 공간이 발생하는 현상을 "메모리 단편화(Memory Fragmentation)"**라고 한다.이러한 단편화가 심해지면 RAM에 여유 공간이 있음에도 불구하고 새로운 프로세스를 실행할 수 없는 문제가 발생할 수 있다. 즉, 전체적인 시스템 성능 저하 및 메모리 낭비가 심화되는 원인이 된다.1-1. 메모리 단편화가 발생하는 이유메모리 단편화는 운영체제가 메모리를 할당하고 반환하는 과정에서 블록이 불규칙하게 배치되면서 발생한다.다음과 같은 경우에 메모리 단편화 문제가 발생할 가능성이 높..

컴퓨터공학 2025.03.07

페이지 교체 알고리즘 (FIFO, LRU, LFU, OPT)란? 개념과 비교 분석

1. 페이지 교체 알고리즘이란? 운영체제(OS)에서 한정된 메모리(RAM)를 효율적으로 사용하기 위해 가상 메모리(Virtual Memory) 개념을 적용한다. 가상 메모리는 물리적 메모리(RAM)가 부족할 경우, 하드디스크(SSD/HDD)의 일부를 임시 메모리(Swap Space)로 사용하여 실행을 지속할 수 있도록 돕는다. 하지만, RAM의 크기가 제한되어 있기 때문에 새로운 프로세스가 실행될 때 필요한 데이터를 저장할 공간이 부족하면 기존 데이터를 삭제해야 한다. 이때, **어떤 데이터를 삭제하고 새로운 데이터를 저장할지를 결정하는 방법이 "페이지 교체 알고리즘(Page Replacement Algorithm)"**이다. ✅ 페이지 교체 알고리즘의 필요성효율적인 메모리 관리: RAM이 가득 찬 경..

컴퓨터공학 2025.03.07

캐시 메모리(Cache Memory)와 성능 최적화

1. 캐시 메모리(Cache Memory)란?캐시 메모리(Cache Memory)란, CPU와 메인 메모리(RAM) 간의 속도 차이를 줄이기 위해 자주 사용하는 데이터를 임시 저장하는 고속 메모리를 의미한다. CPU는 RAM보다 훨씬 빠르게 동작하지만, 직접 RAM에 접근하면 속도가 느려지므로 캐시 메모리를 활용하여 성능을 최적화함. ✅ 캐시 메모리의 주요 특징고속(High-Speed): RAM보다 훨씬 빠른 속도를 제공휘발성(Volatile): 전원이 꺼지면 저장된 데이터가 사라짐자동화(Automatic Management): CPU가 자주 사용하는 데이터를 자동으로 저장하고 관리📌 실생활 예시: "자주 가는 카페에서 미리 커피를 준비하는 바리스타"일반적으로 커피를 주문하면 바리스타가 재료를 꺼내서 ..

컴퓨터공학 2025.03.07

가상 메모리(Virtual Memory)의 개념과 작동 원리

1. 가상 메모리란?컴퓨터에서 프로그램을 실행하려면 **RAM(주기억장치, 메인 메모리)**에 로드해야 한다. 하지만 실행해야 할 프로그램이 많거나, RAM 용량보다 많은 데이터를 처리해야 하는 경우 문제가 발생한다. 이를 해결하기 위해 운영체제는 **가상 메모리(Virtual Memory)**를 활용하여 RAM보다 더 많은 용량을 사용할 수 있도록 지원한다. 즉, 실제 물리적 메모리(RAM)보다 더 큰 "가상의 메모리 공간"을 제공하여 메모리 부족 문제를 해결하는 기술이다.1-1. 가상 메모리의 핵심 개념프로세스는 실제 RAM보다 더 많은 메모리를 사용할 수 있음하드디스크(SSD/HDD)의 일부를 가상 메모리로 사용하여 RAM처럼 활용프로그램 실행 시 필요한 부분만 RAM에 올리고, 나머지는 디스크에 ..

컴퓨터공학 2025.03.05