0
我正在爲即將到來的操作系統開發一個簡單的內核。我已經開發了一切,直到調度器。我想知道調度程序如何進入其循環。操作系統調度程序如何返回?
例如,
- 定時器中斷火災。
- 處理程序調用調度程序。
- 調度程序跳轉隊列中的下一個進程。
- 中斷必須返回(IRETD)
但如果調度了呢中斷返回時跳轉到下一道工序即可。如果確實如此,是不是會回到最後的過程。
我想澄清一下 - 定時器中斷如何從調度器返回,調度器如何與定時器中斷通信(如果使用函數調用,那麼何時返回)?
假設 - 單片內核
我的中斷狀態我不熟悉IRETD指令的特性,但我想它需要從某個堆棧中彈出指令指針和其他寄存器才能恢復。 我看到它的方式,你需要改變堆棧中的值,這樣當IRETD彈出它需要的東西時,它會有效地恢復新進程,而不是被中斷的進程。 我不能在沒有研究x86指令集的那部分的情況下給出具體細節。 我的經驗主要來自我的愛好項目(https://bitbucket.org/ruifig/g4devkit),它基於ARM。 – RuiFig