process scheduling2 운영체제 || 10. Process Scheduling III 1. Real Time System a) Hard real time system > 어떤 task가 주어진 시간안에 반드시 완료되어야 함 > 자동차 에어백, 자율주행 등등 b) Sort real time system > 데드라인이 중요하긴 하나 못맞춰도 기능적 문제는 없음 > 실시간 스트리밍, 온라인게임같은거 > RealTime CPU scheduling은? > Preemption이 가능한 우선순위 기반으로 스케쥴링함 > 왜냐면 non-preemptive 알고리즘을 채용하게 되면 데드라인을 만족하기 어렵기 때문 + Real Time에서는 Task(Process)가 주기적임을 가정함 t는 한번 수행시 t만큼의 시간이 걸리는 것 d는 데드라인 p는 주기 2. RMS - Rate Monotonic Schedu.. 2021. 4. 17. 운영체제 || 9. Process Scheduling II 1. Priority Scheduling > 우선순위를 어떻게 할당하냐에 의해 알고리즘이 달라짐. > preemptive, non-preemptive 둘 다 디자인 가능 > 이 우선순위 알고리즘에 몇가지 문제가 존재함 a) Starvation 문제 >> 높은 우선순위가 계속 들어오게되면 낮은 우선순위를 가진 프로세스는 실행되지 못함 >> 해결방법으로는 ready queue에 있는 시간이 길어지면 일시적으로 우선순위를 높여주는 방법이 있음 b) Priority inversion problem >> 우선순위 역전 문제 >> 순위 높은순으로 진행해야하는데, 경우에따라 낮은 프로세스가 먼저 실행될 때가 있음. >> 가장 유명한 예시로 PathFinder > Low 프로세스에서 LOCK을 걸어서 HIGH 프로세스.. 2021. 4. 17. 이전 1 다음