北航操作系统课程-20200409课堂小测-进程同步
2020-04-09-課堂小測-進程同步
北京航空航天大學計算機學院-2020春操作系統課程
以下題目作者為北航計算機學院操作系統課程組,客觀題答案由課程組給出,解析及主觀題答案均為博主原創,水平有限,如有錯誤敬請批評指正。
1. 下面哪種情況不會產生數據競爭:(多選)
A. 兩個進程依次串行訪問共享變量
B. 兩個進程同時訪問共享變量,同時為讀
C. 兩個進程同時訪問共享變量,同時為寫
D. 兩個進程同時訪問共享變量,一個讀一個寫
答:A、B
數據競爭指的是多個進程同時訪問同一個共享變量, 并且至少有一個是寫。數據競爭時沒有機制防止進程對共享變量的同時訪問,其最終結果取決于進程訪問的次序。讀讀沒有問題,讀寫,寫寫都有問題。
2. 下面那些是臨界區方案需要滿足的條件:(多選)
A. 任何兩個進程不能同時進入臨界區
B. 不能事先假定CPU的個數和運行速度
C. 臨界區外的進程不能防礙其他進程進入臨界區
D. 一個進程不能在臨界區外無限等待
答:A、B、C、D
對臨界資源(如共享變量)進行訪問的的程序片段稱為臨界區,設置臨界區機制是為了避免數據競爭,題目四個選項都是臨界區需要滿足的條件,無需贅述。
3. 同步機制應該遵循的原則是:(多選)
A. 空閑讓進
B. 忙則等待
C. 有限等待
D. 讓權等待
答:A、B、C、D
題目的四個選項都是同步機制應該遵循的原則。空閑讓進指的是臨界資源處于空閑狀態,允許進程進入臨界區,但保證臨界區內僅有一個進程執行。忙則等待指的是有進程正在執行臨界區代碼,所有其他進程則不可以進入臨界區。有限等待指的是對要求訪問臨界區的進程,應在保證在有限時間內進入自己的臨界區,避免死等。讓權等待指的是當進程(長時間)不能進入自己的臨界區時,應立即釋放處理機,盡量避免忙等。
4. Peterson臨界區算法適合哪種情況的調度:(單選)
A. 搶占式
B. 非搶占式
答:A
Peterson臨界區算法是一種基于忙等的互斥方法,它在搶占式調度下可行,在非搶占式的調度下不可行,因為可能導致先進入的進程長時間霸占CPU。
5. 忙等待存在什么問題:(單選)
A. 節省CPU資源
B. 可能導致優先級反轉
答:B
忙等待期間CPU空轉,是耗費CPU資源的。忙等還會導致低優先級進程先進入而霸占CPU,出現高優先級等待低優先級的優先級反轉現象。
6. 關于PV操作錯誤的是:(單選)
A. 信號量如果使用不當,可能導致死鎖
B. 如果信號量小于1,對信號量的P操作會將進程掛起
C. S=5,進程A,B任意順序調用V(S)各一次,那么S不一定是7
D. 信號量能解決任何進程同步問題
答:C
信號量如果使用不當是可能導致死鎖的,設計同步算法時應避免死鎖,A正確。如果信號量小于1,說明當前沒有可分配的物理資源,請求P操作的進程分配不到資源,會被掛起等待,B正確。S=5時,說明有可分配資源,沒有進程在等待,此時兩個進程以任意順序調用V(S)一次,都會為系統增加一次可調度的資源,若期間無其他進程PV操作,則S的值一定是7,C錯誤。理論上講信號量可以協調解決任何進程同步問題,D正確。
總結
以上是生活随笔為你收集整理的北航操作系统课程-20200409课堂小测-进程同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北美电影票房Top10-2019年12月
- 下一篇: tcp中的crc检验算法原理_CRC校验