[컴퓨터공학] 프로세스와 스케줄러 이해 - 스케줄링 알고리즘
프로세스와 스케줄러 이해 - 스케줄링 알고리즘
패스트캠퍼스 강의 보면서 정리하고 있습니다
프로세스
- 메모리에 올려져서 실행 중인 프로그램
- 코드 이미지(바이너리) : 실행파일 (ex:ELF format)
- 응용 프로그램 != 프로세스
- 응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음
FIFO 스케줄러
- CPU를 처음부터 끝까지 사용
- 가장 간단한 스케줄러(배치 처리 시스템과 유사)
- FCFS(First Come First Served) 스케줄 라고도 부름
최단 작업 우선(SJF) 스케줄러
- 프로세스 실행시간이 짧은 프로세스부터 실행
우선 순위 스케줄러
- Priority-Based 스케줄러
- 정적 우선 순위
- 프로세스마다 우선 순위를 미리 지정
- 동적 우선 순위
- 스케줄러가 상황에따라 동적으로 변경
- 정적 우선 순위
Round Robin 스케줄러
- 시분할 시스템 기반
RealTime OS(RTOS)
- 응용 프로그램 실시간 성능 보장을 목표로 하는 OS
- 정확하게 프로그램 시작, 완료 시간을 보장
- 시간에 민감
General Purpose OS(GPOS)
- 프로세스 실행시간에 민감하지 않고 일반적인 목적으로 사용
- Windows, Linux 등