首頁  >  文章  >  系統教程  >  作業系統常見問題~

作業系統常見問題~

WBOY
WBOY轉載
2024-02-18 08:15:33809瀏覽

作業系統常見問題~

一:說明進程在三個基本狀態之間轉換的典型原因

(1)處於就緒狀態的進程,當進程調度程序為其分配了處理機後,該進程就由就緒狀態轉變為執行狀態。

(2)正在執行的進程,若因為指派給他的時間片用完而被剝奪處理機暫停執行時,其狀態就由執行狀態轉為就緒狀態。

(3)若因發生某事情,致使目前程序的執行受阻,使之無法繼續執行,則該程序狀態由執行轉變為阻塞。

二:為什麼要在OS中引入線程,引入線程有什麼好處?

(1)由於流程是資源的擁有者,所以在建立、撤銷、切換作業中需要較大的時空開銷,限制了並發程度的進一步提高。為減少進程切換的開銷,把進程當作資源分配單位和調度單位這兩個屬性分開處理,即進程還是作為資源分配的基本單位,但是不作為調度的基本單位(很少調度或切換),把調度執行與切換的責任交給「線程」。

(2)在OS中引入線程,以線程作為調度和分派的基本單位,則可以有效地改善多處理機系統的性能,減少了程序在並發執行時所付出的時空開銷,使OS具有更好的並發性

三:(1)什麼是死鎖? (2)產生死鎖的原因是什麼?

(1) 如果一組進程中的每個進程都在等待僅由該組進程中其他進程才能引發的事件,則該組進程是死鎖的。

(2) ①競爭不可搶佔性資源造成死鎖。 (不可搶佔性資源是一旦系統把某資源分配給該進程後,就不能將它強行收回,只能在進程用完後自行釋放。)

②競爭可消耗資源造成死鎖。 (可消耗資源在進程運行期間,由進程動態的建立和消耗)

③進程推進順序不當造成死鎖(進程運行時,對資源進行申請和釋放的順序是否合法)

四:程式的裝入的幾種方式

(1)絕對裝入方式:使用者程式經過編譯後,將產生絕對位址的目標程式碼,只適合單道程式環境。

(2)可重定位裝入方式:可將裝入模組裝入至記憶體中任何允許的位置,適用於多道程式環境。

(3)動態運行時尚入方式:把裝入模組裝入記憶體時所有的仍為邏輯位址,在程式真正要執行時才將邏輯位址轉為實體位址。

五:程式的連結的幾種方式

(1)靜態連結方式:在程式運作之前,先將各目標模組及他們所需的函式庫函數連接成一個完整的組裝模組,以後不再拆開。

(2)裝入時動態連結:將使用者原始程式編譯後所得到的一組目標模組,在裝入記憶體時,採用邊裝入邊連結的連結方式。

(3)運行時動態鏈接:對某些目標模組的鏈接,在程式執行中需要該目標模組時才對它進行鏈接

六:(1)什麼是虛擬存儲,(2)它有什麼特色?

(1) 具有請求調入功能和置換功能,能從邏輯上對記憶體容量加以擴充的一種記憶體系統。其邏輯容量由內存容量和外存容量總和決定,運行速度接近內存,成本接近外存。

(2) ①多次性:作業中的程式和資料可分成多次調入記憶體運行。

② (base)對換性:一個作業中的程式和資料允許在作業運行中進行換進換出。

③虛擬性:從邏輯上擴充了記憶體容量。

七:(1)什麼是抖動? (2)產生抖動的原因是什麼?

(1)如果多道程序過高,頁面在內存和外村之間頻繁調度,以至於釣魚頁面所需的時間比進程實際運行的時間還多,此時系統效率急劇下降,甚至導致系統奔潰,這種現象叫抖動。

(2)原因是同時在系統中運行的進程太多,由此分配給每一個進程的物理塊太少,不能滿足進程正常運行的基本要求,致使每個進程在運行時,頻繁地出現缺頁,必須請求系統將所缺之頁調入內存,於是系統中排隊等待頁面調進調出的進程數增加,從而導致抖動。

八:(1)什麼是緩衝區? (2)引進緩衝區管理的主要原因是什麼?

(1) 緩衝區是一個儲存區域,可由專門的硬體暫存器組成,也可以由記憶體等組成。

緩衝區管理的主要功能是組織好這些緩衝區,並提供獲得和釋放緩衝區的手段。

(2) 引進緩衝區管理的主要原因是:

①緩和CPU和I/O設備間速度不符的矛盾。

②減少對CPU的中斷頻率,放寬對CPU中斷對應時間的限制。

③解決資料粒數不符的問題。

④提高CPU和I/O裝置之間的並行性。

以上是作業系統常見問題~的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:linuxprobe.com。如有侵權,請聯絡admin@php.cn刪除