2011-12-26 38 views
0

我正在嘗試使用線程來實現「三級調度」。總之,我想對三級調度進行模擬。編程語言並不重要,歡迎提供任何建議。三級調度線程實現

+0

您能否介紹一下您在實施三級調度時面臨的一些問題?你想要做什麼樣的模擬?如果您希望得到一個好的答案,請在發佈您的問題時稍作努力! – Matteo 2011-12-27 20:03:50

+0

其實這是我的學校項目,我還沒搞清楚。互聯網上沒有足夠的資料,所以我甚至無法啓動項目的實施步驟。 這將是一個非常簡單的模擬,其輸出如「進程1被阻塞,進程2正在運行」等。我找不到任何與三級調度相關的信息。 Furhermore還沒有涵蓋三級調度僞代碼的信息。這就是爲什麼我要求你的幫助。謝謝! – alprncekol 2011-12-28 19:31:59

回答

0

內核 - 任何線程或進程 - 在I/O調用期間被典型的定時器輸入或中斷中斷。這將控制轉移回內核的調度程序。

切換線程由調度程序完成,它決定哪個線程是下一個可運行的線程。

現在,如果你想模擬差不多這個 - 你需要讓線程完成一些有限的任務並且讓自己等待一些信號/互斥量。有某種主線程可以控制這些互斥/信號量。主線程以某種方式運行期望的算法來決定哪個線程應該被授予訪問權限。

唯一真正的區別是,因爲你的主線程本身在用戶空間而不是內核內 - 所以它不能真正推翻和/或搶佔正在運行的線程。它只能控制任務分配如何有效地進行仿真(在表現良好的線程之間)。

這是如何思考問題的非常基本的第一步。請添加更多的細節來處理這個問題。修改你的問題以發展你的答案。