CPU 스케줄링 시 고려 사항

꿀떡냠·2024년 5월 22일

어떤 프로세스에 우선적으로 CPU를 할당할지 결정할 때 고려해야할 사항에 대해 알아보자

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

  • 운영체제에서 '선점'은 빼앗을 수 있음을 뜻한다.
  1. 선점형 스케줄링 : 실행 중인 프로세스가 있더라도 운영 체제가 CPU를 강제로 빼앗을 수 있는 스케줄링 방식
  2. 비선점형 스케줄링 : 어떤 프로세스가 CPU를 점유하면 다른 프로세스가 빼앗을 수 없는 스케줄링 방식

프로세스의 우선 순위

  • 프로세스는 중요도에 따라 우선순위를 가진다.
  • 커널 프로세스의 우선순위는 일반 프로세스보다 높다.
  • 우선 순위가 높다는 것은 더 빨리 자주 실행된다는 의미이다.
  • 일반 프로세스는 사용자(관리자)가 우선순위를 조절할 수 있다.

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

  • CPU를 할당받아 실행하는 작업을 CPU 버스트(CPU burst), 입출력 작업을 입출력 버스트(I/O burst)라고 한다.
  1. CPU 집중 프로세스 : CPU를 많이 사용하는 프로세스로 CPU 버스트가 많다.
  2. 입출력 집중 프로세스 : 입출력을 많이 사용하는 프로세스로 입출력 버스트가 많다.

CPU 배정 방법

  • CPU 집중 프로세스의 우선순위보다 입출력 집중 프로세스의 우선순위를 높이면 시스템 효율이 향상된다.
  • 입출력 집중 프로세스가 CPU 집중 프로세스보다 실행 상테에 먼저 들어가는 경우를 사이클 훔치기라고 한다.

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

  • 전면 프로세스가 후면 프로세스보다 우선순위가 높다.
  • 전면 프로세스 : GUI를 사용하는 운영체제에서 화면의 맨 앞에 놓인 프로세스이다. 현재 입력과 출력을 사용하는 프로세스이며, 사용자와 상호작용이 가능하여 상호작용 프로세스라고도 한다.
  • 후면 프로세스 : 압축프로그램처럼 사용자의 입력없이 작동하는 프로세스이다. 일괄 작업 프로세스라고도 한다.

정리

profile
백엔드 개발자로 살아남기

0개의 댓글