///////
Search
4️⃣

심화문제 1 ~ 3

1. 스케줄링의 단계와 그 특징을 설명하시오.

스케줄링 단계 = 작업 대기, 보류 프로세스, 활성 프로세스, 실행 프로세스, 작업 종료
CPU 스케줄링은 규모에 따라 고수준 스케줄링, 중간 수준 스케줄링, 저수준 스케줄링으로 구분된다.
작업 대기 ~ 보류 프로세스 과정
=> 고수준 스케줄링
전체 시스템의 부하를 고려하여 작업을 시작할지 말지를 결정한다.
보류 프로세스 ~ 활성 프로세스 과정
=> 중간 수준 스케줄링
시스템에 과부하가 걸려서 전체 프로세스 수를 조절해야 한다면 이미 활성화된 프로세스 중 일부를 보류 상태로 보낸다.
활성 프로세스 ~ 실행 프로세스 과정
=> 저수준 스케줄링
CPU 스케줄러가 필요에 따라 준비 상태에 있는 프로세스를 실행 상태로 옮기기도 하고, 대기 상태로 보내기도 하며, 타임아웃으로 준비상태로 돌려보내기도 한다.
작업 종료 과정
스케줄링 단계 = 작업 대기, 보류 프로세스, 활성 프로세스, 실행 프로세스, 작업 종료
CPU 스케줄링은 규모에 따라 고수준 스케줄링, 중간 수준 스케줄링, 저수준 스케줄링으로 구분된다.
작업 대기 ~ 보류 프로세스 과정
=> 고수준 스케줄링
전체 시스템의 부하를 고려하여 작업을 시작할지 말지를 결정한다.
보류 프로세스 ~ 활성 프로세스 과정
=> 중간 수준 스케줄링
시스템에 과부하가 걸려서 전체 프로세스 수를 조절해야 한다면 이미 활성화된 프로세스 중 일부를 보류 상태로 보낸다.
활성 프로세스 ~ 실행 프로세스 과정
=> 저수준 스케줄링
CPU 스케줄러가 필요에 따라 준비 상태에 있는 프로세스를 실행 상태로 옮기기도 하고, 대기 상태로 보내기도 하며, 타임아웃으로 준비상태로 돌려보내기도 한다.
작업 종료 과정

2. 스케줄링의 목적을 설명하시오.

스케줄링은 모든 프로세스가 공평하게 작업하도록 하여 안정적으로 작동하기 위해 존재.
특정 프로세스가 시스템 자원을 독점하거나 파괴하는 것을 막기 위해 중요도에 따라 우선순위를 배정
공평성 : 모든 프로세스가 자원을 공평하게 배정받아야 한다.
효율성 : 시스템 자원이 유휴 시간 없이 사용되도록 스케줄링한다.
안정성 : 우선순위를 사용하여 중요 프로세스가 먼저 작동하도록 배정한다.
확장성 : 프로세스가 증가해도 시스템이 안정적으로 작동하도록 조치해야 한다.
반응 시간 보장 : 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 한다.
무한 연기 방지 : 특정 프로세스의 작업이 무한히 연기되어서는 안 된다.

3. 선점형 스케줄링과 비선점형 스케줄링을 비교하여 설명하시오.

선점 : 빼앗을 수 있음 비선점 : 빼앗을 수 없음선점형 스케줄링 방식 = 실행 상태에 있는 작업을 중단시키고 새로운 작업을 실행 가능(시분할 방식 스케줄러에 사용)
문맥 교환이 자주 일어나기 때문에 오버헤드 발생 우선 순위가 높은 프로세스를 먼저 처리하도록 할 수 있는 유연성
라운드 로빈 , SRT , MFQ
비선점형 스케줄링 = 실행 상태에 있는 작업이 완료될 때까지 다른 작업이 불가(일괄 작업 방식 스케줄러에 사용)
Plain Text
복사
필수적인 문맥교환 외에 추가적인 오버헤드 없음 기다리는 프로세스가 많아 처리율이 떨어진다.
FIFO , 우선순위 , SJF , HRN
중요도 = 선점형 > 비선점형 – 둘이 혼재하는 경우에
선점형 스케줄링 방식
실행 상태에 있는 작업을 중단시키고 새로운 작업을 실행 가능(시분할 방식 스케줄러에 사용)
문맥 교환이 자주 일어나기 때문에 오버헤드 발생
우선 순위가 높은 프로세스를 먼저 처리하도록 할 수 있는 유연성
라운드 로빈 , SRT , MFQ
비선점형 스케줄링
실행 상태에 있는 작업이 완료될 때까지 다른 작업이 불가(일괄 작업 방식 스케줄러에 사용)
필수적인 문맥교환 외에 추가적인 오버헤드 없음
기다리는 프로세스가 많아 처리율이 떨어진다.
FIFO , SJF , HRN
중요도 = 선점형 > 비선점형 – 둘이 혼재하는 경우에
프로세스의 생명주기
1.수행 -> 대기 2.수행 -> 준비 3.대기 -> 준비 4.수행 -> 종료
선점 – 1~4 모두 발생 비선점 – 1, 4번만 발생