프로세스와 스케줄링

zzzzzang_gu·2023년 2월 21일

cs이론

목록 보기
5/13

프로세스 스케줄링

프로세스를 언제 실행 시킬지 결정하는 운영체제가 하는 가장 중요한 일 중 하나

  • 배치 처리 시스템

    여러 프로그램을 순차적으로 실행시킬 수 있도록 하는 시스템
    자동으로 다음 응용 프로그램이 이어사 실행 될 수 있도록 하는 시스템이다. 하지만 어떤 프로그램은 실행이 너무 오래 걸려서, 다른 프로그램이 실행하는데 시간을 많이 기다려야 한다.
  • 시분할 시스템

    다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화하는 시스템
    여러 사용자가 동시에 하나의 컴퓨터를 쓸 경우 응용 프로그램이 CPU를 점유하는 시간을 잘게 쪼개어 실행 될 수 있도록 하는 시스템이다.
  • 멀티 태스킹

    단일 CPU에서 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템
    10ms ~ 20ms 단위로도 실행 응용 프로그램이 바뀐다.

  • 멀티 프로그래밍

    최대한 CPU를 많이 활용하도록 하는 시스템

  • 멀티 프로세싱

    여러 CPU에서 하나의 응용 프로그램을 병렬로 실행해서, 실행 속도를 높이는 기법


스케줄러 - 프로세스 실행관리

  • 운영체제 => 커널 => 스케줄러

FIFO 스케줄러

배치 처리 시스템을 이용한 가장 간단한 스케줄러
(FIRST IN FIRST OUT) 선입선출의 개념을 생각하면 된다.


자료 출처 - 위키백과 https://ko.wikipedia.org/wiki/%EC%84%A0%EC%9E%85_%EC%84%A0%EC%B6%9C


SFJ 스케줄러 -최단작업 우선

실행시간이 가장 짧은 프로세스부터 먼저 실행시키는 알고리즘


우선 순위 기반 스케줄러

  • 정적 우선순위 : 프로세스마다 우선순위를 미리 지정한다.
  • 동적 우선순위 : 스케줄러가 상황에 따라 우선순위를 변경

Round Robin 스케줄러

시분할 시스템을 위해 설계된 스케줄링의 하나. 프로세스를 실행중 시간단위로 cpu를 할당하는 방식, 일정 시간이 지나면 수행중인 프로세스는 준비 큐의 끝으로 집어 넣는다.


자료 출처 - 위키백과 https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B4%EB%93%9C_%EB%A1%9C%EB%B9%88_%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81


프로세스 상태기반 스케줄러

Round Robin과 FIFO 를 이용

  • 01 : 프로세스 생성 (NEW)
  • 02 : 실행가능 (READY)
  • 03 : 실행중 (RUNNING)
  • 04 : 종료 (EXIT)
  • 대기 (BLOCKED)

0개의 댓글