패스잇
CS 기초 · 중급

운영체제의 CPU 스케줄링 알고리즘 중 라운드 로빈(Round Robin)과 우선순위(Priority) 스케줄링의 특징과 장단점을 비교 설명하고, 각각 어떤 종류의 시스템 환경에 적합한지 예를 들어 설명해주세요.

힌트 · 라운드 로빈은 시분할 시스템에서 공평한 자원 분배에 유리하며, 우선순위 스케줄링은 중요 작업의 빠른 처리가 필요한 실시간 시스템에 적합합니다. 기아 현상 발생 가능성도 고려해야 합니다.

라운드 로빈우선순위 스케줄링타임 슬라이스기아 현상응답 시간

모범답안

라운드 로빈 스케줄링과 우선순위 스케줄링은 CPU 스케줄링의 대표적인 알고리즘입니다.

라운드 로빈은 각 프로세스에 동일한 시간 할당량(타임 슬라이스)을 부여하고, 큐에 들어온 순서대로 CPU를 할당하는 방식입니다. 공정성이 높고 응답 시간이 비교적 빠르다는 장점이 있지만, 문맥 교환 오버헤드가 발생할 수 있고, 모든 프로세스에 동일한 중요도를 부여하기 때문에 특정 작업에 불리할 수 있습니다. 시분할 시스템이나 여러 사용자가 동시에 사용하는 환경에 적합합니다. 예를 들어, 웹 서버에서 여러 사용자의 요청을 처리할 때 라운드 로빈을 사용하여 각 요청에 공평하게 CPU 시간을 할당할 수 있습니다.

반면, 우선순위 스케줄링은 각 프로세스에 우선순위를 부여하고, 높은 우선순위의 프로세스부터 CPU를 할당하는 방식입니다. 중요도가 높은 작업을 빠르게 처리할 수 있다는 장점이 있지만, 낮은 우선순위의 프로세스가 CPU를 할당받지 못하는 기아 현상이 발생할 수 있습니다. 실시간 시스템이나 특정 작업의 중요도가 높은 환경에 적합합니다. 예를 들어, 항공기 제어 시스템에서 엔진 제어와 같은 중요한 작업에 높은 우선순위를 부여하여 즉각적으로 처리할 수 있도록 합니다. 기아 현상을 방지하기 위해 에이징 기법 등을 함께 사용하기도 합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 운영체제 면접 질문

← 운영체제 면접 질문 전체 보기