現代作業系統 程序與執行緒

2021-08-18 06:14:13 字數 453 閱讀 4648

多道程式設計:實際上cpu在各個程序之間來回切換。由於cpu在各程序之間來回快速切換,所以每個程序執行其運算的速度是不確定的,對程式設計進行程式設計時不能做出任何想當然的假設。

程序的建立與寫時複製:在unix系統中,只有乙個系統呼叫可以用來建立新程序:fork,程序建立後,子程序共享父程序的所有記憶體,一旦兩者之一想要修改部分記憶體,這塊記憶體將首先被複製,以確保修改發生在私有記憶體區域。

為什麼要建立執行緒:

1.在許多應用程式中同時發生多種活動,其中某些活動隨著時間的推移會被阻塞。通常把這些程式分解為可以準並行執行的多個順序執行緒。因為有了多執行緒的概念,並行實體擁有共享同乙個位址空間和所有可用資料的能力,這是多程序無法實現的。

2.執行緒更為輕量級,比程序更容易建立,也更容易撤銷,在許多系統中,建立乙個執行緒要比建立乙個程序快10-100倍,。

3.如果存在大量的計算和大量的io處理,多個執行緒允許這些活動彼此重疊進行,加快速度。

《現代作業系統》之 程序與執行緒

作業系統中最核心的概念是程序,它是對正在執行程式的乙個抽象,包括作業系統。乙個程序就是乙個正在執行程式的例項,包括程式計數器 暫存器和變數的當前值。下圖中有四個程序,但是只有乙個物理程式計數器。在執行其中某個程式時,例如執行a程序,此時程序a的邏輯程式計數器就會被載入到物理程式計數器中。並且在實際的...

現代作業系統 程序和執行緒

概念 對正在執行程式的乙個抽象。偽並行 由於cpu在各個程序中的切換時間很短 幾十毫秒到幾百毫秒 所以在1s內它可以執行多個程序,這樣就產生了並行的錯覺。這就是說乙個cpu在乙個時間點只能執行乙個程序,在下乙個時間點切換到另外乙個程序,造成同時執行的錯覺。程序和程式 程式就是一些 用一些語言來描述演...

作業系統 程序與執行緒

程序 作業系統結構的基礎,是乙個正在執行的程式 計算機中正在執行的程式例項 可以分配給處理器並由處理器執行的乙個實體 由單一順序的執行顯示,乙個當前狀態和一組相關的系統資源所描述的活動單元。程序切換 從正在執行的程序中收回處理器,然後再使待執行程序來占用處理器。這裡所說的從某個程序收回處理器,實質上...