내 잡다한 노트

챕터4. 스케줄링 시 고려 사항 본문

운영체제

챕터4. 스케줄링 시 고려 사항

peanutwalnut 2022. 7. 26. 21:28

선점형 스케줄링

프로세스가 진행 도중에(CPU를 할당 받아) 운영체제가 중지 시킬 수 있는 스케줄링 방식

대표적인 예로는 인터럽트가 있다. 현대의 시분할 시스템에 사용이 된다.

단점으로는 문맥 교환의 오버헤드가 많다. 

 

비선점형 스케줄링

프로세스가 진행이 되면 운영체제는 중지 시킬 수 없는 스케줄링 방식

과거에 많이 쓰였던 방식이다. 중지가 되지 않아 시간이 긴 프로세스가 실행되면 중지할 수가 없어

전체적인 처리 효율이 낮아진다.

 

프로세스 우선순위

우선순위가 높다는 것은 더 빨리 자주 실행된다는 것이다.

 

커널 프로세스와 사용자 프로세스간의 우선순위

커널 프로세스는 자원과 관련된 중요한 프로세스이기 때문에 두 개의 프로세스를 실행하게 되면

커널 프로세스의 우선순위가 높아 먼저 처리가 된다.

 

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

전면 프로세스는 화면에서 포커스가 되는 프로세스이다.

후면 프로세스는 포커스가 되지 않은 프로세스들이다.

그러다보니 포커스가 된 전면 프로세스가 후면 프로세스보다 우선순위가 높아 더 빨리 처리가 된다.

 

 

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

프로세스 중에는 CPU를 자주 써야하는 프로세스가 존재한다. 수학 연산을 해야한다던지...

입출력 집중 프로세스는 말 그대로 입출력을 자주 해야하는 프로세스이다.

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

입출력같은경우는 실행 상태로 가면 입력을 받는 동안 대기상태로 갈 수 있다. 그 동안 CPU는 다른 작업을

할당받아 효율적으로 수행할 수 있다. 나중에 인터럽트를 발생해 다시 실행상태에 갈 수 있을 것이다.

그래서 입출력 집중 프로세스의 우선순위를 높여야 한다.

'운영체제' 카테고리의 다른 글

챕터4. 인터럽트 처리  (0) 2022.07.26
챕터4. 다중큐  (0) 2022.07.26
챕터4. 스케줄링의 개요  (0) 2022.07.26
챕터3. 스레드  (0) 2022.07.24
챕터3 프로세스의 연산  (0) 2022.07.24