計算機操作系統基礎筆記 操作系統有哪些狀態( 三 )


間接通信方式:信箱,消息緩沖隊列通信機制
3. 管道通信
4. 客戶機–服務器系統
套接字,遠程過程調用和遠程方法調用
線程進程的兩個特點:資源所有權,調度/執行 。調度和分派的部分通常稱為線程或輕便進程,而資源所有權的部分通常稱為進程 。
屬性:
1. 輕型實體
2. 獨立調度和分派的基本單位
3. 可并發執行
4. 共享進程資源
多線程OS中的進程屬性:(1) 作為系統資源分配的單位 。(2) 可包括多個線程 。(3) 進程不是一個可執行的實體 。
分類:
1. 用戶級線程,用戶級線程在用戶空間實現,無需得到內核的支持,調度算法由線程庫提供 。
2. 內核支持線程,內核支持線程的TCB被它的保存在核心空間中,它的運行需獲得內核的支持 。
3. (用戶級線程和核心級線程的結合,LWP)
內核支持線程即無論 是用戶進程中的線程,還是系統進程中的線程,他們 的創建、撤消和切換等,是依靠內核實現的 。
在內核空間中為每一個內核支持線程設置了一個線 程控制塊TCB,內核是根據該控制塊而感知某線程的 存在的,并對其加以控制
優點(1) 在多處理器系統中,內核能夠同時調度同一進程中多 個線程并行執行;
(2) 如果進程中的一個線程被阻塞了,內核可以調度該進 程中的其它線程占有處理器運行,也可以運行其它進程 中的線程;
(4) 內核本身也可以采用多線程技術,可以提高系統的執 行速度和效率 。
缺點對于線程切換而言,其模式切換的開銷較大,在同一個進程中,從一個線程切換到另一個線程時 ,需要從用戶態轉到內核態進行,這是因為用戶進程的線程在用戶態運行,而線程調度和管理是 在內核實現的,系統開銷較大 。
實現在僅設置了內核支持線程的OS中,一種可能的線程控制方法是,系統在創建一個新進程時,便為它分配 一個任務數據區PTDA(Per Task Data area),其中包括若干個線程控制塊TCB空間
用戶級線程用戶級線程僅存在于用戶空間中 。對于這種線程的創建、撤消、線程之間的同步與通信等功能,都無須內核來實現 。

  • 由應用程序完成所有線程的管理
    通過線程庫(用戶空間):一組管理線程的函數線程庫來 提供一個線程運行管理系統(運行系統)
  • 內核不知道線程的存在
  • 線程切換不需要核心態特權
  • 調度算法可以是進程專用的
優點線程切換不調用內核
調度是應用程序特定的:可以選擇最好的算法
可運行在任何操作系統上(只需要線程庫),可以在一 個不支持線程的OS上實現
缺點大多數系統調用會引起進程阻塞,并且是進程中所有線 程將被阻塞
內核只將處理器分配給進程,同一進程中的兩個線程不 能同時運行于兩個處理器上
實現所有用戶級線程都具有相同的數據結構,它們都運行在一個中間系統上
(1)運行時系統
是用于管理和控制線程的函數的集合,又稱為線程庫 。
(2)內核控制線程
線程的同步這種線程又稱為輕型進程LWP(Light Weight Process )
1. 互斥鎖
2. 條件變量
3. 信號量機制
使用線程的優點
  1. 在一個已有進 程 中 創 建 一 個 新 線 程 比 創 建 一 個全新進程所需的時間少 。
  2. 終止一個線程比終止一個進程花費的時間少。
  3. 線程間切換比進程間切換花費的時間少 。
  4. 線程提高了不同的執行程序間通信的效率。同一個進程中的 線程共享存儲空間和文件,它們無需調用內核就可以互相通信 。
進程同步經典問題處理機調度和死鎖調度的目標:
1、提高處理機的利用率
2、提高系統吞吐量
3、盡量減少進程的響應時間
4、防止進程長期得不到運行
調度方式和算法的選擇,取決于操作系統的類型及其目標 。
選擇準則(面向系統):
1. 系統吞吐量
2. 處理機利用率
3. 各類資源的平衡利用
選擇準則(面向用戶):
1. 周轉時間
2. 響應時間
3. 截止時間的保證

推薦閱讀