[컴퓨터공학] 프로세스와 스케줄러 이해 - 스케줄링 알고리즘

less than 1 minute read

프로세스와 스케줄러 이해 - 스케줄링 알고리즘

패스트캠퍼스 강의 보면서 정리하고 있습니다

프로세스

  • 메모리에 올려져서 실행 중인 프로그램
  • 코드 이미지(바이너리) : 실행파일 (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 등