組長:B10415019 張祖浩
組員:B10415020 蔡奕德
組員:B10415045 施泓仰
github: https://github.com/hiroya8649/xv6-public

一共有2個機制
1.當deadline不同時:選擇最靠近deadline的process
2.當deadline相同時:選擇最久未被執行的process
※下圖中的數字為尚未執行的時間

會與RR的情況相似

每個process分配到的時間
deadline=5︰25
deadline=15︰15
deadline=20︰15
deadline=50︰5
可以看到deadline越小的process被分配到的時間越多


























讓xv6使用deadline first的排程方法,使process跟時間具有相關性,若給予的限制時間越短,則被執行到的機會會越高,執行次數也會越多次,且此排程方法不會造成priority的starvation,即使有很多短時間的process被建立也不會使整個os停止運作。但不足的地方是,我們無法保證process的工作一定會在時間內完成,只能盡量使得該process在時間內完成。
祖浩:在process裡新增priority屬性,實作測試function(foo)、狀態印出(ps)、變更priority(chpr)
奕德:修改scheduler(priority based),顯示記憶體空間,顯示process的執行時間,整合專案
泓仰:在process裡新增deadline屬性,實作deadline first排程方法,變更deadline(chdl),實作計時器