분류 전체보기85 OS - CPU 스케줄링 CPU 스케줄링 (FCFS, SJF, RR)CPU는 컴퓨터에서 가장 비싸고 가장 빠른 자원이다. 한 대의 컴퓨터에서 수십·수백 개의 프로세스가 동시에 실행되는 것처럼 보이는 이유는 운영체제가 매우 짧은 시간 단위로 CPU를 여러 프로세스에 번갈아 할당하기 때문이며, 이 분배를 결정하는 알고리즘이 바로 CPU 스케줄링이다. 어떤 알고리즘을 쓰느냐에 따라 평균 대기 시간이 5배 차이 나고, 응답 시간이 보장되거나 망가지며, 일부 프로세스가 영원히 실행되지 못하는 기아 상태(starvation)가 발생하기도 한다. 본 글은 스케줄링의 평가 기준부터 다섯 가지 핵심 알고리즘, 그리고 다단계 큐 같은 실전 운영 기법을 세심하게 정리한다(출처: 위키백과 — Scheduling (computing)). 제가 학교 O.. 2026. 5. 19. 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. 자료구조 - 해시 블룸필터 심화 해시 심화 (블룸필터, 일관성해싱)자료구조 #6에서 해시 테이블의 기본을 다뤘다면, 본 글은 그 응용으로 한 단계 더 들어간다. 거대한 데이터 셋에서 "존재 여부"를 메모리 단 몇 비트로 검사하는 블룸 필터(Bloom Filter), 분산 캐시·분산 DB에서 노드를 추가·제거할 때 키 재배치를 최소화하는 일관성 해싱(Consistent Hashing), 그리고 암호학적 해시 함수의 핵심 성질까지 — 해시가 시스템 설계 전반에서 어떻게 변형되어 쓰이는지를 세심하게 정리한다(출처: 위키백과 — Bloom filter). 제가 학교 캡스톤에서 사용자가 100만 명 가까이 늘었을 때 "이 이메일이 가입자 목록에 있는지" 검사를 매번 DB 쿼리로 하다가 화면 응답이 5초 가까이 늦어진 사고를 겪고 나서, 블룸 필.. 2026. 5. 17. 자료구조 - 정렬 알고리즘 정렬 알고리즘 (퀵, 병합, 안정)정렬은 컴퓨터 과학에서 가장 오래 연구된 문제이자 실무에서 가장 자주 마주치는 작업이다. 데이터를 보여주기 위해, 검색을 빠르게 하기 위해, 중복을 제거하기 위해, 통계를 계산하기 위해 — 어느 방향으로 가도 결국 정렬이 한 번 끼어든다. 본 글은 입문자가 반드시 익혀야 할 여덟 가지 핵심 정렬 알고리즘을 시간복잡도·안정성·실전 채택 기준으로 비교하면서 세심하게 정리한다(출처: CLRS — Introduction to Algorithms). 제가 학교 알고리즘 수업에서 같은 100만 개 데이터를 버블 정렬과 퀵 정렬로 비교 측정해 본 후 시간 차이가 1000배가 넘는 모습을 직접 본 후로는 "정렬 알고리즘 선택 한 줄이 시스템의 응답 시간을 결정한다"는 사실을 손끝으로 .. 2026. 5. 17. 이전 1 2 3 4 5 6 7 ··· 15 다음