schedulerpreemptionfairness

CPU 스케줄링과 time slice를 설명해 주세요

예상 시간
7
30초 답변

꼬리질문

조금 더 깊게 물어본다면

답변 뒤에 이어질 수 있는 질문들을 하나씩 열어볼 수 있어요.

선점형과 비선점형 스케줄링의 차이는 무엇인가요?

부가 설명

단일 CPU에서 여러 작업이 동시에 돌아가는 것처럼 보이는 이유는 스케줄러가 실행 대상을 계속 바꾸기 때문입니다. 짧은 작업이 뒤에 밀리면 사용자는 시스템이 멈춘 것처럼 느끼고, 긴 작업 하나가 CPU를 계속 잡으면 다른 작업의 응답성이 무너집니다.

time slice를 너무 짧게 잡으면 반응은 빨라 보일 수 있지만 컨텍스트 스위칭 비용이 늘어납니다. 너무 길면 전환 비용은 줄지만 대화형 작업의 응답성이 떨어질 수 있습니다. 그래서 스케줄링은 단순히 빠른 순서가 아니라 워크로드의 성격을 반영하는 정책 문제입니다.

한 줄 정리

스케줄링은 CPU를 누구에게 줄지 정하는 정책이고, time slice는 독점을 막기 위한 실행 시간 단위입니다.