[운영체제] 스케쥴링 알고리즘

Peter·2021년 9월 29일
0

운영체제

목록 보기
7/22

스케쥴링 알고리즘

프로세스

  • 실행 중인 프로그램은 프로세스라고 한다
    • 프로세스: 메모리에 올려져서, 실행 중인 프로그램
    • 코드 이미지(바이너리): 실행 파일, 예: ELF format
  • 그렇지만 응용 프로그램과 프로세스는 다르다
    • 응용 프로그램은 여러 개의 프로세스로 이루어질 수 있음
    • 여러 개의 프로세스(프로그램)가 상호작용을 하면서 하나의 응용 프로그램이 실행될 수 있음

간단한 프로그램을 만든다면 -> 하나의 프로세스
여러 프로그램을 만들어서, 서로 통신하면서 프로그램을 작성할 수도 있음(IPC기법)

스케쥴러와 프로세스

스케쥴러의 목표

  • 시분할 시스템: 프로세스 응답 시간을 가능한 짧게
  • 멀티 프로그래밍: CPU활용도를 최대로 높혀서, 프로세스를 빨리 실행

FIFO 스케쥴러


출처: 위키디피아

  • First In First Out or FCFS(First Come First Served)
  • 가장 간단한 스케쥴러(배치 처리 시스템

최단 작업 우선(SJF)스케쥴러

  • SJF(Shortest Job First) 스케쥴러
    • 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행

우선순위 기반 스케쥴러

  • Priority-Based 스케쥴러
    • 정적 우선순위
      • 프로세스마다 우선순위를 미리 지정
    • 동적 우선순위
      • 스케쥴러가 상황에 따라 우선순위를 동적으로 변경

Round Robin 스케쥴러

  • 선점형 스케쥴러
profile
컴퓨터가 좋아

0개의 댓글