作業系統題目總結

2021-09-13 11:28:28 字數 2542 閱讀 5613

1、某系統採用分頁儲存管理(paging),頁長(page size)為 1k(1024),該程序分頁後 0、1、2三頁分別裝入到主存的 1、2、4 幀(frame)。現有一邏輯位址(logical address)為 2048,頁 內位址(page offset)為(  )。

答案 : 0

頁號 = 邏輯位址 / 頁長

頁內位址 = 邏輯位址 % 頁長

2、假設5 個程序 p0、 p1、 p2、 p3、 p4 共享三類資源 r1、 r2、 r3,這些資源總數分別為18、 6、 22。 t0 時刻的資源分配情況如下表所示,此時存在的乙個安全序列是( )。

答案:d

資源總數為18.6.22,以及分配資源之和為16.3.19,故可用資源為2.3.3;

執行緒的所需資源 = 資源最大需求 – 已分配資源

故五個執行緒所需資源為:2,2,7;1,3,3;0,0,6;2,2,1;1,1,0

由於安全序列程序所需資源需在可用資源裡面獲取,故第乙個程序應為p1,p3或

p4,故ac錯,當第乙個程序為p1時,當p1執行完畢釋放它所占有的全部資源,

可用資源變為6.3.6,由於p0所需資源為2.2.7,故不能滿足,b錯。

3、用於解決cpu指令亂序、編譯器重排、多cpu記憶體同步等帶來的問題的機制是?

答案:記憶體屏障

記憶體屏障:也稱記憶體柵欄,屏障指令等,是一類同步屏障指令,使得cpu或編譯器在

對記憶體隨機訪問中的乙個同步點,使得此點之前的所有讀寫操作都執行完才可以開始

執行此點後的操作。

大多數現代計算機為了提高效能而採取亂序執行,這使得記憶體屏障稱為必須。

語義上:記憶體屏障之前的所有讀寫操作都要寫入記憶體,記憶體屏障之後的所有操作都可以獲得同步屏障之前的寫操作的結果。

順便講講其他選項

volatile關鍵字:

例子:

volatile int i = 10;

int j = i;

…int k = i;

volatile關鍵字相當於告訴編譯器這個變數是隨時可能發生變化的,故每次使用它

都必須從記憶體位址中獲取,因而編譯器生成的可執行**會重新從i的位址讀取放入

k中。volatile影響編譯器編譯的結果,故與volatile變數有關的運算,不要進行編譯優

化。編輯器優化:

由於編譯器發現兩次從i中獲取的資料之間的操作並沒有對i進行過操作,故它會自

動把上次讀取的放入k中,而不是重新從i中讀取。

自旋鎖:

跟互斥鎖類似,在任何時刻最多只能有乙個保持著,跟互斥鎖在排程機制上有不同,

互斥鎖在資源已經被占用時,進入睡眠狀態,而自旋鎖是由呼叫者一直迴圈知道鎖釋

放。訊號量(semaphore):

它是乙個計算器,用於控制同時訪問某個特定資源的運算元量,或者執行某個特定操作的數量。

在進入乙個執行緒之前,執行緒必須獲得乙個訊號量(許可),並在使用之後釋放許可。當沒有訊號量(許可),那 麼請求將阻塞直到有許可。

例子:以乙個停車場的運作為例。簡單起見,假設停車場只有三個車位,一開始三個車位都是空的。這時如果同時來了五輛車,看門人允許其中三輛直接進入,然後放落車攔,剩下的車則必須在入口等待,此後來的車也都不得不在入口處等待。這時,有一輛車離開停車場,看門人得知後,開啟車攔,放入外面的一輛進去,如果又離開兩輛,則又可以放入兩輛,如此往復。

4、設計實時作業系統必須首先考慮系統的( )。

答案:可靠性、實時性。

實時作業系統的效率一般比分要低,是適當犧牲了效率來保障實時。

5、選擇排隊作業中等待時間最長的作業優先排程,該排程演算法是()。

答案:先來先服務排程方法(fcfs first come first service)

下面講講程序的排程演算法:

不同環境的排程演算法目標不同,因此需要針對不同環境來討論排程演算法。

互動式系統互動式系統有大量的使用者互動操作,在該系統中排程演算法的目標是快速地進行相應。

1、程序與程式的乙個本質區別是()。

答案:前者的動態的,後者是靜態的。

程序跟程式的區別:

2、計算機通過mic(話筒介面)收到的訊號是()。

答案:音訊模擬訊號。

3、處理外部中斷時,應該由作業系統儲存的是()。

答案:通用暫存器的內容。

作業系統飢餓現象 作業系統面試題目總結

程序和執行緒的關係 程序與執行緒的區別 為什麼程序上下文切換比執行緒上下文切換代價高?程序切換分兩步 對於linux來說,執行緒和程序的最大區別就在於位址空間,對於執行緒切換,第1步是不需要做的,第2是程序和執行緒切換都要做的 切換的效能消耗 執行緒和程序的區別是什麼?www.zhihu.com 同...

作業系統PV程式設計題目總結一

這是讀者 寫者問題變形,檔案f在a與b之間要進行互斥,設訊號量fmutex用來兩組間互斥,顯然每組的讀者要進行計數,來說明有木有某組在讀檔案,需要2個計數變數c1和c2,再設訊號量asem和bsem分別對2個計數變數c1和c2進行互斥訪問。這個問題是讀者 寫著問題的變形,路口要在水平和垂直方向上進行...

作業系統總結

老師每次都要求我們考試之後,要再次看書,去做到真正的學習。我們在前一段時間的學習都是都是在積累,還沒有真正的收穫,這次我嚴格按照要求做到,也算是督促自己能夠養成好的習慣吧。這次我看書花費了乙個小時,但感覺很有收穫。先說一下再看之後的總體感受吧,考完之後忽然就覺得世界亮了 這裡說的有點誇張了 心裡總算...