分佈式系統 第三章 進程
3.1線程
進程
- 執行中的程序,程序的實例,是資源分配和獨立運行的基本單元
- 組成
線程
- 是CPU調度單位,而進程只作爲其他資源分配單位
- 優點:減小併發執行的時間和空間開銷(線程的創建、退出和調度),因此在系統中建立更多的線程來提高併發程度
使用場景
- 對資源的管理和保護要求高,不限制開銷和效率時,使用多進程
- 要求效率高,頻繁切換時,資源的保護管理要求不是很高時,使用多線程
線程的實現
-
用戶級線程(用戶空間)
- 線程庫管理線程
- 優點/缺點
-
內核級線程(內核空間)
- 操作系統內核管理線程
- 優點/缺點
-
用戶內核組合方法
分佈式系統中線程的使用
-
多線程客戶-Web瀏覽器
- 多線程與多臺服務器建立連接,並行傳輸數據
-
多線程服務器
- 分發工作者線程的請求
3.2虛擬化
3.2.1虛擬化在分佈式系統中的作用
- 移植舊有軟件的底層接口到新平臺
- 靈活性;通過讓每個應用程序運行在自己的虛擬機上爲用戶提供服務,減少平臺和機器的種類
3.2.2虛擬機體系結構
-
進程虛擬機
- 構建一個運行時(runtime)系統
-
虛擬機監視器