軟考架構師-操作系統基礎

一、進程

進程通常由程序、數據集合、進程控制塊PCB組成。

PCB是進程的唯一標識,操作系統就是根據進程PCB來感知進程的存在的,並依此對進程進行管理和控制。

PCB有三種組織方式

線性方式 把PCB組織在一張線性表中,每次查找需要掃描全表。
連接方式 吧具備同一狀態的PCB,用其中的鏈接字鏈接成一個隊列,PCB存儲在一個連續的區域。
索引方式 把同一狀態的的進程歸入一個索引表,多個狀態對應不同的索引表。

 

 

 

 

二、前驅圖

前驅圖是一個有向無循環圖,由節點和有向邊組成,節點代表各個節點的操作,而節點間的有向邊表示兩個程序段操作之間的前趨關係。

用這種圖可以描述多個程序或進程之間的執行順序。

 

【程序的順序執行】
一個應用程序由若干程序段組成,每一程序段完成特定的功能,他們在執行時,都要按照某種先後次序執行,僅當前一程序段執行完後,再運行後一程序段,這種執行過程被稱爲程序的順序執行。

程序順序執行時,具有以下三個特徵:

順序性:處理機的操作嚴格按程序規定順序執行
封閉性:程序一旦開始執行,其計算結果不受外界因素影響
可再現性:程序執行只要初始條件一樣,不論如何停頓,重複執行多少次結果都一樣
【程序的併發執行】
程序順序執行時,雖然減少了開發週期,但系統資源的利用率卻很低,爲此,在系統中引入了多道程序技術,使得程序或程序段間能併發執行。

事實上,並非所有的程序都能並非執行,只有不存在前趨關係的程序之間纔可能併發執行。

程序併發執行時,具有以下三個特徵:

間斷性:在執行過程中,由於要共享資源與相互合作,使得這些併發的程序間形成了相互制約的關係,從而導致了 “ 執行 — 暫停 — 執行 ” 這種間斷性的活動規律。
失去封閉性:由於共享資源,資源狀態由多道程序改變,程序運行失去了封閉性,即程序運行受其他程序的影響。
結果不可再現性:結果的不確定,使得程序執行將沒有任何意義

三、PV操作

1)P操作

   a. 將信號量S的值減去1,即S = S -1 

   b. 如果S>=0 ,則程序繼續執行;否則該進程置爲等待狀態

2)V操作

   a. 將信號量S的值加上1,即S = S +1 

   b. 如果S>0 ,則進程繼續執行;否則說明有等待隊列的等待進程,需要喚醒等待;

 

四、 存儲管理

有分區存儲、分段存儲、分頁存儲、段頁式存儲以及虛擬存儲;

這部分要知道計算方案;參考:https://blog.csdn.net/u010293698/article/details/48913295

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章