计算机操作系统之三:进程与线程的描述与控制
3.1 進程的引入
3.1.1 程序的并發執行及特點
為了提高計算機的利用率、處理速度和系統的處理能力,并行處理技術和并發程序設計技巧在計算機中得到廣泛應用,成為現代操作系統的基本特征之一。所謂程序的并發執行是指:若干個程序段同時在系統中運行,這些程序段的執行在時間上是重疊的,一個程序段的執行尚未結束,另一個程序段的執行已經開始,及時這種重疊式很小的一部分。
3.1.2 并發執行的特點
- 程序執行的間斷性(異步性)
- 資源分配的動態性
- 程序并發執行的相互制約性
- 相互通信的可能性
- 同步與互斥的必要性:有合作關系的各程序不僅需要相互通信,而且還要隨時調整他們之間的相對速度,這就是同步的必要性,另外,系統中的許多資源必須是互斥使用的,否則會引起并發系統中所特有的不確定性錯誤,這些就是互斥的必要性。
3.2 進程的概念
3.1.1 進程的定義
進程是一個具有一定獨立功能的程序在一個數據集合上運行的過程,它是系統進行資源分配和調度的一個獨立單元。3.1.2 進程的特點
- 動態性:進程是一個動態的概念,而程序是一個靜態的概念。程序是指令的有序集合,其本身沒有任何運行的含義。而進程是程序在處理機上的一次執行過程,具有生命期,它動態的被創建,并被調度執行,執行完成后銷往。
- 并發性。
- 獨立性。
- 制約性:主要表現在護持的使用資源和相關進程之間必要的同步和通信。
- 結構性:進程由程序、數據集合和描述其運行過程的數據結構(PCB)組成。
3.1.3 進程控制塊
在操作系統中,進程包括三部分:程序,數據和進程控制塊(PCB)。PCB是一個數據結構,用來存儲進程以及與其相關的信息。在實際操作系統中,PCB的大小和個數是一定的,系統會為每個進程分配一個PCB結構,操作系統只有通過PCB才能感知進程的存在,因此操作系統中PCB的個數就是該系統可最大并行的進程數。
3.1.4 進程控制
所謂的進程控制,是指存在于操作系統代碼中的一段用于對進程進行調度和控制的程序段,它主要通過控制PCB來調控進程。
前面說過,操作系統是分層的結構,總體上分成內核和外殼兩部分,這樣,處理器在運行的時候,為了避免內核中信息被用戶程序篡改,因此處理器分成了兩個運行狀態:核心態和用戶態。其中,核心態用來運行操作系統的內核,用戶態用來運行操作系統的外殼和用戶程序
3.3 進程的狀態
具有掛起狀態的進程狀態轉化模型如上圖所示。一些狀態的說明:
狀態轉換的說明:
 
3.4 線程的概念
進程的引入可以實現并行計算,線程的引入可以進一步提高系統的并發性。一個進程可以擁有多個線程,這些線程共享同一地址空間,他不擁有系統資源,且只需要很少在運行時必不可少的硬件,因此線程在創建,撤銷,切換等環節所需要的時空開銷比進程要少的多。3.5 線程的狀態
線程的狀態與進程的狀態差不多,只是沒有掛起狀態,由于對于同一個進程其所有的線程共享同一個地址,因此
如果一個進程被換出,它所有的線程也都被換出,可以理解為進程的狀態和線程的狀態不是一個層面上的,且進程的狀態往往決定了他所有的線程的狀態。
3.6 線程與進程的比較
- 調度分派。線程是可調度的工作單元,在有線程的進程中,進程不再成為調度的基本單位。
- 資源擁有。進程擁有資源,線程不擁有資源,只是使用進程的資源。
- 地址空間。不同進程的地址空間是相互獨立的,同一進程的各線程共享同一地址空間。
- 一個進程可以擁有多個線程,反過來不行。
- 通信關系。進程間的通信需要使用系統的通信機制,同一進程中的各線程可以通過直接讀寫數據段(如全局變量)來進行通信。
3.7 用戶級線程和內核級線程
3.7.1 線程的類型
根據對線程控制方式的不同,線程可分為內核級線程和用戶級線程。
- 內核級線程。這類線程的控制(線程的創建等)依賴于內核,內核知道該線程。
- 用戶級線程。這類線程的控制不依賴于內核,而是他所屬的進程通過線程庫進程的創建等控制,內核不知道該線程。
3.7.2 線程的調度和切換速度
線程的調度方法有搶占方式和非搶占方式,其調度算法有時間片輪轉法、優先權法等。
3.7.3 系統調用
當用戶進程調用一個系統調用時,根絕線程的類型不同,調用的方式也不同。
- 內核級線程在調用的時候,由于內核知道該線程的存在,因此該線程作為基本的調度單位,該線程被阻塞,但是該進程中的其他線程仍然可以運行。
- 用戶級線程在調用的時候,由于內核不知道該線程的存在,因此在調度的時候,只能看成是進程級的調用,因此整個進程被阻塞,去執行系統調用。
 
 
 
總結
以上是生活随笔為你收集整理的计算机操作系统之三:进程与线程的描述与控制的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 一沙一世界,一叶一菩提
- 下一篇: 一分耕耘一分收获,精诚所至金石为开
