糯米文學吧

位置:首頁 > 計算機 > 計算機四級

全國計算機四級操作系統論述題2016

為了幫助考生們熟悉操作系統的論述題,以下小編特地提供了計算機四級操作系統歷年論述題真題,希望能給予大家一定的幫助!

全國計算機四級操作系統論述題2016

  1.(1996年)進程通信就是進程之間進行信息交換。系統中各進程異步執行,但有些進程之間必須保持一定的聯繫,以便協調一致地完成指定任務。這種聯繫就是通過交換一定數量的信息來實現的。

消息緩衝通信技術是一種高級通信機制,由Hansen首先提出。其基本是:根據"生產者-消費者關係",利用公共消息緩衝區實現進程之間的信息交換。

(1)試敍述高級通信機制與低級通信機制P、V原語操作的主要區別。(5分)

(2)試敍述解釋消息緩衝通信技術的基本原理。(10分)

(3)消息緩衝通信機制中提供發送消息原語。Send(receiver,a)和接收消息原語Receive(a)。調用參數a分別表示發送消息的內存區首地址或接收進程的內存消息區首地址。試設計相應的數據結構,並用P、V操作原語實現Send和Receive原語。(15分)

答案:

(1)要點:進程間通信時所交換的信息量可多可少。少者僅是一些狀態和數據的.交換,或者僅是一個簡單的喚醒信號;多者可交換大量信息。前者稱為進程同步與進程互斥,亦稱進程間低級通信;後者通信方式稱為進程間高級通信。

(答出要點給3分,根據組織情況再給2分)

(2)要點:①由操作系統在系統空間維護一組緩衝區;

②由操作系統提供兩個進程高級通信原語Send和Receive;

③發送進程要發送消息時,執行Send系統調用命令,產生自願性中斷進入操作系統

核心;

④操作系統為發送進程分配一個空緩衝區,並將所發送的消息內容從發送進程空間拷貝到該緩衝區中;然後將此緩衝區連接到接收進程的消息隊列尾;發送進程就完成了發送,返回到用户態繼續執行;

⑤當接收進程執行到receive系統調用命令時,也產生自願性中斷,進入操作系統核心;

⑥操作系統將載有消息的緩衝區從消息隊列中取出,並將消息內容拷貝到接收進程空間中,然後收回空閒緩衝區;接收進程完成了消息接收,返回到用户態繼續執行;

(①、②、④、⑥為2分;③、⑤為1分)

(3)要點:①消息緩衝區的數據結構為:

TypeMessage=Recoud

Sender(消息發送者)

Size(消息長度)

text(消息正文)

pointer(消息隊列指針)

End,

②設置信號如下:

*每個接收進程有一個m-mutex:互訴對消息隊列的操作,初值為1;

*buffe:空閒緩衝區,初值為空閒緩衝區個數;

*b-mutex:互訴操作空閒緩衝區,初值為為1;

*message:管理接收進程消息,初值為0;

③Send(receiver,a)

Begin

根據參數R尋找接收進程,如果未找到,則出錯返回;

P(buffer);

P(b-mutex);

從消息緩衝區鏈上摘取一個空閒消息緩衝區;

V(b-mutex);

將消息長度及消息正文由a指示由發送區拷貝到消息緩衝區中;

將發送進程的名字也記錄在該緩衝區中;

P(m-mutex);

將消息緩衝區掛到接收進程消息鏈的尾部;

V(m-mutex);

V(mmssage)

End.

④Receive(a)

Begin

P(message);

P(m-mutex);

從消息隊列中取一個載有消息的緩衝區;

V(m-mutex);

將消息長度及肖息正文由消息緩衝區拷貝到接收區(由a指示);

P(b-mutex);

將空閒緩衝區掛到系統消息緩衝區鏈尾;

V(b-mutex);

V(buffer);

End.

(①3分②4分③4分④4分③,④重點在P,V操作)

  2.(2000年)

(1).進程調度的主要功能。(8分)

(2).何時可進行進程調度?(8分)

(3).進程調度算法解決以何種次序對各就緒進程進行處理機的分配以及按何種時間比例讓進程佔用處理機。時間片輪轉進程調度算法的基本思想是什麼?時間片的大小對系統有什麼影響?在選取時間片時應考慮哪些因素?(14分)

答案:(1).進程調度的主要功能是:

①.記錄系統中所有進程的執行狀況;(2分)

②.根據一定的調度算法,從就緒隊列中選出一個進程來,準備把CPU分給它;(2分)

③.把CPU分配給進程,即把選中的進程控制塊內在關的現場信息,如程序狀態字,通用寄存器的內容送入處理器相應的寄存器中,從而讓它佔用CPU運行.(4分)

(2).進程調度的時機是:

①.正在執行的進程運行完畢;(1分)

②.正在執行的進程調用阻塞原語或P原語操作將自己阻塞起來進入等待狀態;(2分)

③.執行中的進程提出I/O請求後被阻塞;(1分)

④.在分時系統中時間片已經用完;(2分)

以上都是在CPU為不可剝奪方式下引起進程調度的原因.在CPU方式為可剝奪時,有以下原因:

⑤.就緒隊列中的某個進程的優先級變得高於當前運行進程的優先級,從而也將引起進程調度.(2分)

(3).時間片輪轉法(RR):

這主要是分時系統中使用的一種調度算法.時間片輪轉法的基本思想是:將CPU的處理時間劃分成一個個時間片(2分),就緒隊列中的諸進程輪流運行一個時間片(2分).當時間片結束時,就強迫運行進程讓出CPU,該進程進入就緒隊列,等待下一次調度(1分).同時,進程調度又去選擇就緒隊列中的一個進程,分配給它一個時間片,以投入運行(1分)

在輪轉法中,時間片長度的選擇非常重要,將直接影響系統開銷和響應時間(1分).如果時間片長度很小,則調度程序剝奪處理機的次數頻繁,加重系統開銷(2分);反之,如果時間片長度選擇過長,比方説一個時間片就能保證就緒隊列中所有進程都執行完畢,則輪轉法就退化成先進先出算法(2分)