日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

操作系統(tǒng)之進程管理

 我愛你文摘 2018-06-10

進程與線程

1. 進程

進程是資源分配的基本單位。

進程控制塊 (Process Control Block, PCB) 描述進程的基本信息和運行狀態(tài),所謂的創(chuàng)建進程和撤銷進程,都是指對 PCB 的操作。

下圖顯示了 4 個程序創(chuàng)建了 4 個進程,這 4 個進程可以并發(fā)地執(zhí)行。

操作系統(tǒng)之進程管理

2. 線程

線程是獨立調度的基本單位。

一個進程中可以有多個線程,它們共享進程資源。

操作系統(tǒng)之進程管理

3. 區(qū)別

  • 擁有資源:進程是資源分配的基本單位,但是線程不擁有資源,線程可以訪問隸屬進程的資源。
  • 調度:線程是獨立調度的基本單位,在同一進程中,線程的切換不會引起進程切換,從一個進程內的線程切換到另一個進程中的線程時,會引起進程切換。
  • 系統(tǒng)開銷:由于創(chuàng)建或撤銷進程時,系統(tǒng)都要為之分配或回收資源,如內存空間、I/O 設備等,所付出的開銷遠大于創(chuàng)建或撤銷線程時的開銷。類似地,在進行進程切換時,涉及當前執(zhí)行進程 CPU 環(huán)境的保存及新調度進程 CPU 環(huán)境的設置,而線程切換時只需保存和設置少量寄存器內容,開銷很小。
  • 通信方面:進程間通信 (IPC) 需要進程同步和互斥手段的輔助,以保證數據的一致性。而線程間可以通過直接讀/寫同一進程中的數據段(如全局變量)來進行通信。

舉例:QQ 和瀏覽器是兩個進程,瀏覽器進程里面有很多線程,例如 HTTP 請求線程、事件響應線程、渲染線程等等,線程的并發(fā)執(zhí)行使得在瀏覽器中點擊一個新鏈接從而發(fā)起 HTTP 請求時,瀏覽器還可以響應用戶的其它事件。

進程狀態(tài)的切換

操作系統(tǒng)之進程管理

  • 就緒狀態(tài)(ready):等待被調度
  • 運行狀態(tài)(running)
  • 阻塞狀態(tài)(waiting):等待資源

應該注意以下內容:

  • 只有就緒態(tài)和運行態(tài)可以相互轉換,其它的都是單向轉換。就緒狀態(tài)的進程通過調度算法從而獲得 CPU 時間,轉為運行狀態(tài);而運行狀態(tài)的進程,在分配給它的 CPU 時間片用完之后就會轉為就緒狀態(tài),等待下一次調度。
  • 阻塞狀態(tài)是缺少需要的資源從而由運行狀態(tài)轉換而來,但是該資源不包括 CPU 時間,缺少 CPU 時間會從運行態(tài)轉換為就緒態(tài)。

更多內容請關注每日編程,每天進步一點。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多