운영체제10 OS - 메모리 관리와 페이지 교체 메모리 관리 (페이지, LRU, 가상메모리)운영체제의 가장 까다로운 책임 중 하나가 한정된 물리 메모리(RAM)를 여러 프로세스가 안전하고 효율적으로 나눠 쓰도록 관리하는 일이다. 메모리가 부족하면 프로그램이 멈추고, 분배가 불공평하면 한 프로세스가 시스템 전체를 마비시킬 수 있으며, 단편화가 누적되면 빈 공간이 충분한데도 큰 메모리를 할당할 수 없는 사태가 벌어진다. 이 모든 문제를 풀어 주는 핵심 메커니즘이 가상 메모리(Virtual Memory)와 페이징(Paging)이며, 그 위에 페이지 교체 알고리즘이 얹어진다. 본 글은 메모리 계층·가상 메모리·페이지 교체 알고리즘을 정보처리기사 시험 범위와 실무 입문 영역에 모두 닿도록 세심하게 정리한다(출처: 위키백과 — Virtual memory). 제가.. 2026. 5. 18. OS - 동기화 세마포어 뮤텍스 동기화 (세마포어, 뮤텍스, 데드락)여러 스레드가 같은 메모리를 공유한다는 멀티스레드의 강점은 그대로 동기화 문제의 출발점이 된다. 두 스레드가 같은 변수에 동시에 쓰면 결과가 실행 순서에 따라 달라지는 경쟁 조건(race condition)이 발생하고, 그 결과는 매번 다른 값으로 떨어진다. 이 문제를 푸는 도구가 동기화 메커니즘이며, 그 중에서도 가장 자주 등장하는 세 가지가 뮤텍스(Mutex)·세마포어(Semaphore)·모니터(Monitor)이다. 본 글은 임계 구역의 정의부터 세 동기화 도구의 차이, 그리고 잘못 쓰면 발생하는 데드락(Deadlock)까지 세심하게 정리한다(출처: 위키백과 — Mutual exclusion). 제가 학교 OS 수업에서 처음 같은 카운터를 두 스레드로 1만 번씩 증.. 2026. 5. 18. OS - 프로세스와 스레드 프로세스 스레드 (PCB, 상태, 컨텍스트)운영체제를 배우면서 가장 먼저 명확히 구분해야 할 두 개념이 프로세스(Process)와 스레드(Thread)이다. 두 단어가 일상 대화에서도 혼용되어 쓰이지만, 실제로는 메모리 격리·생성 비용·통신 방식·확장 전략이 모두 다른 별개의 실행 단위이다. 이 차이를 정확히 이해해야 멀티프로세스 vs 멀티스레드 설계, 컨테이너의 동작 원리, 동시성 프로그래밍의 트레이드오프까지 자연스럽게 손에 잡힌다. 본 글은 프로세스와 스레드의 정의·구성·상태·컨텍스트 스위칭을 세심하게 정리한다(출처: 위키백과 — Process (computing)). 제가 학교 OS 수업에서 가장 인상 깊었던 실습이 ps -ef와 top 명령으로 시스템에 떠 있는 수백 개의 프로세스를 직접 본 일이.. 2026. 5. 18. 정보처리기사 필기 - 운영체제 핵심 개념 운영체제 (자원 관리, 커널, 시스템 콜)컴퓨터를 켜면 가장 먼저 실행되는 소프트웨어가 운영체제(Operating System)이며, 우리가 일상적으로 사용하는 모든 응용 프로그램은 사실 운영체제가 만들어준 환경 위에서만 동작할 수 있다. 워드 프로세서가 파일을 저장할 때, 웹 브라우저가 네트워크에 접속할 때, 게임이 그래픽을 렌더링할 때, 그 모든 행위의 실제 실행 주체는 응용 프로그램이 아니라 운영체제이다. 운영체제는 단순히 컴퓨터를 부팅시키는 프로그램이 아니라, 하드웨어와 사용자 프로그램 사이의 중개자로서 시스템 전체의 자원을 관리하고 보호하는 가장 근본적인 소프트웨어이다(출처: 위키백과 운영체제). 정보처리기사 시험에서도 매회 출제되는 핵심 영역으로, 그 중심에는 자원 관리와 커널의 동작 원리라는.. 2026. 5. 2. 이전 1 2 다음