스케줄링 (Scheduling)

어떤 프로세스가 CPU에서 실행될지 결정하는 OS 메커니즘.

Scheduling is a core OS function that allocates the limited CPU resource among competing processes. Schedulers aim to maximize CPU utilization, ensure fairness, and minimize response time. Common algorithms include Round Robin, First-Come-First-Served, and Priority Scheduling.

        graph LR
  Center["스케줄링 (Scheduling)"]:::main
  Rel_incident_response["incident-response"]:::related -.-> Center
  click Rel_incident_response "/terms/incident-response"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 5살도 이해할 수 있게 설명

주문이 쏟아지는 주방의 셰프를 생각해보세요. 스테이크를 먼저 구울지, 샐러드를 먼저 만들지 결정해서 모든 요리가 제시간에 나오도록 순서를 짜야 하죠. 컴퓨터에서 이런 '순서 결정'을 하는 뇌가 바로 스케줄링입니다.

🤓 Expert Deep Dive

Preemptive scheduling allows the OS to forcibly interrupt a running process to give another one a turn. Multi-level feedback queues (MLFQ) dynamically adjust process priorities based on their behavior (I/O bound vs CPU bound) to optimize both throughput and interactivity.

📚 출처