【操作系統】《計算機操作系統》湯小丹 第2章 進程的描述和控制


博主:海底淤泥

1.什么是前趨圖?為什么要引入前趨圖?

  前趨圖:一個有向無循環圖,它用於描述進程之間的先后順序

  作用:更好描述程序的順序和並發執行情況

2.試畫出下面四條語句的前趨圖

S1:a=x+y  S2:b=z+1  S3:c=a-b  S4:w=c+1

  S1->S3  S2->S3  S3->S4

3.為什么程序並發執行會產生間斷特征?

  程序在並發執行時,由於它們共享系統資源,以及為完成同一項任務相互合作,至使在這些並發程序之間形成了相互制約的關系

4.程序並發執行時為什么會失去封閉性和可再現性?

  失去封閉性:當系統存在着多個可以並發執行的程序時,系統中的各種資源將為它們所共享,而這些資源的狀態也由這些程序來改變,導致其中任意程序運行時,其環境都必然會受到其他程序的影響。

  失去可再現性:程序並發執行時,由於失去了封閉性,其計算結果必然將與並發程序的執行速度有關,從而使程序的執行失去了可再現性

5.在操作系統中為什么要引入進程的概念?它會產生什么影響?

  為了使程序並發執行,並且可以對並發執行的程序加以描述和控制,人們引入了“進程”的概念。

  影響:使程序並發執行,進程實體和其他進程實體並發執行

6.試從動態性、並發性、和獨立性上比較進程和線程

  動態性:進程實體有一定生命期,是動態的;而程序是一組有序指令集合,並存放在某種介質上,其本身不具有活動意義,是靜態的

  並發性:進程可以並發執行,沒有PCB的程序是不能並發執行的

  獨立性:進程實體是一個能獨立運行,獨立獲得資源和獨立接受調度的基本單位。未建立PCB的程序不能作為一個獨立的單位參與運行

7.試說明PCB的作用具體表現在什么方面,為什么說PCB是進程存在的唯一標志?

  PCB描述進程是基本情況和活動過程,進而控制和管理進程。

  創建進程:創建進程實體的PCB

  撤銷進程:撤銷進程實體的PCB

8.PCB提供了進程管理和進程調度所需要的哪些信息?

  1.進程標識符  2.處理機狀態  3.進程調度信息  4.進程控制信息

9.進程控制塊的組織方式有哪幾種?

  1.線性方式  2.連接方式  3.索引方式

10.何謂操作系統內核?內核的主要功能是什么?

  通常將一些硬件緊密相關的模塊、各種常用設備的驅動程序以及運行頻率較高的模塊,都安排在緊靠硬件的軟件層次中,將它們常駐內存,被稱為操作系統內核

  功能:1.對重要軟件進行保護,防止遭到其他程序的破壞  2.提高OS的運行效率

11.試說明進程在三個基本狀態之間轉換的經典原因

  就緒->執行:進程調度

  執行->就緒:時間片完

  執行->阻塞:I/O請求

  阻塞->就緒:I/O完成

12.為什么要引入掛起狀態?該狀態有哪些性質?

  原因:1.終端用戶的需要  2.父進程的請求  3.負荷調節的需要  4.操作系統的需要

  性質:1.若程序正在執行,將暫停執行  2.若原本處於就緒狀態,則該程序不接受調度

13.在進行進程切換時,所要保存的處理機狀態信息有哪些?

  1.通用寄存器  2.指令計數器  3.程序狀態字PSW  4.用戶棧指針

14.試說明引起進程創建的主要事件。

  1.用戶登錄  2.作業調度  3.提供服務  4.應用請求

15.試說明引起進程被撤銷的主要事件

  1.正常結束  2.異常結束  3.外界干預

16.在創建一個進程時所要完成的主要工作是什么?

  1.申請空白PCB  2.分配其運行所需的資源  3.初始化進程控制模塊PCB  4.插入就緒隊列

17.在撤銷一個進程時所要完成的主要工作是什么?

  1.讀出PCB狀態  2.終止進程  3.終止子進程  4.歸還資源  5.將PCB移除所在隊列

18.試說明引起進程阻塞或被喚醒的主要事件是什么?

  1.向系統請求共享資源失敗  2.等待某種操作的完成  3.新數據尚未到達  4.等待新任務的到達

19.為什么要在OS中引入線程?

  解決單處理機環境下的程序並發問題

20.試說明線程具有哪些屬性?

  1.是調度的基本單位  2.並發性  3.擁有資源  4.獨立性  5.系統開銷小  6.支持多處理機系統

21.試從調度性、並發性、擁有資源及系統開銷方面對進程和線程進行比較

  調度性:線程的調度只需保存少量寄存器內容,代價遠低於進程

  並發性:不但不同進程的線程可以並發執行,統一進程的線程也可以並發執行,有效提高系統吞吐量

  擁有資源:進程可以擁有系統資源,線程僅有一點不可缺少的能保證獨立運行的資源

  系統開銷:線程的系統開銷遠低於進程的系統開銷

22.線程控制塊TCB中包含了哪些內容?

  1.線程標識符  2.一組寄存器  3.線程運行狀態  4.優先級  5.線程專有存儲區  6.信號屏蔽  7.堆棧指針

23.何謂用戶級線程和內核支持線程

  內核支持線程KST:在OS中所有進程都是在操作系統內核支持下運行的。

  用戶級線程ULT:用戶級線程是在用戶空間中實現的。對線程的創建、撤銷、同步與通信等功能,都無需內核的支持。

24.試說明用戶級線程的實現方法

  用戶級線程是在用戶空間中的實現的,運行在“運行時系統”與“內核控制線程”的中間系統上。

  運行時系統用於管理和控制線程的函數的集合。

  內核控制線程或輕型進程LWP可通過系統調用獲得內核提供服務,利用LWP進程作為中間系統。

25.試說明內核支持線程的實現方法

  系統在創建新進程時,分配一個任務數據區PTDA,其中包括若干個線程控制塊TCB空間。

  創建一個線程分配一個TCB,有關信息寫入TCB,為之分配必要的資源。

  當PTDA中的TCB  用完,而進程又有新線程時,只要所創建的線程數目未超過系統允許值,系統可在為之分配新的TCB。

  在撤銷一個線程時,也應回收線程的所有資源和TCB。

26.多線程模型有哪幾種?多對一模型有何優缺點?

  三種:多對一模型、一對一模型、一對多模型

  優點:線程管理開銷小,效率高

  缺點:如果一個進程在訪問內核時發生阻塞,則整個進程將被阻塞。

      任意時刻,只有一個線程能訪問內核,多線程不能同時在多個處理機上運行

博主:海底淤泥


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM