2.1.1 程序模型
2.1.2 程序的建立
2.3 程序間通訊
2.3.1 競爭條件
當等待磁碟請求完成時,其他更多的請求將會進入
若有多磁碟存在,可在滿足第乙個請求之前
要一些方法去模擬並控制這種併發
程序(特別執行緒)在這裡就發揮作用
或
某個使用者程序可能會在所有使用者上網的時候
這些活動都要管理
so乙個支援多程序的多道程式系統就顯得有用
所說的偽並行就是指這種情形
很難對多個並行活動跟蹤,
該模型的使用及它的影響是
程序 概念上,
但為理解這種系統
如在1章所看到的,
實際上只有乙個物理pc,
當該程式結東(或暫停)時,
圖2-1c中可看到
如
若cpu在迴圈時切到其他程序
當乙個程序有此類嚴格的實時要求時
然而,通常大多數程序並
程序就是廚師閱讀食譜、取來各種原料以及烘製蛋糕等一系列動作的總和
處理機從乙個程序(做蛋糕)切換到
處理完後,科學家又回來做蛋糕,從離開時的那步繼續
os能使它們共享**
其他是後台 如
大型系統中有很多守護程序
unix中,用ps程式列出正在執行的程序
本章將unix理解為所有基於posixe的系統,
多處理機讓每個程序在不同的cpu上執行會使整個作業執行更快
基於命令列的unx系統中執行程式x,
windowst中
在unx和windows中,
程序間要通訊,最好用一種結構良好的方式而不用中斷
下面幾節中,我們討論一些有關ipc的問題
第三個問題與正確的順序有關(如果該順序是有關聯的話),
另倆問題(需要梳理清楚並保持恰當的順序)同樣適用於執行緒
公用儲存區
為理解程序間通訊如何工作,看個例子
乙個假離線列印程式
當程序要列印檔案,
另個程序(印表機守護程序)
可把倆變數儲存
某時刻,0-3空(其中的檔案列印完畢),4-6被佔(存有排好佇列的要列印的檔名)
b讀n,得7,將7存在b的next_free_slot中。
這時倆程序都認為下一可用槽位是7
此時,假離線目錄內部是一致的,
兩個或多個程序讀寫某些共享資料
除錯包含有竟爭條件的程式很頭痛
不幸
執行緒與程序區別2
區別 1.執行緒是程序中的乙個實體。2.同一程序中的多個執行緒之間可以併發執行。3.執行緒和程序的區別在於,子程序和父程序有不同的 和資料空間,而多個執行緒則共享資料空間,每個執行緒有自己的執行堆疊和程式計數器為其執行上下文.多執行緒主要是為了節約cpu時間,發揮利用,根據具體情況而定.執行緒的執行...
作業系統2 程序與執行緒
1 順序執行 乙個應用程式由若干程式段組成,每個程式段完成特定的功能,它們在執行時,都需要按照某種先後次序順序執行,僅當前一程式執行完後,才執行後一程式段。順序執行的特點 順序性 封閉性 可再現性。順序性指的是處理機嚴格地按照程式所規定的順序執行,即每一操作必須在下乙個操作開始前結束 封閉性指的是程...
程序與執行緒
程序 process 管理單元,管理分配應用程式的資料,的記憶體空間.執行緒 thread 執行單元,執行緒負責執行乙個預先編排好的 段,執行 棧是基於執行緒的.乙個應用程式啟動的時候,程序自動建立,並且會預設建立主線程,主線程負責執行main 方法.thread t new thread new ...