[英]User Level Interrupt Handler for Timer
我必須為一個支持一些基本功能的項目實現一個簡單的操作系統和一個虛擬機。 該操作系統將在虛擬機和虛擬機上運行,就像Linux中的普通程序一樣。
假設現在是執行虛擬機的范圍。
任何幫助或指導將不勝感激。 謝謝
我建議您恰好使用1個中斷,並將您的計時器安排在隊列中(幾次,例如<50)或堆中,這是一棵很快的樹,隨時可以訪問最小的元素,也就是說,具有下一個要處理的Timer的元素。
因此,您有一個中斷,一個處理程序和許多具有相關功能的計時器,這些計時器將由該單個處理程序調用。
實際上,普通程序也使用中斷(系統級),例如,當他們想使用系統調用時。 在用戶級別,您可以使用swapcontext / makecontext模擬系統級別的交換上下文,但是當您想要獲取時間(以計算時間差)時,必須使用syscall。因此,最好直接使用系統計時器,不錯的主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.