Recent Posts
Recent Comments
04-27 08:19
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Today
Total
관리 메뉴

생각을 IT다

프로세스 스케줄링 본문

Shorts/IT

프로세스 스케줄링

흑백논리 2023. 2. 20. 13:03
반응형

프로세스 스케줄링은 운영체제에서 실행 중인 여러 프로세스들 간에 CPU를 할당하는 것을 말합니다.

 

이는 시스템 자원의 효율적인 사용과 사용자 응답 시간 최소화를 목적으로 합니다.

 

프로세스 스케줄링은 다양한 알고리즘을 사용하여 수행됩니다.

 

일반적으로 운영체제는 다음과 같은 기본적인 스케줄링 알고리즘을 제공합니다.

  1. FCFS(First-Come, First-Served): 먼저 들어온 작업부터 순차적으로 처리하는 방식으로, 가장 간단한 스케줄링 알고리즘입니다.
  2. SJF(Shortest Job First): 실행 시간이 가장 짧은 프로세스부터 우선적으로 처리하는 방식입니다.
  3. SRTF(Shortest Remaining Time First): 현재 실행 중인 프로세스보다 남은 실행 시간이 더 적은 프로세스가 있으면, 그 프로세스를 우선적으로 처리하는 방식입니다.
  4. Priority Scheduling: 우선순위가 높은 프로세스를 먼저 처리하는 방식입니다.
  5. Round Robin: 시간 할당량(time slice)을 정해놓고, 해당 시간동안 프로세스를 처리한 후, 다음 프로세스로 CPU를 넘기는 방식입니다.
  6. Multi-level Queue: 우선순위에 따라 여러 개의 큐로 나누어 처리하는 방식입니다.
  7. Multi-level Feedback Queue: 우선순위에 따라 여러 개의 큐로 나누어 처리하되, 프로세스의 실행 상태에 따라 큐를 변경하는 방식입니다.

프로세스 스케줄링 알고리즘은 운영체제의 기능 중 하나이며,

사용자의 요구나 시스템의 상태 등에 따라 적절한 스케줄링 알고리즘을 선택하여 사용해야 합니다.


선점형 스케줄링과 비선점형 스케줄링

 

선점형 스케줄링은 운영체제가 하나의 프로세스가 CPU를 사용 중일 때,

우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 방식입니다.

 

즉, 실행 중인 프로세스를 중간에 중단시키고,

우선순위가 높은 프로세스에게 CPU를 할당하는 방식입니다.

 

선점형 스케줄링은 우선순위가 높은 작업이 빨리 처리되어야 할 경우,

빈번한 작업 전환이 필요한 대화형 시스템에 적합합니다.

 

그러나 선점에 따른 오버헤드가 있고,

우선순위가 낮은 작업이 오랫동안 대기할 가능성이 있습니다.

 

예를 들어, 대표적인 선점형 스케줄링 알고리즘으로 Round Robin이 있습니다.

 

반면, 비선점형 스케줄링은 실행 중인 프로세스가

CPU를 반납해야만 다른 프로세스가 CPU를 사용할 수 있는 방식입니다.

 

따라서, 현재 실행 중인 프로세스가 완료되거나 대기 상태에 빠지면

다음에 실행될 프로세스가 CPU를 사용할 수 있습니다.

 

비선점형 스케줄링은 일괄처리 시스템에서 적합합니다.

 

모든 프로세스가 동등하게 처리되므로, 공정성이 보장됩니다.

 

그러나 우선순위가 높은 작업이 대기하는 경우, 평균 대기 시간이 길어질 수 있습니다.

 

대표적인 비선점형 스케줄링 알고리즘으로

FCFS(First-Come, First-Served)와 SJF(Shortest Job First)가 있습니다.

반응형

'Shorts > IT' 카테고리의 다른 글

TCP/IP 프로토콜, OSI 7계층  (0) 2023.02.21
UNIX(유닉스) 운영체제의 특징  (0) 2023.02.20
라우팅 프로토콜 (Routing Protocol)  (0) 2023.02.20
IP헤더  (0) 2023.02.20
대표적인 윈도우 오류코드  (0) 2023.02.17
Comments