스케줄링 알고리즘의 종류
·
운영체제/CPU 스케줄링
다양한 스케줄링 알고리즘운영체제에서 프로세스에 CPU 등의 자원을 할당할 때는 여러 스케줄링 알고리즘을 사용한다. 각 알고리즘은 프로세스들을 어떤 순서로 우선 실행시킬지 결정하는 전략을 가지고 있으며, 실행 환경이나 요구사항(반응 속도, 처리량 등)에 따라 그 장단점이 달라진다. 이번 장에서는 대표적인 스케줄링 알고리즘들을 간략히 살펴본다. 1. 선입 선처리 스케줄링(FCFS: First Come First Served)1.1 개념준비 큐(Ready Queue)에 도착한 순서대로 프로세스에 CPU를 할당하는 비선점형 스케줄링 방식이다.단순하고 이해하기 쉽지만, CPU 사용 시간이 긴 프로세스가 먼저 오면 호위 효과(Convoy Effect) 가 발생해 이후 프로세스들이 장시간 대기하는 문제가 있다.(그림..
선점형과 비선점형 스케줄링
·
운영체제/CPU 스케줄링
선점형과 비선점형 스케줄링운영체제에서 프로세스에게 CPU 등 자원을 할당할 때, 이미 자원을 사용 중인 프로세스로부터 자원을 빼앗아 다른 프로세스에게 넘길 수 있는지 여부에 따라 스케줄링을 선점형(Preemptive) 과 비선점형(Non-Preemptive) 으로 구분한다. 이 장에서는 두 방식의 정의와 장단점을 살펴본다. 1. 선점형 스케줄링(Preemptive Scheduling)1.1 정의선점(Preemption) 이란 “남보다 앞서 차지한다”는 뜻이다.선점형 스케줄링은 운영체제가 프로세스가 자원을 쓰는 중이라도, 언제든 해당 자원을 빼앗아(강제적으로 중단시키고) 다른 프로세스에게 배분할 수 있는 방식을 말한다.예: 시분할(Time Quantum) 방식프로세스가 정해진 시간만큼 CPU를 쓰고 나면,..
프로세스 우선순위 (Process Priority)
·
운영체제/CPU 스케줄링
프로세스 우선순위 (Process Priority)운영체제는 여러 준비 상태(Ready) 프로세스 중 어떤 프로세스에 CPU를 먼저 할당할지 결정해야 한다. 이때 단순히 도착 순서(FCFS)만으로 CPU를 배분하면, 전체 시스템 효율이 떨어질 수 있다. 실제로는 프로세스마다 다른 우선순위(Priority)를 부여하여, 중요하거나 빨리 처리해야 하는 프로세스가 더 우선적으로 CPU를 쓸 수 있도록 한다. 1. 우선순위가 필요한 이유하나의 CPU에서 여러 프로세스가 동시에(또는 병행) 실행되려면, 운영체제(OS)가 CPU 스케줄링을 수행한다. 가장 단순한 방식으로는 도착 순서대로 차례로 CPU를 사용하게 할 수 있지만, 이는 항상 최적은 아니다. 왜냐하면 프로세스마다 다음과 같은 차이가 존재하기 때문이다:중..