操作系統-簡答題-合集
(一) 操作系統引論
1. 簡述操作系統的功能?
答:
- 操作系統是計算機資源的管理者。主要有處理機管理、存儲管理、設備管理、文件管理。此外,操作系統還為用戶提供使用操作系統硬件系統的接口,分別是命令接口、程序接口、圖形接口。操作系統的四個基本特征是並發、共享、異步、虛擬。
2. 解釋以下術語:資源、多道程序設計、並發、分時、吞吐量?
答:
- 資源:計算機中硬件和軟件的總稱。
- 多道程序設計:在這種設計技術下,內存中能同時存放多道程序,在管理程序的控制下交替地執行。這些作業共享CPU和系統中的其他資源。
- 並發:是指兩個或多個活動在同一給定的時間間隔中進行,是宏觀上的概念。
- 分時是指多個用戶分享使用同一台計算機。多個程序分時共享硬件和軟件資源。
- 吞吐量:在一段給定的時間內,計算機所能完成的總工作量。
3. 分時操作系統與實時操作系統的主要區別是什么?
答:
- 分時操作系統
利用分時技術的一種聯機的多用戶交互式操作系統,每個用戶可以通過自己的終端向系統發出各種操作控制命令,完成作業的運行。分時是指把處理機的運行時間分成很短的時間片,按時間片輪流把處理機分配給各聯機作業使用。 - 實時操作系統
一個能夠在指定或者確定的時間內完成系統功能以及對外部或內部事件在同步或異步時間內做出響應的系統。
4. 簡述多道程序設計技術?
答:
- 多道程序設計技術是指把多個程序同時存放在內存中,使它們同時處於運行狀態。這些作業共享處理器時間、外部資源以及其它資源。多道程序的好處是共享,宏觀上並行,微觀上串行。
(二) 進程的描述與控制
1. 簡述進程和線程的區別?
答:
- 進程是操作系統進行資源分配的最小單位,線程是CPU調度的最小單位。
- 線程依賴於進程存在,一個進程至少有一個線程。
- 進程有自己的獨立的地址空間,而線程共享所屬進程的所有資源。
- 進程通信需要以進程間通信的方式進行,而線程的通信則更方便。
- 多線程程序在運行時只要有一個程序崩潰,就會造成該進程的崩潰,而多進程程序一個進程崩潰不會影響其它進程繼續執行。
2. 什么是進程?進程與程序有何區別?
答:
- 概念:進程是程序的運行過程,是系統進行資源分配和調度的一個獨立單位。
- 區別:
- 進程是暫時的,是程序在數據集上的一次執行,有創建有撤銷;程序是永存的。
- 進程是動態的觀念;程序是靜態的觀念。
- 進程具有並發性;而程序沒有;
- 進程是競爭計算機資源的基本單位;程序不是。
3. 一個進程進入臨界區的調度原則是什么?
答:
- 如果有若干進程要求進入空閑的臨界區,一次僅允許一個進程進入。
- 任何時候,處於臨界區內的進程不可多於一個。如已有進程進入自己的臨界區,則其它所有試圖進入臨界區的進程必須等待。
- 進入臨界區的進程要在有限時間內退出,以便其它進程能及時進入自己的臨界區。
- 如果進程不能進入自己的臨界區,則應讓出CPU,避免進程出現“忙等”現象。
4. 簡述死鎖的產生的條件?
答:
- 死鎖是兩個或兩個以上進程在執行過程中,因爭奪資源而造成的一種互相等待的現象。
- 互斥條件
- 請求和保持條件
- 不剝奪條件
- 循環等待條件
5. 什么是進程的互斥與同步?
答:
- 進程互斥:指兩個或兩個以上的進程由於競爭資源而形成的制約關系。
- 進程同步:指兩個或兩個以上的進程由於某種時序上的限制而形成的相互合作的制約關系。
6. 簡述進程的三種狀態?
答:
- 就緒態:進程已獲得除CPU以外的所有必要資源,只要得到CPU,即可立即執行。
- 運行態:進程已得到CPU,其程序正在CPU上執行。
- 阻塞態:正在執行的進程因某種事件(如I/O請求)的發生而暫時無法繼續執行,只有等相應的事件完成后,才能去競爭CPU。
7. 試說明PCB的作用?為什么說PCB是進程存在的唯一標志?
答:
- PCB是進程實體的一部分,是操作系統中最重要的記錄型數據結構。PCB中記錄了操作系統所需的用於描述進程情況及控制進程運行所需的全部信息。
- 作用:使一個在多道程序環境下不能獨立運行的程序,成為一個能獨立運行的基本單位,一個能和其它進程並發執行的進程。
8. 試以生產者—消費者問題說明進程同步問題的實質?
答:
- 一個生產者,一個消費者和一個產品之間關系是典型的進程同步問題。
- 設信號量S為倉庫內產品,P-V操作配對進行缺一不可。
生產者進程將產品放入倉庫后通知消費者可用。
消費者進程在得知倉庫有產品時取走,然后告訴生產者可繼續生產。
9. 用PV操作實現進程間的同步與互斥應該注意什么?
答:
- 對每一個共享資源都要設立信號量。互斥時對一個共享資源設立一個信號量,同步時對一個共享資源可能要設立兩個或多個信號量,要視由幾個進程來使用該共享變量而定。
- 互斥時信號量的初值一般為1;同步時至少有一個信號量的初值大於等於1。
- PV操作一定要成對調用。互斥時在臨界區前后對同一信號量作PV操作;同步時則對不同的信號量作PV操作,PV操作的位置一定要正確。
- 對互斥和同步混合問題,PV操作可能會嵌套,一般同步的PV操作在外,互斥的PV操作在內。
(三) 存儲器管理
1. 簡述存儲管理的功能?
答:
- 內存的分配和回收
- 地址變換
- 內存擴充
- 內存保護
2. 實現地址重定位的方法有哪兩類,有什么區別?
答:
- 地址重定位是指將程序的邏輯地址變換為物理地址。實現地址重定位的方法有靜態重定位、動態重定位。
- 靜態重定位是程序在裝入時實現重定位,動態重定位是程序在執行時實現重定位。
3. 頁式存儲管理和段式存儲管理有什么區別和聯系?
答:
- 區別:
- 頁式的邏輯地址是連續的,而段式是可以不連續的。
- 頁式的地址是一維的,而段式是二維的。
- 分頁是操作系統進行,而分段是由用戶進行。
- 分頁的每一頁可以分散存儲在內存,而分段的每一段必須占用連續的存儲空間。
- 聯系:
- 兩者都是離散分配方式都要通過地址變換機構來實現地址變換。
4. 簡述固定分區和可變分區在管理方式上的區別?
答:
- 固定分區存儲管理是指把內存預先划分成若干個大小相等或不等的連續區域。每個分區可以一次裝入一個且只能是一個作業,整個主存分成多少分區,就可以同時裝入幾道程序。
- 可變分區的管理是指將內存根據作業需要的空間大小和當時儲存空間使用情況,來決定是否為作業分配一個分區,一旦分配就按照作業實際需要分區分配。這樣不僅可以支持多道程序設計,還解決了固定分區中內部碎片的問題。
5. 頁式存儲管理中頁面大小是根據什么決定的?頁表的長度又是根據什么決定的?
答:
- 頁面的大小是由塊的大小自然決定的。
- 頁表的長度是由作業擁有的頁面數決定。
6. 簡述頁式存儲管理中設置頁表和快表的作用?
答:
- 頁式存儲管理中設置的頁表指出了邏輯地址中的頁號與所占的主存塊號的對應關系。頁式存儲管理在用動態重定位方式裝入作業時, 要利用頁表做地址轉換工作。
- 快表是存放在高速緩存中的部分頁表。 由於采用頁表做地址轉換, 讀寫內存數據時 CPU要訪問兩次主存。有了快表,有時只要訪問一次高速緩存以及一次主存即可,這樣就提高了查找的速度和指令執行效率。
(四) 虛擬存儲器
1. 簡述請求頁式存儲管理的優缺點?
答:
- 優點:
- 虛存量大,適合多道程序運行,用戶不必擔心內存不夠的調度操作。動態頁式管理提供了內存與外存統一管理的虛存實現方式。
- 內存利用率高,不常用的頁面盡量不留在內存。
- 不要求作業連續存放,有效的解決了碎片問題。
- 缺點:
- 要處理頁面中斷,缺頁中斷處理等,系統開銷較大。
- 有可能產生抖動。
- 地址變換機構復雜,為提高速度采用硬件實現增加了機器成本。
2. 虛擬存儲器的基本特征是什么?虛擬存儲器的容量主要受到什么限制?
答:
- 虛存是一種能從邏輯上對內存容量進行擴充的一種存儲器系統。是由操作系統調度,采用內外層的交換技術。各道程序在需使用時調入內存,不用的調出內存。
- 實現方法有:請求分頁式系統、請求分段式系統。
- 虛存容量主要受計算機總線長度的地址結構限制。
(五) 輸入/輸出系統
1. 為什么在設備管理中引入緩沖技術?
答:
- 緩和CPU和I/O設備間速度不匹配的矛盾,提高CPU和I/O設備間的並行性。
- 減少CPU中斷的次數。
2. 什么是通道?簡述通道控制方式的數據輸入處理過程?
答:
- 通道本質上是一個簡單的處理器。專門負責輸入、輸出控制,具有執行I/O指令的能力,並通過執行通道I/O程序來控制I/O操作。
- 通道的類型包括字節多路通道、數組選擇通道、數組多路通道。
3. 有哪幾種 I/O 控制方式?分別適用於何種場合?
答:
- 程序I/O方式:在無中斷的系統中使用,是忙等方式。
- 中斷驅動I/O控制方式:常用於字符設備。
- 直接存儲器訪問DMA控制方式:常用於塊設備。
- I/O通道控制方式:應用在高檔小型、微型機中。
4. 磁盤訪問時間由哪三部分組成?各部分是什么含義?
答:
- 磁盤訪問時間包括尋道時間、旋轉等待時間、數據傳輸時間。
- 尋道時間指把磁頭移動到指定磁道上所經歷的時間。
- 旋轉等待時間指指定扇區移動到磁頭下面所經歷的時間。
- 數據傳輸時間指把數據從磁盤讀出或向磁盤寫入數據所經歷的時間。
5. 簡述中斷處理過程?
答:
- 保護被中斷進程現場。系統必須保存當前進程的PCB的信息。
- 分析中斷原因,轉去執行相應的中斷處理程序。
- 恢復被中斷進程的現場,CPU繼續執行原來被中斷的進程。
6. 簡述SPOOLing系統的工作原理?
答:
- 多道程序並發執行后,可利用其中的一道程序來模擬脫機輸入時外圍控制機的功能,將低速I/O設備上的數據傳送到高速磁盤上。
- 再利用另一道程序來模擬脫機輸出時外圍控制機的功能,將高速磁盤上的數據傳送到輸出設備上,這樣就可以在主機的直接控制下,實現脫機輸入、輸出操作,這時外圍操作與CPU對數據的執行同時進行。
7. 設備管理中,為什么會產生瓶頸問題?有什么解決方法?
答:
- 瓶頸問題:由於通道價格昂貴,通道的數量遠比I/O設備少,這就往往會因為通道數量不夠,而產生一系列的“瓶頸”問題,造成系統吞吐量的降低。
- 解決方法:增加設備到主機間的通路。 即把一個設備連接到多個控制器上,而一個控制器又連接到多個通道上。