HoneyByte

CPU 스케줄링 완전 정복 — FCFS, SJF, Round Robin, Priority, MLFQ

스케줄링의 목표 (서로 충돌): / CPU 활용률(Utilization): CPU를 항상 바쁘게 유지 / 처리량(Throughput): 단위 시간당 완료 프로세스 수 최대화 / 반환 시간(Turnaround Time): 프로세스 제출~완료 시간 최소화 / 대기 시간(Waiting...

HoneyByte

프로세스와 스레드 — PCB, 컨텍스트 스위칭, 멀티스레딩, 동기화

프로세스(Process): OS가 프로그램에 독립적인 메모리 공간(코드·데이터·힙·스택)을 할당해 실행하는 단위. 프로세스 간 메모리는 격리됨. / 스레드(Thread): 프로세스 내 실행 단위. 코드·데이터·힙은 공유, 스택은 독립. 생성 비용이 프로세스보다 낮고 통신이 쉬움. /...

HoneyByte

Docker 완벽 가이드 — Dockerfile, 멀티스테이지 빌드, 볼륨, 네트워크, 보안

VM vs Container: / VM: 하이퍼바이저가 하드웨어 에뮬레이션 → 수 GB, 수 분 부팅 / Container: 호스트 커널 공유, 프로세스 격리(네임스페이스+cgroups) → 수 MB, 수 초 실행 / Docker 핵심...

HoneyByte

메시지 큐와 이벤트 드리븐 — Kafka, RabbitMQ, pub/sub, 이벤트 소싱

메시지 큐: 서비스 간 비동기 통신을 중재. Producer가 메시지를 보내면 Consumer가 나중에 처리. 서비스 간 결합도 감소, 장애 격리, 트래픽 완충. / pub/sub (발행-구독): 한 Publisher의 메시지를 여러 Subscriber가 수신....

HoneyByte

모바일/크로스플랫폼 2026 — Flutter vs React Native vs KMP, 지금 무엇을 선택할까

2026 크로스플랫폼 시장 현황: / Flutter: 46% 채택률로 1위. Dart + 자체 렌더링 엔진(Impeller). Web·Desktop까지 확장 / React Native: 35~42%. New Architecture(JSI + Fabric + TurboModules) 기본 활성화로 네이티브 수준...

HoneyByte

Next.js App Router 시작하기 — 파일 시스템 라우팅과 React Server Components

App Router는 `app/` 디렉터리 기반의 파일 시스템 라우터로, Next.js 13부터 도입되어 15 기준으로 안정화됐다. 폴더 구조가 곧 URL 경로이며, 특수 파일(special files) 로 레이아웃·로딩·에러·404를 선언적으로 처리한다. 가장 큰 변화는 React...

HoneyByte

OS: 파일 시스템과 I/O

파일 시스템은 디스크 같은 비휘발성 저장 장치에 데이터를 구조화하고 관리하는 운영체제의 핵심 구성 요소입니다. 이는 파일, 디렉터리, 메타데이터를 조직하고, 사용자에게 일관된 인터페이스를 제공하여 데이터 접근을 용이하게 합니다. I/O(입출력)는 시스템 내부와...

HoneyByte

OS: 교착상태(Deadlock)

교착상태(Deadlock)는 둘 이상의 프로세스가 서로 상대방이 점유한 자원을 기다리며 무한히 블로킹되는 상태다. 운영체제와 멀티스레드 프로그래밍에서 가장 치명적인 동시성 문제 중 하나이며, 발생하면 시스템이 완전히 멈출 수 있다. / 이 글에서는...

HoneyByte

OS: 메모리 관리와 가상 메모리

운영체제의 메모리 관리는 한정된 물리 메모리를 여러 프로세스가 안전하고 효율적으로 사용할 수 있도록 하는 핵심 메커니즘이다. 가상 메모리는 각 프로세스에게 독립된 주소 공간을 제공하면서, 실제 물리 메모리보다 큰 메모리를 사용할...

HoneyByte

OS: CPU 스케줄링

CPU 스케줄링은 운영체제가 여러 프로세스 중 어떤 것에 CPU를 할당할지 결정하는 핵심 메커니즘입니다. 효율적인 스케줄링은 시스템 성능과 사용자 경험을 직접 좌우합니다.

HoneyByte

OS: 프로세스와 스레드

프로세스는 독립 메모리를 가진 실행 단위, 스레드는 프로세스 내 자원을 공유하는 경량 실행 단위 / 컨텍스트 스위칭 비용과 동기화 문제가 핵심 트레이드오프 / 현대 OS는 스레드 기반 멀티태스킹이 표준