반응형
운영체제에서 프로세스를 관리할 때 가장 핵심적인 개념 중 하나가 바로 스케줄링이다.
스케줄링이란 CPU가 어떤 프로세스를 먼저 실행할지 결정하는 정책을 의미한다.
가장 기본적인 두 가지 방식은 **FCFS(First Come First Serve)**와 **SJF(Shortest Job First)**이다.
각각 어떤 특징이 있고 어떤 상황에서 유리한지 비교해보자.
1. FCFS (First Come First Serve)
- 도착한 순서대로 프로세스를 처리하는 방식이다.
- 일종의 FIFO(First-In First-Out) 방식이다.
특징:
- 구현이 간단하고 직관적이다.
- 일관성이 있으며 공정해 보인다.
단점:
- 긴 작업이 먼저 오면 전체 대기 시간이 늘어날 수 있다.
- → Convoy Effect(호송 효과) 발생
예시:
- 프로세스 A: 실행시간 10, B: 3, C: 2
- 도착 순서: A → B → C
- 전체 대기시간 = 0(A) + 10(B) + 13(C) = 23
- 평균 대기시간 = 23 / 3 ≈ 7.67
2. SJF (Shortest Job First)
- 실행 시간이 가장 짧은 프로세스를 먼저 처리하는 방식이다.
- 비선점형과 **선점형(SRTF)**으로 나뉜다.
특징:
- 전체 평균 대기시간이 최소화된다.
- 효율적인 자원 배분이 가능하다.
단점:
- 긴 작업이 계속 밀릴 수 있다.
- 실행 시간을 예측하기 어렵다면 사용이 힘들다.
예시:
- 프로세스 A: 실행시간 10, B: 3, C: 2
- 실행 순서: C → B → A
- 전체 대기시간 = 0(C) + 2(B) + 5(A) = 7
- 평균 대기시간 = 7 / 3 ≈ 2.33
📊 비교 요약표
항목 | FCFS | SJF |
처리 기준 | 도착 순서 | 실행 시간 |
장점 | 단순하고 구현이 쉬움 | 평균 대기 시간 최소화 |
단점 | 긴 작업이 앞에 오면 비효율적 | 긴 작업이 계속 밀릴 수 있음 |
예시 상황 | 공정한 순서가 중요한 경우 | 효율적인 자원 활용이 중요한 경우 |
📌 마무리
FCFS와 SJF는 운영체제의 기본 중의 기본이다.
단순한 구조인 FCFS는 예측이 쉬운 반면, SJF는 효율은 좋지만 상황에 따라 공정성이 떨어질 수 있다.
따라서 시스템의 목적과 특성을 고려해 적절한 스케줄링 알고리즘을 선택해야 한다.
📌 매일 간단히 IT 관련 개념을 익히고 싶다면 구독하세요!👇👇👇
http://www.youtube.com/@itbite_daily
오늘의 IT한입
👋 하루 한 입, 쉽게 배우는 IT & 개발 개념! 프로그래밍, 데이터베이스, 운영체제, 네트워크, 보안, 코딩테스트까지! 취업 준비부터 실무 감각까지 매일 짧고 강력하게 정리해드립니다. 📍 매일
www.youtube.com
반응형
'IT개발 > Tech Notes' 카테고리의 다른 글
FIFO, LRU, OPT? 페이지 교체 알고리즘 완벽 비교 정리! (0) | 2025.05.09 |
---|---|
링커(Linker)와 로더(Loader)의 차이점 완전 정리! | 정보처리기사 기출 대비 (0) | 2025.05.08 |
💡 컴퓨터 속도를 좌우하는 핵심! 캐시 메모리(Cache Memory)란? (1) | 2025.05.04 |
트랜잭션과 락(Lock), 개념부터 차이까지 한 번에 정리 (0) | 2025.05.02 |
정규화란? 제1정규형부터 제3정규형까지 쉽게 정리 (0) | 2025.05.01 |
댓글