SDU考試特別提醒:
整無語了,遇到hmb老師出題就躺平了吧。八個論述兩個計算(死鎖檢測、硬盤訪問),論述題感覺像考研題,基本是結合xx談談xx這樣。
分數直接爆炸,心累了,嗚嗚。
操作系統(概念)
操作系統也叫作內核kernel,是一直運行在計算機上,控制和管理整個計算機系統的軟硬件資源,合理地組織、調度計算機的工作與資源分配,為用戶和其他軟件提供方便接口與環境的程序集合。操作系統是最基本的系統軟件。
多處理器系統的主要優點:增加吞吐量、規模經濟、增加可靠性
人工操作→批處理系統→多道批處理系統→分時系統→實時系統→網絡與分布式系統
操作系統提供的接口(用戶能使用的接口):
- 命令接口,又分為聯機命令接口(適用於分時或實時操作系統)、脫機命令接口(適用於批處理系統)
- 程序接口,由一組系統調用(也叫廣義指令)組成,用戶使用系統調用請求操作系統為其提供服務
進程是執行的程序。操作系統負責:在CPU上調度進程和線程、創建和刪除用戶進程和系統進程、掛起和重啟進程、提供進程同步機制、提供進程通信機制
-
多道分時環境下,多用戶同時使用一個系統可能導致哪些安全問題?
問題①:兩個用戶同時訪問並修改同一個文件,會導致先提交的用戶的修改內容被覆蓋。
問題②:如果有用戶惡意修改操作系統,可能導致整個系統出錯,所有用戶都無法正常使用。
-
中斷有何作用?陷阱與中斷有何區別?
現代操作系統是中斷驅動的,操作系統通過中斷接管CPU,協調不同設備和進程的並發運行,處理出錯的程序,響應請求等等。陷阱是指令執行過程中在處理機內部發生的事件,中斷是來自處理機外部的請求事件。
-
用戶能否故意制造中斷?這樣做有什么目的?
能。用戶通過中斷(如訪管指令)請求操作系統提供服務,使操作系統轉換為核心態,實現輸入/輸出等操作。
-
若計算機不支持硬件操作特權模式,能否為其構建安全的操作系統?為什么?
不能。不支持硬件操作特權模式,意味着操作系統與普通程序的權利沒有區別,計算機上運行的所有程序都能執行特權指令,甚至篡改與操作系統運行有關的文件,給系統安全帶來極大的隱患。
-
操作系統提供的服務和功能可以分為哪兩大類,有什么區別?
一類服務是為了滿足用戶使用的需要,如用戶界面、I/O操作等,這些服務方便了程序員和用戶的使用;另一類服務是為了確保操作系統的安全和效率,如資源分配、保護與安全等。
-
微內核設計有哪些優缺點?
優點:降低了內核的復雜度,有效地分離了內核與服務、服務與服務,各部分可以獨立優化;容易移植,可靠性高;如果運行的一個服務出錯,操作系統的其他部分不受影響。
缺點:需要在用戶態和內核態之間頻繁切換,影響性能。
進程

-
長期、中期、短期調度之間的區別是什么
長期調度:從磁盤的緩沖池中選擇進程裝入內存,等待執行
短期調度:從內存中的就緒隊列中選擇進程,為其分配處理機
中期調度:將內存中的進程換出到磁盤中,該進程稍后可以再被換入內存,從中斷處繼續執行
-
描述內核在兩個進程之間進行上下文切換的過程
內核先將處理機上下文(程序計數器和其他寄存器的值)保存到舊進程的PCB中,並更新PCB的狀態信息,將PCB移入響應的隊列;然后更新新進程的PCB信息,借助新進程的PCB恢復處理機上下文,繼續執行。
-
下面設計的優缺點是什么?系統層次和用戶層次都要考慮
-
同步和異步通信
同步通信:系統層次,同步通信由於阻塞等待而占用了系統資源,效率較低。用戶層次,同步通信保證了用戶間通信的實時同步性,提高了用戶體驗。
異步通信:系統層次,系統能夠通過異步通信高效率地與多個對象進行通信。用戶層次,從發送消息到收到回復之間有一段等待時間,且難以預知進程收到消息的時刻,可能導致錯誤。
-
自動和顯式緩沖
自動緩沖:系統層次,自動緩沖占用了大量系統資源。用戶層次,自動緩沖使用方便,發送進程發消息時基本可以順利即時發出,很少或不會被阻塞。
顯式緩沖:系統層次,占用資源較少。用戶層次,發出消息時會被阻塞一段時間。
-
復制傳送和引用傳送
復制傳送:系統層次,傳送時不允許修改參數,保證了安全性和通信傳遞的一致性。用戶層次,使用起來不夠靈活,功能不夠強大。
引用傳送:系統層次,傳送時允許修改參數,增加了程序的不確定性。用戶層次,使用方便,允許程序員實現一個集中式應用程序的分布式版本。
-
固定大小和可變大小消息
固定大小:系統層次,系統實現起來比較簡單,處理方便。用戶層次,編寫代碼的難度提高,不夠靈活。
可變大小:系統層次,系統實現變得復雜和困難。用戶層次,編寫代碼簡單靈活,空間能夠充分利用。
-
-
描述線程庫進行用戶級線程上下文切換時采取的措施
用戶級線程運行在內核提供的虛擬處理器LWP上。發生上下文切換時,內核會再分配一個LWP給線程用於執行upcall指令,運行切換程序,保存線程的狀態(寄存器、棧空間等)。執行完畢后,釋放線程原有的LWP,再將新的LWP用於運行下一個線程。
進程調度

調度程序區分I/O密集型進程和CPU密集型進程的意義是什么?
CPU密集型程序的運行時間長,等待時間短;I/O密集型程序的運行時間短,等待時間長。如果調度程序的安排不合理,可能導致CPU密集型程序運行時有大量I/O密集型程序就緒堵塞,或導致大量I/O密集型程序等待使用設備,CPU空閑。合理調度兩種進程就能提高CPU利用率,降低等待時間。
同步

死鎖

后面的沒太多時間記了。虛擬內存和文件I/O總共應該是考了2-3個大題,面向題目看一看就可。
