[2일차] 2025 정보처리산업기사 운영체제 – 비선점(FCFS=FIFO, SJF)


정보처리산업기사 실기 과목 중 운영체제 파트에서는 프로세스 스케줄링(Process Scheduling) 의 개념과 계산이 핵심이다.

이번 학습에서는 스케줄링 기법 중 비선점형(Non-preemptive Scheduling) 방식을 중심으로 정리했다. 비선점형 스케줄링은 한 프로세스가 CPU를 할당받으면 스스로 CPU를 반납할 때까지 다른 프로세스가 대기하는 방식이다.

즉, 운영체제가 강제로 CPU를 회수하지 않는다. 이 방식은 단순하고 구현이 쉬운 장점이 있지만, 호위 효과(Convoy Effect) 라는 단점이 존재한다. 즉, CPU 사용 시간이 긴 프로세스가 앞에 있으면 뒤의 모든 프로세스가 오래 기다리게 된다.

이번 학습에서는 대표적인 두 기법인 FCFS(First Come First Served) = FIFO(First In First Out)SJF(Shortest Job First) 의 원리와 계산법을 비교한다.


1. 간트 차트(Gantt Chart)

스케줄링 문제를 풀 때 가장 먼저 떠올려야 하는 것이 간트 차트이다.

간트 차트는 CPU가 각 프로세스를 언제 실행했는지를 시간 순서대로 시각화한 막대 그래프다.

정보처리산업기사 [2일차] 2025 정보처리산업기사 운영체제 - 비선점(FCFS=FIFO, SJF)

위 예시는 CPU가

0~5초에는 P1,

5~8초에는 P2,

8~12초에는 P3,

12~14초에는 P4,

14~20초에는 P5를 실행했음을 보여준다.

이처럼 간트 차트는 문제를 구조적으로 파악하고 계산을 단순화할 수 있게 해준다.


2. 문제 데이터

프로세스도착시간(A)실행시간(B)
P105
P223
P344
P452
P576

정의

  • 완료시간(C): 프로세스 실행이 끝난 시각
  • 반환시간(T) = C − A
  • 대기시간(W) = T − B
  • 비선점형에서는 응답시간 = 대기시간

3. FCFS(First Come First Served)

개념

FCFS는 선입선출(FIFO, First In First Out) 방식으로, 도착 순서대로 프로세스를 처리한다.

큐(Queue) 자료구조의 동작과 동일하며, 한 프로세스가 CPU를 사용하는 동안 다른 프로세스는 대기한다.

간트 차트

정보처리산업기사 [2일차] 2025 정보처리산업기사 운영체제 - 비선점(FCFS=FIFO, SJF)

계산표

프로세스ABCT=C−AW=T−B
P105550
P223863
P3441284
P4521497
P57620137
  • 평균 반환시간 = (5+6+8+9+13) / 5 = 8.2
  • 평균 대기시간 = (0+3+4+7+7) / 5 = 4.2

4. SJF(Shortest Job First, 비선점형)

개념

SJF는 CPU 실행 시간이 가장 짧은 프로세스를 우선 실행하는 방식이다.

실행 도중에는 교체되지 않으며, 현재 시점까지 도착한 프로세스 중 실행 시간이 가장 짧은 것을 선택한다.

짧은 작업을 먼저 처리하므로 평균 대기시간이 줄어드는 장점이 있지만,

긴 작업이 계속 밀리는 기아(Starvation) 문제가 발생할 수 있다.

선택 과정

  • t=0 → P1 실행
  • t=5 → {P2(3), P3(4), P4(2)} 중 P4 선택
  • t=7 → {P2(3), P3(4), P5(6)} 중 P2 선택
  • t=10 → {P3(4), P5(6)} 중 P3 선택
  • t=14 → 남은 P5 실행

간트 차트

정보처리산업기사 [2일차] 2025 정보처리산업기사 운영체제 - 비선점(FCFS=FIFO, SJF)

계산표

프로세스ABCT=C−AW=T−B
P105550
P2231085
P34414106
P452720
P57620137
  • 평균 반환시간 = (5+8+10+2+13) / 5 = 7.6
  • 평균 대기시간 = (0+5+6+0+7) / 5 = 3.6

5. 더 쉬운 계산법

간트 차트만 정확히 그리면 대부분의 계산은 자동으로 해결된다.

다음 세 가지 규칙을 기억하면 된다.

  1. 반환시간(T) = 완료시간(C) − 도착시간(A)
  2. 대기시간(W) = 반환시간(T) − 실행시간(B)
  3. 항상 T = W + B 가 성립

또한 비선점형에서는 응답시간 = 대기시간이므로 별도 계산이 필요 없다.


6. 비교 요약

항목FCFS(FIFO)SJF
평균 대기시간4.23.6
평균 반환시간8.27.6
장점단순, 공정평균 대기시간 최소화
단점호위 효과 발생긴 작업의 기아 문제

SJF는 전체 효율이 높은 방식이지만, 모든 시스템에 적합한 것은 아니다.

실제 운영체제에서는 두 방식을 혼합하거나, 우선순위·라운드로빈 등의 기법과 함께 사용해 CPU 자원을 조정한다.


다음 학습

다음 학습에서는 선점형 스케줄링(Preemptive Scheduling) 을 다룬다. SRTF(Shortest Remaining Time First)라운드로빈(Round Robin) 알고리즘을 비교하며, 타임 슬라이스(Time Quantum)에 따른 CPU 교체 과정을 단계별로 계산할 예정이다.

정보처리산업기사 관련링크 모음

  • 큐넷(Q-Net) 정보처리산업기사 안내
    -> 바로가기
  • 큐넷 원서접수 페이지 (정보처리산업기사 실기)
    -> 바로가기
  • 한국산업인력공단 공식 홈페이지
    ->바로가기
  • 이기적 2025 정보처리산업기사 실기 교재 공식몰 (영진닷컴)
    -> 바로가기
  • HRD-Net (직업훈련포털)
    -> 바로가기

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”