CPU 스케줄링

뿌이·2023년 2월 22일
0

CS

목록 보기
7/9

스케줄링의 단계


스케줄링은 두가지 종류가 있다.

  • 저수준 스케줄링
  • 고수준 스케줄링

고수준 스케줄링

시스템 내의 전체 작업수를 조절하는 것
어떤 작업을 시스템이 받아들일지 혹은 거부할지를 결정

저수준 스케줄링

가장 작은 단위의 스케줄링
CPU 스케줄러 입장에서 저수준 스케줄링은 어떤 프로세스에 CPU를 할당할지,
어떤 프로세스를 대기상태로 보낼지 등을 결정하는 일

중간수준 스케줄링

고수준 스케줄링은 프로세스를 활성화할지 말지를 결정하여 프로세스의 수를 조절하는 방식이지만
중간수준 스케줄링은 중지와 활성화로 활성화된 프로세스 수를 조절하여 과부화를 막는다

스케줄링의 목적

모든 프로세스가 공평하게 작업하도록 하는 것

골고루 자원을 배분하기위해 공평성을 유지하면서도 안정적으로 작동해야한다.
중요도에 따라 우선순위를 배정하도록 자원을 효율적으로 배분하여 성능을 높여야한다.

따라서 스케줄링의 목적은

  • 공평성
  • 효율성
  • 안정성
  • 확장성
  • 반응시간보장
  • 무한 연기방지
    가 있다.

또한 운영체제 프로세스는 일반 프로세스 보다 우선적으로 CPU를 배정받는다.
그 이유는 운영체제가 프로세스의 근본, 배경이기 때문이다.

스케줄링시 고려사항

선점형 스케줄링과 비선점형 스케줄링

  • 선점형 스케줄링
    CPU를 할당받아 실행중이더라도 운영체제가 CPU를 강제로 빼앗을 수 있는 스케줄링 방식
  • 비선점형 스케줄링
    어떤 프로세스가 CPU를 점유하면 다른 프로세스가 이를 빼앗을 수 없는 스케줄링 방식

선점형 스케줄링은 하나의 프로세스가 CPU를 독점할 수 없기 때문에 (뺏을수있어서)
빠른 응답시간을 요구하는 대화형 시스템이나 시분할 시스템에 적합하다.
반면 비선점형 스케줄링은 CPU사용시간이 긴 프로세스가 CPU를 점유한다면, CPU 사용시간이 짧은 여러 프로세스가 오랫동안 기다리게되서 전체시스템의 처리율이 떨어진다
비선점형 스케줄링은 과거의 일괄작업 시스템에서 사용하던 방식이다.

따라서 선점형 스케줄링이 더 많이 쓰인다...ㅋㅋ

프로세스의 우선순위

커널 프로세스의 우선순위가 일반 프로세스보다 높다

운영체제에서 커널이 h/w
shell이 app쪽에 있다
누가봐도 커널이 더 중요하기 때문에 커널 프로세스의 우선순위가 일반 프로세스 보다 높은 것!

일반 프로세스의 우선순위는 사용자가 조절할 수 있다.
하지만 우선순위를 조절 할 때에는 해당 프로세스뿐만 아니라 다른 프로세스의 실행속도에도 영향을 미칠 수 있기 때문에 주의해야한다.

CPU 집중 프로세스와 입출력 집중 프로세스

프로세스는 생성된 후 준비, 실행, 대기 상태를 거쳐 완료된다.
프로세스는 작업형태에 따라 두가지로 나뉜다.

  • CPU를 할당받아 실행하는 작업을 CPU 버스트
  • 입출력 작업은 입출력 버스트라고 부른다.

    CPU집중 프로세스는 수학연산과 같이 CPU를 많이 사용하는 프로세스를 말한다.
    게임이나, 영상편집 등이 있겠다.
    입출력 집중 프로세스는 저장장치에서 데이터를 복사하는 일과 같이 입출력을 많이 사용하는 프로세스를 말한다.

    위 과정이 바로 입출력 과정이다.ㅋㅋ
    CPU집중 프로세스입출력 집중 프로세스가 같이 있을 때에는
    입출력 집중 프로세스를 먼저 실행상태로 옮기는 것이 효율적이다
    왜냐하면 CPU집중 프로세스는 자신의 타임퀀텀을 다 쓸때까지 다른 프로세스가 실행되지 못하기때문이다.
    반면에 입출력집중 프로세스는 입출력 단계가 됐을 때에는 대기상태로 옮겨지기 때문에 다른 프로세스가 CPU를 사용할 수 있다.

    그래서 스케줄링을 할 때 입출력 집중 프로세스의 우선순위를 CPU 집중 프로세스보다 높이면 시스템의 효율이 향상된다.

전면 프로세스와 후면 프로세스

전면 프로세스는 GUI를 사용하는 맨 앞에 놓인 프로세스를 말한다.
사용자와 상호작용이 가능하다.
후면 프로세스는 사용자와 상호작용이 없는 프로세스이다.
전면 프로세스는 사용자의 요구에 즉각 반응해야 하기때문에 우선순위가 후면 프로세스보다 높다.

따라서 어떤 거를 우선순위를 높여야할지 고려해서 스케줄링 하는게 중요하다

출처

쉽게 배우는 운영체제 책

profile
기록이 쌓이면 지식이 된다.

0개의 댓글