我打算爲Linux編寫一個新的調度程序。我想知道當前使用的調度程序和它的「C」代碼。 我可以在Linux文件系統中找到包含調度程序代碼的文件。Linux調度程序修改
有關如何修改調度算法的任何參考或幫助將是偉大的或我可以從中學習的任何來源?
我打算爲Linux編寫一個新的調度程序。我想知道當前使用的調度程序和它的「C」代碼。 我可以在Linux文件系統中找到包含調度程序代碼的文件。Linux調度程序修改
有關如何修改調度算法的任何參考或幫助將是偉大的或我可以從中學習的任何來源?
Documentation/scheduler包含當前Linux調度器的文檔,kernel/sched的實現。
您可以通過克隆Linux的存儲庫到本地機器上:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
調度代碼是在linux樹sched.c,你可以打開它,看看它是所選擇默認的調度。
而且也添加/更改調度,看到這個帖子: How to create a new Linux kernel scheduler
你需要有整個Linux源能夠改變/添加調度。如@leeduhem所示,將linux源代碼複製到您的機器上。
很難理解你如何認爲自己已經準備好替換這個功能,而不能自己弄清楚如何找到它。邊幹邊學是一個好主意 - 但對於這樣規模的項目,您將面臨許多問題,這些問題比簡單地定位內核代碼的相關部分需要更多的個人主動權。不過,作爲一個純粹實際的建議,從源代碼構建內核並在進行*任何*更改之前對其進行測試,以便您知道只會遇到您引入的錯誤,而不會處理問題。 –
請在發帖之前在SO中進行搜索。有很多與Linux調度程序相關的問題。查看本頁面的右側窗格,查看相關問題的自動列表。 –