1. 程式人生 > 實用技巧 >作業系統概念 第一章作業

作業系統概念 第一章作業

題目一:資源利用問題在不同的作業系統中以不同的形式出現,請指出下面哪些資源必須被仔細的管理(請說明為什麼):
答:
1)主機系統或微型計算機:主機系統是是用於商業方面對主機主要引數的描述,一般指與主機引數與安全穩定的引數的集合體,一般包含:CPU、主機板晶片組、記憶體、擴充套件槽、磁碟、擴充套件塢、網路介面卡、安防裝置等等;而微型計算機是由大規模積體電路組成的、體積較小的電子計算機。它是以微處理器為基礎,配以記憶體儲器即輸入輸出(I/O)介面電路和相應的輔助電路而構成的裸機。所以主機系統和微型計算機都需要仔細管理記憶體和CPU資源、網路頻寬、外存。
2)通過伺服器連線的工作站即一個連線到伺服器的終端機,那麼只需要仔細管理記憶體和CPU,其他交由伺服器。

3)手持計算機:主要功能應包括:運算處理、資料儲存、輸入輸出、資料通訊和系統擴充套件五方面,軟體和硬體的有機結合是充分實現這些功能的必要條件。所以要仔細管理功耗和記憶體資源。

題目二:請結合儲存層次體系說明為何軟盤這種儲存介質會消亡。
答:
根據儲存裝置層次圖,可以看出,隨著層次降低,單個位的價格通常更便宜,訪問時間增加,一般儲存空間也較大。層次越高,價格越貴,訪問時間越短,但是儲存空間一般較小。軟盤這種儲存介質的特點就是儲存空間小,訪問時間長,自然慢慢就被淘汰了。

題目三:中斷(Interrupt)有何作用?陷阱(Trap)和中斷有何區別?使用者程式能否有意地生成陷阱?如果是,有什麼目的?


答:
作用:當CPU中斷時,它暫停正在做的事並立即轉到固定的位置去繼續執行。該固定位置通常是中斷服務程式開始位置的地址。在中斷服務程式執行完成之後,CPU重新執行被中斷的計算。
區別:陷阱是軟體產生的中斷。是由專設的指令,在程式中有意的產生,所以是一種主動的中斷,同步的。而通常所說的外部中斷,則是被動的,非同步的中斷。
可以有意的生成陷阱,為了將作業系統從使用者模式轉入核心態,從而獲得一些內部的服務,呼叫內部函式。

題目四:直接記憶體訪問(DMA)主要用高速I/O裝置以避免增加CPU的執行負荷。
1.CPU如何與裝置協作完成資料傳輸?
2.CPU如何知道記憶體操作已經結束?

答:
1)在進行大塊的資料移動時,如磁碟I/O,就需要DMA,CPU通過寫資料到暫存器中啟動DMA操作,然後I/O裝置響應對應的操作。當在進行這些操作時,裝置不需要CPU的干預,CPU可以完成其他工作。

2)資料傳輸結束之後就產生一箇中斷CPU表示操作已經結束。

題目五:請說明CPU中提供雙模式(User,Monitor)有什麼用途?並分別舉例說明哪些指令屬於特權指令,哪些屬於非特權指令(不少於10種指令)。
答:
雙重模式操作提供了保護作業系統和使用者程式不受錯誤使用者程式影響的手段。
特權指令:1.啟動I/O裝置指令 2.測試I/O裝置工作狀態 3.控制I/O裝置動作指令
4.有關訪問程式狀態的指令 5.存取特殊暫存器指令(中斷暫存器、時鐘暫存器等)
6.清理記憶體指令 7.分配系統資源指令 8.修改虛存段表和頁表指令 9.修改訪問許可權指令
10.載入PSW指令
非特權指令:1.邏輯運算指令 2.存數取數指令 3.訪管指令

題目六:請闡述你對下圖的認識
在這裡插入圖片描述
答:
這個圖應該是對作業系統的一些操作以及反饋。從main函式即初始化作業系統,程式進入閒置操作,現在處於使用者模式。如果引發中斷(interrupt),則進入核心模式,進行系統呼叫,實現對應的系統功能。待中斷處理結束之後,再回到user mode,繼續執行之前的操作,若無操作,則繼續idle loop。

題目七:請簡要介紹各類主要的開源組織及協議,並就開源運動對作業系統發展的影響發表個人見解。
答:
主要的開源組織:
Apache:是世界使用排名第一的Web伺服器軟體。它可以執行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。
OpenSymphony: 是一個很好提供開源專案的組織。同Jakarta相比,這裡的元件(Component)更多的是精緻小巧的設計,它們尤以簡單易用和可插拔的靈活性見長。
主要的開源協議:
1.GPL :GNU通用公共許可協議是一個被廣泛使用的自由軟體許可協議條款,GPL 保證了所有開發者的權利,同時為使用者提供了足夠的複製,分發,修改的權利
2.LGPL :LGPL 適合那些用於非 GPL 或非開源產品的開源類庫或框架。因為GPL要求包含有部分GPL授權程式碼的軟體以GPL方式釋出,這樣開發者就無法在收費的專屬軟體裡使用GPL授權程式碼。 LGPL正好解決了這一問題:它不要求其它使用LGPL授權程式碼的軟體以LGPL方式釋出。
3.BSD :在軟體分發方面的限制比別的開源協議(如 GNU GPL)要少。該協議有多種版本,最主要的版本有兩個,新 BSD 協議與簡單 BSD 協議,這兩種協議經過修正,都和 GPL 相容,併為開源組織所認可。
影響:原始碼面前,了無祕密。這八個字我覺得是對開源最好的概括了。開源之後,軟體“共產”,還可以降低軟體產品價格,也讓更多的想法像積木一樣可以融合到一起,完成各式各樣的優化。