日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

单处理机系统的进程调度动态优先_操作系统复习笔记(王道)C2.1

發布時間:2024/7/23 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单处理机系统的进程调度动态优先_操作系统复习笔记(王道)C2.1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進程與線程


一、進程特征和概念

前提:允許多個程序并發執行。

1.概念

PCB(process control block)進程控制塊,系統利用 PCB 來描述進程的基本情況和運行狀 態,進而控制和管理進程。

PCB是進程存在的唯一標志。

進程是進程實體的運行過程,是系統進行資源分配和調度的一個獨立單位。

2.特征

  • 動態性:進程是程序的一次執行,所以他是有生命周期的。(基本特征)
  • 并發性:引入進程的目的就是為了程序能夠并發執行。
  • 獨立性:一個進程就是一個獨立的個體
  • 異步性:由于進程的相互制約,使得進程具有執行的間斷性。
  • 結構性:一個進程實體由程序段、數據段和進程控制塊三部分組成。

二、進程的狀態與轉換

  • 創建態
  • 就緒態
  • 運行態
  • 阻塞態
  • 結束態
  • 幾個比較重要的轉換:

    就緒態→運行態:獲得處理機資源(時間片)。

    運行態→就緒態:獲得的時間片用完,或者在可剝奪的操作系統中被更高優先級的進程搶走時間片。

    運行態→阻塞態:請求某一資源,或者等待某一事件發生。

    進程以系統調用的形式請求操作系統提供服務,這是一種特殊的、由運行用戶態程序調用操作系統內核過程的形式。

    阻塞態→就緒態:等待的事件到來時。


    三、進程控制

    1.進程的創建

    允許一個進程創建另一個進程,就是父進程和子進程。

    創建過程如下:

    1)分配唯一進程標志號,申請一個空白的PCB(有限的)。沒有就創建失敗了。

    2)分配資源,分配用戶棧和內存資源,若資源不足就處于阻塞態,直到有資源被釋放。

    3)初始化PCB。(標志信息、處理機狀態信息、處理機控制信息、設置進程的優先級等。)

    4)如果就緒隊列未滿,就插入就緒隊列,等待被調度。

    2.進程的終止

    通常引起終止的事件

    • 正常結束
    • 異常結束
    • 外界干預

    終止過程:

    1)根據標志符檢索PCB,讀取該進程狀態。

    2)如處于執行狀態,立即終止執行,處理器資源也分出去。

    3)若還有子孫進程,則終止其子進程。

    4)將該進程的資源還給父進程(沒有就還給操作系統)。

    5)將PCB從所在隊列(鏈表)刪除。

    3.進程的阻塞與喚醒

    阻塞:

    1)找到PCB

    2)若為運行態,則保護現場,然后轉為阻塞態

    3)將該PCB插入等待隊列,交出處理機資源

    喚醒:

    1)在等待隊列中找到PCB

    2)將其從隊列中移出,設置為就緒態

    3)插入就緒隊列,等待調度

    4.進程切換

    進程切換是指處理機從一個進程的運行轉到另一個進程上運行。

    1)保存處理機上下文,包括程序計數器和其他寄存器

    2)更新 PCB 信息

    3)把進程的 PCB 移入相應的隊列,如就緒、在某事件阻塞等隊列。

    4)選擇另一個進程執行,并更新其 PCB

    5)更新內存管理的數據結構。

    6)恢復處理機上下文


    四、進程的組織

    一個進程由以下三部分組成,最核心的就是PCB

    1.進程控制塊

    PCB是進程實體的一部分,是進程存在的唯一標志。

    主要包括:描述信息、進程控制和管理信息、資源分配清單、和處理機關信息等。

    1)描述信息:PID進程標識符,UID用戶標識符。

    2)進程控制和管理信息:進程當前的狀態,優先級等信息。

    3)資源分配清單:說明有關內存地址的狀況。

    4)處理機相關信息:主要指處理機中各寄存器的值。

    2.程序段

    3.數據段


    五、進程的通信

    管道可以理解為共享存儲的優化和發展 ,因為在共享存儲中,若某進程要訪問共享存儲空間, 則必須沒有其他進程在該共享存儲空間中進行寫操作,否則訪問行為就會被阻塞。管道通信中,存儲空間進化成了緩沖區,緩沖區只允許一邊寫入、另一邊讀出,因此只要緩沖區中有數據,進程就能從緩沖區中讀出,而不必擔心會因為其他進程在其中進行寫操作而遭到阻塞。

    六、線程概念和多線程模型

    1.概念

    線程由線程ID、程序計數器、寄存器集合和堆棧組成。

    線程是進程中的一個實體。

    有了線程這個概念后,進程作為除了CPU之外的系統資源分配單元,而線程則作為處理機的分配單元。

    2.線程和進程的比較

    1)調度

    線程是獨立調度的基本單位,進程是擁有資源的基本單位。

    也就是說,一個進程內的線程可以切換到另一個進程內的一個線程,但是資源不能。

    2)擁有資源

    線程不擁有系統資源

    3)并發性

    多個進程可以并發執行,多個線程也可以并發執行。

    4)系統開銷

    創建和撤銷進程時,涉及到很多系統資源的分配和回收。但是線程不擁有系統資源,創建和撤銷系統則不需要付出那么大的開銷。同樣,線程間的切換也比進程間的切換更容易實現。

    5)地址空間和其他資源

    進程之間互相獨立。

    線程之間共享該進程的資源。

    6)通信

    進程間通信需要互斥手段的輔助。

    線程可以直接讀寫進程數據段來實現通信。

    3.線程的屬性

    1)線程不擁有系統資源,但擁有唯一的標識符和一個線程控制塊。

    2)不同的線程可以執行相同的程序

    3)同一進程中各個線程共享該進程所擁有的資源

    4)線程是處理機的獨立調度單元,多個線程可以并發執行。

    5)線程生命周期也會有阻塞、就緒、運行等狀態

    4.線程的實現方式

    分為兩大類:

    用戶級線程、內核級線程

    5.多線程模型

    1)多對一:

    多個用戶級線程映射到一個內核級線程

    2)一對一

    一個用戶級線程映射到一個內核級線程

    3)多對多

    n個用戶級線程映射到m個內核級線程

    總結

    以上是生活随笔為你收集整理的单处理机系统的进程调度动态优先_操作系统复习笔记(王道)C2.1的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。