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번만 발생