<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://codergogh.github.io/</id><title>CoderGogh의 개발 블로그</title><subtitle>A minimal, responsive and feature-rich Jekyll theme for technical writing.</subtitle> <updated>2026-06-21T19:19:17+09:00</updated> <author> <name>Haram Jeong</name> <uri>https://codergogh.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://codergogh.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="ko-KR" href="https://codergogh.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Haram Jeong </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>페이징과 세그먼테이션, 그리고 페이지 교체 알고리즘</title><link href="https://codergogh.github.io/posts/Paging/" rel="alternate" type="text/html" title="페이징과 세그먼테이션, 그리고 페이지 교체 알고리즘" /><published>2026-06-16T21:00:00+09:00</published> <updated>2026-06-17T14:06:27+09:00</updated> <id>https://codergogh.github.io/posts/Paging/</id> <content type="text/html" src="https://codergogh.github.io/posts/Paging/" /> <author> <name>Haram Jeong</name> </author> <category term="OS" /> <summary>왜 메모리 관리 기법이 필요한가 다중 프로그래밍 시스템에서는 여러 프로세스를 동시에 주기억장치(Main Memory)에 올려야 한다. 그런데 메모리는 한정되어 있고, 프로세스의 크기는 제각각이기 때문에 어떻게 나눠서 할당할 것인가에 대한 전략이 필요하다. 이 전략에 따라 메모리 관리 기법은 크게 두 갈래로 나뉜다. 연속 메모리 관리: 프로그램 전체가 하나의 연속된 공간에 올라가야 함 불연속 메모리 관리: 프로그램을 여러 조각으로 나눠서 서로 다른 위치에 흩어서 적재 가능 오늘 글에서는 불연속 메모리 관리의 두 축인 페이징과 세그먼테이션을 정리하고, 가상 메모리 환경에서 필연적으로 따라오는 페이지 교체 알고리즘까지 이어서 다룬다. 1. 연속 메모리 관리 프로그램 전체가 하나의 큰 ...</summary> </entry> <entry><title>[Algorithm] 코딩 테스트 빈출 알고리즘 핵심 정리</title><link href="https://codergogh.github.io/posts/Algorithm/" rel="alternate" type="text/html" title="[Algorithm] 코딩 테스트 빈출 알고리즘 핵심 정리" /><published>2026-06-12T12:00:00+09:00</published> <updated>2026-06-12T12:00:00+09:00</updated> <id>https://codergogh.github.io/posts/Algorithm/</id> <content type="text/html" src="https://codergogh.github.io/posts/Algorithm/" /> <author> <name>Haram Jeong</name> </author> <category term="Algorithm" /> <category term="Coding Test" /> <summary>코딩 테스트에서 가장 자주 등장하는 해시, 스택/큐, 힙, 정렬, 완전 탐색, 그리디, DP, DFS/BFS, 이분 탐색, 그래프의 개념과 풀이 접근법을 정리한 포스트입니다.</summary> </entry> <entry><title>[OS] 프로세스 메모리 구조 (Code, Data, Heap, Stack)</title><link href="https://codergogh.github.io/posts/Process-Memory-structure/" rel="alternate" type="text/html" title="[OS] 프로세스 메모리 구조 (Code, Data, Heap, Stack)" /><published>2026-06-09T00:00:00+09:00</published> <updated>2026-06-09T00:00:00+09:00</updated> <id>https://codergogh.github.io/posts/Process-Memory-structure/</id> <content type="text/html" src="https://codergogh.github.io/posts/Process-Memory-structure/" /> <author> <name>Haram Jeong</name> </author> <category term="OS" /> <summary>프로세스 메모리 구조 (Code, Data, Heap, Stack) 📌 개념 프로세스가 실행될 때 운영체제는 RAM을 효율적으로 사용하기 위해 메모리 공간을 역할별로 구분하여 관리한다. 이를 프로세스 메모리 구조(Process Memory Layout) 라고 하며, 크게 Code, Data, Heap, Stack 4가지 영역으로 나뉜다. 🗂️ 전체 메모리 구조 높은 주소 ┌─────────────────┐ │ Stack 영역 │ ← 함수 호출 시 생성, 아래 방향으로 성장 ↓ ├─────────────────┤ │ │ │ (빈 공간) │ │ │ ├─────────────────┤ │ Heap 영역 ...</summary> </entry> <entry><title>[OS] 데드락 (DeadLock, 교착 상태)</title><link href="https://codergogh.github.io/posts/DeadLock/" rel="alternate" type="text/html" title="[OS] 데드락 (DeadLock, 교착 상태)" /><published>2026-06-08T00:00:00+09:00</published> <updated>2026-06-08T00:00:00+09:00</updated> <id>https://codergogh.github.io/posts/DeadLock/</id> <content type="text/html" src="https://codergogh.github.io/posts/DeadLock/" /> <author> <name>Haram Jeong</name> </author> <category term="CS" /> <category term="Operating System" /> <summary>데드락 (DeadLock, 교착 상태) 📌 개념 두 개 이상의 프로세스나 스레드가 서로 자원을 얻지 못해 다음 처리를 하지 못하고, 무한히 대기하게 되는 상태 마치 외나무 다리 양 끝에서 서로 비켜주길 기다리는 것과 같다. 시스템 내 한정된 자원을 여러 프로세스가 동시에 사용하려 할 때 발생한다. 🔁 데드락 발생 예시 시점 프로세스 1 프로세스 2 t1 자원 1 점유 자원 2 점유 t2 자원 2 대기 자원 1 대기 → 서로가 원하는 자원을 상대방이 점유하고 있어 무한 대기 상태(DeadLock) 발생 주로...</summary> </entry> <entry><title>[OS] 경쟁 상태 (Race Condition) &amp; 세마포어 / 뮤텍스</title><link href="https://codergogh.github.io/posts/Race-Condition-&amp;-Semaphore-Mutex/" rel="alternate" type="text/html" title="[OS] 경쟁 상태 (Race Condition) &amp;amp; 세마포어 / 뮤텍스" /><published>2026-06-08T00:00:00+09:00</published> <updated>2026-06-08T00:00:00+09:00</updated> <id>https://codergogh.github.io/posts/Race-Condition-&amp;-Semaphore-Mutex/</id> <content type="text/html" src="https://codergogh.github.io/posts/Race-Condition-&amp;-Semaphore-Mutex/" /> <author> <name>Haram Jeong</name> </author> <category term="CS" /> <category term="Operating System" /> <summary>경쟁 상태 (Race Condition) 📌 개념 공유 자원에 대해 여러 프로세스가 동시에 접근할 때, 실행 순서에 따라 결과값이 달라질 수 있는 상태 동시 접근 시 자료의 일관성(Consistency)이 깨질 수 있으며, 이는 예측 불가능한 버그로 이어진다. 간단한 예시: 전역 변수 count = 0 Thread A: count = count + 1 (읽기 → 연산 → 쓰기) Thread B: count = count + 1 (읽기 → 연산 → 쓰기) 기대 결과: count = 2 실제 결과: count = 1 ← 두 스레드가 동시에 읽어 덮어씀 이처럼 연산이 원자적(Atomic)으로 수행되지 않을 때 경쟁 상태가 발생한다. ⚠️ Race Condition이 발생하는...</summary> </entry> </feed>
