2.1進程與線程(1)

2.2.1 進程

一. 進程的概念與特徵
  1. 定義:
    (1)進程是程序的一次執行過程。
    (2)進程是一個程序及其數據在處理機上順序執行時所發生的活動。
    (3)進程是具有獨立功能的程序在一個數據集合上運行的過程,它是系統資源和調度的獨立單位
  2. 進程實體 = 程序段 + 數據段 + (進程控制塊)PCB
    PCB是進程存在的唯一標誌
  3. 組織方式:
    (1)鏈接方式
    (2)索引方式
  4. 特徵:
    (1)動態性:(最基本的特徵) 是程序的一次執行過程。
    (2)併發性
    (3)獨立性
    (4)異步性:以不可預知速度向前推進,爲此操作系統必須配置進程同步機制
    (5)結構性:由程序段 + 數據段 + PCB組成。
二. 進程的狀態與轉換

進程有五種狀態,前三種爲基本狀態

  1. 狀態
    (1)運行態:進程正在CPU上運行。
    (2)就緒態:進程獲得除CPU外的一切資源,一旦得到處理機,即可運行。
    (3)阻塞態:等待某資源爲可用。(例如:等待打印機的使用)
    (4)創建態:進程正在被創建。
    (5)結束態:進程正從系統消失。
  2. 狀態轉換
    在這裏插入圖片描述
三. 進程的控制

進程的控制主要對系統中所有進程實施有效的管理。
一般用原語來實現,採用“關中斷指令”和“開中斷指令”,即特權指令。

  1. 進程的創建
  2. 進程的終止
  3. 進程的阻塞和喚醒(成對出現)
  4. 進程的切換
四. 進程的通信
  1. 共享存儲(例如:共享內存和共享文件)
    分爲兩種:數據結構共享,存儲區共享
    注:兩個進程對共享空間的訪問是互斥的
  2. 消息傳遞(以格式化的消息爲單位)
    分爲兩種:直接通信方式(緩衝隊列),間接通信方式(信箱)
  3. 管道通信(pipe)
    (1)管道只能採用“半雙工通信”,即單向傳輸。若要互相通信,則需要兩個管道。
    (2)寫滿時,不能再寫。讀空時,不能再讀。
    (3)沒寫滿,不能讀。沒讀空,不能寫。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章