-
728x90
1. 선점형 스케줄링과 비선점형 스케줄링
구분 선점형 비선점형 작업 방식 실행 상태인 작업을 중단시키고 새로운 작업 실행 가능 실행 상태에 있는 작업이 완료될 때까지 다른 작업 불가능 장점 프로세스가 CPU 독점 불가능 -> 대화형, 시분할 시스템에 적합 CPU 스케줄러의 작업량이 적고 문맥 교환의 오버헤드가 적음 단점 문맥 교환의 오버헤드가 많음 기다리는 프로세스가 많아 처리율이 떨어짐 사용 시분할 방식 스케줄러 일괄 작업 방식 스케줄러 중요도 높음 낮음 2. 프로세스 우선순위
더 빨리 자주 실행해야 하는 프로세스가 존재하기 때문에 CPU 스케줄러는 우선순위에 따라 프로세스를 배정한다. 기본적으로
커널 프로세스 > 일반 프로세스
이며, 커널과 일반 내부에서도 우선순위가 나뉜다.워드프로세서와 비디오 플레이어 중 어떤 프로세스의 우선순위가 더 높을까? 답은 비디오 플레이어다. 워드프로세서의 경우, 사용자의 입력 속도가 CPU의 연산 속도보다 느리기 때문에 천천히 실행되어도 되지만 비디오 플레이어의 경우에는 실시간으로 데이터를 읽어와 영상과 소리를 출력해야 하기 때문에 자주 실행되어야 한다.
이렇듯, 기본적인 원리는 중요하고 자주 실행되어야 하는 프로세스일수록 우선순위가 높다.
3. CPU 집중 프로세스와 입출력 집중 프로세스
프로세스가 CPU를 할당받아 하는 작업을
CPU 버스트(CPU burst)
, 입출력 작업을입출력 버스트(I/O burst)
라고 한다. 또한 CPU 버스트가 많이 일어나는 프로세스를CPU 집중 프로세스
, 입출력 버스트가 많이 일어나는 프로세스를입출력 집중 프로세스
라고 한다.두 개의 프로세스가 같이 준비 상태에 있다면 입출력 집중 프로세스를 먼저 실행 상태에 옮기는 것이 효율적이다. 금방 대기 상태로 돌아갈 것이기 때문에 다른 프로세스가 빠르게 CPU를 사용할 수 있기 때문이다. 이렇게 입출력 집중 프로세스가 먼저 실행 상태에 들어가는 경우를
사이클 훔치기(cycle stealing)
라고 한다.4. 전면 프로세스와 후면 프로세스
- 전면 프로세스 : 화면의 맨 앞에 놓인 프로세스. 현재 입출력을 사용하기 때문에 사용자와의 상호작용이 가능하다.
상호작용 프로세스
라고도 한다. - 후면 프로세스 : 사용자와 상호작용이 없는 프로세스.
일괄 작업 프로세스
라고도 한다.
전면 프로세스는 사용자의 요구에 즉각 반응해야 하기 때문에 일반적으로 후면 프로세스보다 우선순위가 높다.
5. 정리
정리하자면, 다음과 같다.
우선순위 높음
- 커널 프로세스
- 전면 프로세스
- 대화형 프로세스
- 입출력 집중 프로세스
우선순위 낮음
- 일반 프로세스
- 후면 프로세스
- 일괄 처리 프로세스
- CPU 집중 프로세스
728x90'운영체제' 카테고리의 다른 글
13. 스케줄링 알고리즘 (0) 2021.09.22 12. 다중 큐 (0) 2021.09.22 10. 스케줄링의 개요 (0) 2021.09.20 09. 동적 할당 영역과 시스템 호출 (0) 2021.09.20 08. 스레드 (0) 2021.09.20 댓글
- 전면 프로세스 : 화면의 맨 앞에 놓인 프로세스. 현재 입출력을 사용하기 때문에 사용자와의 상호작용이 가능하다.