easydong

[CS] 물리 메모리 관리

📌 들어가며 이번 글에서는 운영체제의 물리 메모리 관리를 정리한다. 메모리 관리자의 역할(가져오기·배치·재배치), 주소 체계(절대/상대), 단일·다중 프로그래밍 환경의 메모리 할당(오버레이·스왑·분할 방식·버디 시스템)을 다룬다. 메모리 관리가 복잡한 이유 — 시분할 시스템에서는 OS를 포함한 모든 응용 프로그램이 메모리에 올라오기 때문이다....

[Java] 가비지 컬렉터(Garbage Collection)

📌 들어가며 C/C++에서는 개발자가 메모리 할당과 해제를 일일이 직접 관리해야 한다. 실수하면 메모리 누수나 크래시로 이어진다. 자바는 이 부담을 가비지 컬렉터(GC)에게 맡긴다. GC(Garbage Collection)란? JVM의 Heap 영역에서 동적으로 할당했던 메모리 중 더 이상 필요 없는 영역을 주기적으로 삭제하는 프로세스. 덕분...

[CS] 프로세스와 스레드

📌 들어가며 이번 글에서는 운영체제의 핵심 개념인 프로세스와 스레드를 정리한다. 프로그램과 프로세스의 차이, 프로세스 상태와 PCB·문맥 교환, fork/exec, 그리고 스레드와 멀티스레드 모델까지 다룬다. 프로그램 vs 프로세스 — 프로그램은 저장장치에 정적으로 저장된 파일이고, 프로세스는 그 프로그램이 실행을 위해 메모리에 올라온 상태다...