로딩
요청 처리 중입니다...

[OS_PINTOS] #1-2. Priority Scheduling

 [OS_PINTOS] #1-2. Priority Scheduling

오늘 포스트에서 구현해 볼 것은 Priority Scheduling 이다. 현재 PINTOS의 Scheduling은 라운드 로빈 방식으로 구현되어 있다.

이를 우선순위 방식으로 고려해서 스케줄링 되게 수정하는 것이 목표이다. 쉽게 말해, ready_list에 새로 추가된 thread의 Priority가 현재 CPU를 점유 중인 thread의 priority 보다 높으면, 기존 CPU를 끌어 내리고 자신이 CPU를 점유하게 구현하라는 것이다. thread의 priority를 체크해 주어야 할 순간은 크게 두 부분으로 나뉜다.

첫 번쨰는 ready_list에 thread가 들어가서 현재 CPU에 있는 thread의 priority와 비교를 해주는 경우. 두번째는 현재 CPU를 점유하고 있는 thread의 priority가 변해서 ready_list에 있는 priority와 비교를 해주어야 하는 경우이다.

우선 첫 번째 경우부터 체크를 해보자. ready_list로 thread를 들어가게...

# os # pintos # 운영체제 # 운체 # 핀토스