[OS] 스케줄링

귀찮Lee·2023년 4월 12일
0

Operating System

목록 보기
12/14
  • CPU 스케줄러 : 여러 프로세스의 상황을 고려하여 CPU와 시스템 자원의 배정을 결정함

◎ 스케줄링의 단계

  • 저수준 스케줄링 : 프로세스에 CPU를 할당할지 대기 상태로 보낼지 등을 결정

    • 아주 짧은 시간에 일어남 (= 단기 스케줄링)
  • 중간수준 스케줄링 : 전체 시스템의 활성환된 프로세스 수를 조절

    • 일부 프로세스를 중지 상태로 옮김으로써 나머지 프로세스가 원만하게 작동하도록 함
    • 저수준 프로세스가 원만하게 이루어지도록 하는 완충 역할
  • 고수준 스케줄링 : 시스템 내의 전체 작업 수를 조절

    • 작업을 받아들일지 결정, 동시에 실행 가능한 프로세스 수 결정
    • = 장기 스케줄링, 작업 스케줄링, 승인 스케줄링

◎ CPU 스케줄링의 목적

  • 공평성 : 모든 프로세스는 자원을 공정하게 배정, 특정 프로세스 배제 X
  • 효율성 : 시스템 자원의 유휴 시간 X, 유휴 자원을 사용하는 프로세스는 우선권 제공
  • 안정성 : 우선순위를 사용, 자원을 점유하거나 파괴하려는 프로세스로부터 자원 보호
  • 확장성 : 프로세스가 증가해도 안정적으로 작동해야하며 자원이 늘어난다면 이 혜택이 시스템에 반영되어야 함
  • 반응 시간 보장 : 적절한 시간 안에 프로세스 요구에 반응 (무기한 연기시 사용자는 알 수 없음)
  • 무한 연기 방지 : 무기한 연기 X

◎ 선점형 vs 비선점형

선점형 스케줄링비선점형 스케줄링
작업 방식실행 상태의 있는 작업을 중단하고 새로운 작업 실행실행 상태에 있는 작업이 완료될 때까지 다른 작업 불가
장점프로세스가 CPU를 독점할 수 없음
-> 대화형이나 시분할 시스템에 적합
CPU 스케줄러의 작업량이 적음
문맥 교환의 오버 헤드가 적음
단점문맥 교환시 오버 헤드가 많음기다리는 프로세스가 많아 처리율이 떨어짐
사용시분할 방식 스케줄러 사용
저수준 스케줄러에 사용
일괄 작업 방식 스케줄러에 사용
중요도높다.낮다.

◎ 스케줄링 시 고려사항

프로세스 우선 순위

  • 커널 프로세스의 우선순위가 일반 프로세스보다 높음
  • 시스템에는 다양한 우선순위 프로세스가 공존하며, 우선순위가 높은 프로세스가 CPU를 더 먼저 차지함

우선 배정

  • CPU 집중 프로세스 : CPU를 많이 사용하는 프로세스 (ex. 수학 연산)
  • 입출력 집중 프로세스 : 입출력을 많이 사용하는 프로세스 (ex. 저장 장치에서 데이터를 복사하는 일)
  • 스케줄링 할 때 입출력 집중 프로세스의 우선순위를 CPU 집중 프로세스보다 높이면 시스템 효율이 향상됨

전면 프로세스 vs 후면 프로세스

  • 전면 프로세스 (상호작용 프로세스) : GUI 운영체제에서 화면에 맨 앞에 놓인 프로세스
    • 현재 화면의 입출력을 사용하는 프로세스
  • 후면 프로세스 (일괄작업 프로세스) : 사용자와 상호 작용이 없는 프로세스
  • 전면 프로세스의 우선순위가 후면 프로세스보다 높음

정리

profile
장비를 정지합니다.

0개의 댓글