Skip to content
Snippets Groups Projects
Commit 6c850859 authored by 홍 유빈's avatar 홍 유빈
Browse files

Add new file

parent a15f4657
No related branches found
No related tags found
No related merge requests found
# 고급 스케줄러(Advanced Scheduler)
**4.4BSD 스케줄러와 유사한 멀티 레벨 피드백 큐(multilevel feedback queue, MLFQ) 스케줄러를 구현하여 시스템에서 실행되는 작업의 평균 응답 시간을 줄입니다.**
우선순위 스케줄러와 마찬가지로 고급 스케줄러는 우선순위에 따라 실행할 스레드를 선택합니다. 그러나 고급 스케줄러는 우선순위 기부를 하지 않습니다. 따라서 고급 스케줄러 작업을 시작하기 전에 우선순위 기부를 제외하고 우선순위 스케줄러를 작동시키는 것을 추천합니다.
Pintos 시작 시 스케줄링 알고리즘 정책을 선택할 수 있도록 코드를 작성해야 합니다. 기본적으로 우선순위 스케줄러는 활성화되어야 하지만 `-mlfqs` 커널 옵션으로 4.4BSD 스케줄러를 선택할 수 있어야 합니다. 이 옵션을 전달하면 `main()` 초반, `parse_options()`에서 옵션을 분석할 때 `threads/thread.h`에 선언된 `thread_mlfqs`가 true로 설정됩니다.
4.4BSD 스케줄러가 활성화되면 스레드는 더 이상 자신의 우선순위를 직접 제어하지 않습니다. `thread_create()`에 대한 우선순위 인자자는 무시되어야 하며, `thread_set_priority()``thread_get_priority()`대한 모든 호출은 스케줄러가 설정한 스레드의 현재 우선순위를 반환해야 합니다. 고급 스케줄러는 이후 프로젝트에서는 사용되지 않습니다.
# 4.4BSD 스케줄러
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment