2012-04-10 178 views
0

我正在通過galvin章節閱讀進程和線程 看看進程,多個進程是由cpu調度程序或短期調度程序調度的,之後提出了線程是執行的路徑和一個進程可以包含多個線程。 現在我想到一個場景,假設cpu調度程序使用循環算法調度執行進程,現在假設調度進程有50個線程,現在在這種情況下,具有相同進程的線程是如何調度的以及如何切換上下文b/w線程,進程發生 可以解釋我在detals中的整個場景,我將非常感謝全部進程調度程序和線程調度程序

回答

0

進程是一個正在執行的程序,它是程序員決定線程數的工作進程以及他們將如何安排......這取決於他希望程序運行的順序。 因此,只要進程處於運行狀態,它就會運行計劃由程序員運行的線程。 即使在線程運行concurr的情況下當然它的程序員決定哪些線程可以同時運行,哪些不能......我希望這可以消除你的懷疑。

+1

那麼這個問題並不完全詳細,但爲了回答這個問題,進程被劃分爲多個時間片,並且系統每秒爲每個進程分配一定數量的時間片,並且調度器不必公平地知道誰有更多的時間片另外,進程可以選擇如何使用他們的時間片,通過將他們已經分配的片進一步劃分爲稱爲線程的幀。因此,除此之外,在您的案例中,每個流程都是循環式的,個別流程可能會繞過時間片。 – awiebe 2012-09-28 23:36:58