1. 프로세스란?
- 실행중인 프로그램을 프로세스라고 한다.
- 프로세스는 작업, task, job 이라는 용어와 혼용된다.
- 응용 프로그램을 하나의 프로세스라고 하지 않는다. (응용 프로그램은 여러개의 프로세스로 이루어짐)
- 스케줄러가 프로세스를 관리한다.
2. 스케줄링 알고리즘
- 어느 순서대로 프로세스를 실행시킬까에 대한 방법론
a) 스케줄링 알고리즘의 목표
- 시스템이 달성하고자 하는 퍼포먼스를 목표로 한다.
ex) 시분할 시스템: 프로세스 응답 시간을 가능한 짧게
ex) 멀티 프로그래밍: CPU 활용도의 최대화 및 프로세스 실행을 빠르게함
b) FIFO 스케줄러
- 프로세스 중간에 다른 작업없이, CPU를 계속 사용한다는 전제 하에 알고리즘을 생각해보자.
- 가장 간단한 스케줄러의 형태로, 배치 처리 시스템에 유용한 방식
- 프로세스를 순서대로 CPU에 로드하는 방식
- Queue 자료구조와 동일한 방식으로 작동한다.
- FCFS(First Come First Served) 스케줄러 라고도 불린다.
c) 최단작업 우선 스케줄러 (SJF, Shortest Job First)
- 실행 예정인 프로세스 중 가장 실행속도(시간)가 빠른 프로세스를 우선적으로 CPU에 로드하는 방식
[잠깐, 알고가자!]
- RTOS(RealTime OS): 응용 프로그램 실시간 성능 보장을 목표로 하는 OS
- 프로그램의 시작/완료 시간을 정확하게 보장
- 공장의 공정과정과 같이, 정확한 시간계산이 중요한 시스템에서 사용된다. - GPOS(General Purpose OS): 프로세스 실행시간에 민감하지 않고, 일반적인 목적으로 사용되는 OS
- RTOS가 필요하지 않은 상황에서 사용되는 OS
- Windows, Mac OS 처럼 일반적으로 사용되는 OS가 여기에 속한다.
d) 우선순위 기반 스케줄러 (Priority-Based)
- 정적 우선순위: 프로세스의 우선순위를 미리 지정하는 방식
- 동적 우선순위: 스케줄러가 상황에 따라 우선순위를 동적으로 변경
e) Round Robin 스케줄러
- Queue 자료구조를 사용한 방식으로 시분할 시스템을 기본으로 한다.
- 프로세스가 CPU에 로드되는 것이 순서에 따라 순환하는 방식으로 동작한다.
- 실행이 완료된 프로세스는 다시 Queue의 맨 마지막으로 들어간다.
'컴퓨터공학기초 개념 > 운영체제' 카테고리의 다른 글
9. 선점형과 비선점형 스케줄러 (0) | 2021.04.05 |
---|---|
8. 프로세스 상태와 스케줄링 알고리즘 (0) | 2021.04.02 |
6. 운영체제 핵심개념 - 프로세스 스케줄링 (0) | 2021.03.29 |
5. 운영체제의 구조 (0) | 2021.03.26 |
4. 운영체제, 응용 프로그램, 컴퓨터 하드웨어의 관계 (0) | 2021.03.26 |
댓글