單項選擇 15x2 = 30
判斷 10x1 = 10
簡答 3x10 =30
綜合 3x10 =30
簡答題
簡述操作系統的四個基本特征。
并發性 共享性 虛擬性 異步性
并發性是最重要特性,其它三種特性以此為前提。
并發
并發(Concurrence): 多個進程通過時間片輪轉的方式交替使用CPU
- 宏觀上:多道程序同時在執行。
- 微觀上:在單處理機系統中,任何時刻只有一道程序在執行,即微觀上多道程序在CPU 上交替執行。
并行(Parallel):指多道程序在同一時刻執行,通常需要多個硬件支持。
并發執行能有效改善系統資源利用率,但使系統復雜化,因此操作系統必須對并發活動進行控制和管理。
共享
指系統中的資源不再為某道程序所獨占,而是供多道程序共同使用。
并發性和共享性是操作系統的兩個最基本的特征,二者互為存在條件
- 資源的共享是以程序的并發執行為條件。
- 程序的并發執行也以資源的共享為條件。若系統不能對資源共享實施有效管理,必然會影響到程序的并發執行,甚至程序無法并發執行,操作系統也就失去了并發性。
虛擬
虛擬是指把一個物理實體映射為若干個對應的邏輯實體。
- 時分復用,即分時使用方式。如:虛擬處理機、虛擬設備。
- 空分復用,用于提高存儲空間的利用率。如:虛擬磁盤、虛擬存儲器。
虛擬是操作系統管理系統資源的重要手段,可提高資源利用率。
異步
異步性也稱不確定性,指進程在執行中,其執行時間、順序、向前推進的速度和完成的時間等都是不可預知的。
“不確定性”不是說操作系統的功能不確定,也不是說同一程序在相同的數據集上的多次運行結果不確定,而是指同一道程序的多次運行所需的時間不確定,同一批程序的多次運行的運行序列和總運行時間不確定。
微內核OS的優點和缺點是什么?
微內核OS 技術的主要思想:在內核中只留下一些最基本的功能(進程管理、低級存儲器管理、中斷和陷入處理),而將其他服務分離出去( 如文件系統、網絡協議等 ),由工作在用戶態下的進程來實現,形成所謂“客戶/服務器”模式。客戶進程可通過內核向服務器進程發送請求,以取得OS 的服務。
優點
提高了系統的可擴展性
- 系統的各個模塊可以獨立開發、更新和替換,增加了系統的可擴展性。
提高了系統的可靠性
- 內核和接口的正確性容易保證
- 某個服務器出現錯誤時不會影響內核和其它服務器
可移植性好(服務器均與硬件平臺無關)
適用于分布式系統
- 消息傳遞通訊機制+ 進程和服務器唯一標識+ 系統映射表
- 把消息發往目標,無論目標駐留在哪臺機器上。
缺點
運行效率低:消息傳遞比直接調用效率要低,頻繁的IPC和上下文切換,導致較高的性能開銷
批處理操作系統、分時操作系統和實時操作系統各有什么特點?
批處理操作系統強調高效的批量處理,分時操作系統注重用戶交互與任務并發,實時操作系統則優先保證任務按時完成,確保系統的可預測性和可靠性。
單道批處理系統
工作流程
合成一批作業輸入到外存上,同時在系統中配上監控程序。Monitor 將作業逐個送入內存并運行。
CPU 必須等待I/O 的完成,特別因為I/O 設備的低速性,從而使機器的利用率很低。
特征:1. 自動性 2. 順序性 3. 單道性
多道批處理系統
多個作業先在外存“后備隊列”中排隊,經作業調度選擇若干個調入內存,使它們共享CPU 和系統中的各種資源
為解決多道批處理系統中的問題,在多道程序系統中增設一組軟件(四大管理:處理機管理、內存管理、I/O 設備管理、文件及作業管理問題),方便用戶使用計算機,這樣便形成了操作系統。
特征:1. 調度性 2. 無序性 3. 多道性
優點:1. 資源的利用率高 2. 系統吞吐量大
缺點:1. 平均周轉周期長 2. 無交互能力
分時系統:
根據時間片輪轉技術,允許多個用戶通過終端并發地訪問計算機,并提供快速的響應時間
特征:
多路性:宏觀上多個用戶同時工作,微觀上輪流運行。
獨立性:用戶獨立操作,互不干擾。
及時性 交互性
實時操作系統
指系統能及時響應外部事件的請求,并控制所有實時任務協調一致地運行。 適合對時間敏感安全性要求高的場景
特征:實時性和可靠性、多路性、獨立性、交互性
產生死鎖的四個必要條件是什么?
互斥條件
進程對所分配到的資源進行排它性使用。
請求和保持條件
進程已經保持了至少一個資源,但又提出了新的資源請求,而該資源已被其它進程占有,此時請求進程被阻塞,但對自己已獲得的資源保持不放。
不可剝奪條件
進程已獲得的資源,在未使用完之前不能被搶占,只能在進程使用完時由自己釋放。
環路等待條件
指在發生死鎖時,必然存在一個進程-資源的循環鏈,即進程集合P0,P1,P2,…,Pn 中的P0,正在等待一個P1 占用的資源,P1 正在等待P2 占用的資源,……,Pn 正在等待已被P0 占用的資源。
簡述利用假脫機技術實現打印機共享的基本處理過程
SPOOLing 是指在多道程序的環境下,利用多道程序中的一道或兩道程序來模擬外圍控制機,從而在聯機的條件下實現脫機I/O 的功能,用一臺主機完成脫機技術中需用三臺計算機完成的工作。
以打印機為例,其核心思想是將打印任務從用戶進程中分離出來,先存儲在磁盤或內存中,然后由一個獨立的進程按順序將任務傳送給打印機。通過假脫機技術,多個用戶可以同時提交打印任務,而打印機按順序逐一處理這些任務。
系統創建SPOOLing 打印守護進程,它是唯一獲準使用打印機的進程,打印的文件首先被放入SPOOLing 目錄,此后當打印機空閑時,守護進程可以定時地或者在SPOOLing 目錄下的內容達到一定容量時,把SPOOLing 目錄下的文件打印輸出。
用戶無需等待打印完成,可以繼續使用計算機,系統通過調度提高了打印機的利用率,并確保多用戶能夠共享打印機資源。
分頁存儲管理和分段存儲管理有何區別?
分頁存儲
空間劃分
- 將一個用戶進程的地址空間(邏輯空間)劃分成若干個大小相等的區域,稱為頁或頁面
- 內存空間也分成若干個與頁大小相等的區域,稱為塊(物理塊)或頁框(frame)
內存分配
- 在為進程分配內存時以塊為單位,將進程中若干頁裝入到多個不相鄰的塊中,最后一頁常裝不滿一塊而出現頁內碎片。
頁表
為了便于在內存找到進程的每個頁面所對應塊,分頁系統中為每個進程配置一張頁表,進程邏輯地址空間中的每一頁,在頁表中都對應有一個頁表項。
頁表存放在內存中,屬于進程的現場信息。
用途:1. 記錄進程的內存分配情況-。2. 實現進程運行時的動態重定位。
訪問一個數據需訪問內存2 次(頁表一次,內存一次)。
頁表的基址及長度由頁表寄存器給出。
分段存儲
將用戶作業的邏輯地址空間劃分成若干個大小不等的段(由用戶根據邏輯信息的相對完整來劃分)。各段有段名(常用段號代替),首地址為0。
段表:
段表記錄了段與內存位置的對應關系。
段表保存在內存中。
段表的基址及長度由段表寄存器給出。
訪問一個字節的數據/指令需訪問內存兩次(段表一次,內存一次)。
邏輯地址由段號和段內地址組成。
分頁與分段的主要區別
存儲管理單位的不同
- 分頁存儲管理:
- 內存被劃分為固定大小的頁(Page),每一頁的大小是相同的。程序的邏輯地址空間被分成相同大小的頁,存儲在物理內存中。
- 頁表用于記錄虛擬地址到物理地址的映射關系,每個虛擬頁對應一個物理頁框。
- 分段存儲管理:
- 內存被劃分為不同大小的段(Segment),每個段通常代表程序的一個邏輯部分,例如代碼段、數據段、堆棧段等。段的大小不固定,可以根據實際需要動態分配。
- 段表用于記錄虛擬段地址到物理內存地址的映射。
頁是信息的物理單位,分頁僅僅是由于系統管理的需要,對用戶透明的。段是信息的邏輯單位,分段的目的是為了能更好的滿足用戶的需要。
頁的大小固定且由系統確定,把邏輯地址劃分為頁號和頁內地址兩部分。段的長度卻不固定,決定于用戶所編寫的程序。
分頁的作業地址空間是一維的,分段的作業地址空間是二維的。
頁和段都有存儲保護機制。但存取權限不同:段有讀、寫和執行三種權限;而頁只有讀和寫兩種權限。
試說明關于索引文件和索引順序文件的檢索方法
索引文件(Index File)
索引文件是一種將數據記錄的索引(類似目錄)和數據存儲文件分開管理的文件結構。索引文件存儲著指向數據文件中具體記錄位置的指針。常見的檢索方法如下:
- 檢索方法:
- 構建索引: 為了加速檢索,首先根據某個字段(通常是關鍵字)建立索引。索引文件保存了關鍵字與數據記錄之間的映射關系,記錄每個關鍵字及其在數據文件中的位置(通常是文件的物理地址)。
- 查找索引: 檢索時,先在索引文件中查找目標關鍵字。常用的索引查找方法包括:
- 順序查找: 直接按順序掃描索引,適用于索引規模較小的情況。
- 二分查找: 若索引文件已排序,可以使用二分查找來快速定位目標關鍵字。
- 訪問數據文件: 找到對應的指針后,可以直接跳轉到數據文件中的相應位置獲取數據記錄。
- 優點:
- 可分離索引和數據文件,便于管理。
- 通過索引的查找提高了查詢效率。
索引順序文件(Indexed Sequential File,ISF)
索引順序文件結合了順序文件和索引文件的特點,既有順序存儲數據記錄的優勢,又能利用索引加速檢索過程。ISF的關鍵在于其在數據文件中采用了順序存儲,同時為提高檢索效率,會在數據文件的特定位置建立索引。
- 檢索方法:
- 順序訪問: 可以按順序逐個訪問記錄,適用于批量讀取或按順序訪問數據的場景。
- 索引檢索: 在索引文件中查找關鍵字,利用索引跳轉到數據文件中相應位置。這與索引文件的檢索方法類似,通常使用二分查找來定位目標索引。
- 直接訪問: 若數據記錄已按某關鍵字順序存儲,可以根據索引找到數據的大致位置,再通過順序訪問進一步定位具體記錄。由于數據記錄已經按照某種規則(如關鍵字順序)組織,檢索時通常不需要全表掃描。
- 優點:
- 索引文件使得檢索更加高效,尤其適用于需要頻繁查找特定記錄的情況。
- 順序存儲減少了存儲空間的浪費。
總結:
- 索引文件: 是通過一個獨立的索引文件映射關鍵字和數據文件中的位置來加速檢索過程,適用于任意順序存儲的數據。
- 索引順序文件: 是將索引和順序存儲結合起來,支持通過索引文件快速定位記錄,同時保留順序存儲帶來的優勢,適用于數據按某個關鍵字順序存儲的情況。
文件的物理結構有哪幾種?
順序文件(Sequential File)
- 定義: 文件中的數據記錄按照一定的順序存儲。常見的順序為按時間、ID、或者其他字段進行排序。
- 存儲方式: 所有記錄依次排放,數據從文件的頭到尾順序排列。
- 優點:
- 存取方式簡單,適用于批量處理和順序訪問,順序存取速度快,。
- 存儲密度高,磁盤訪問順序性好。
- 缺點:
- 查找某一記錄時需要從頭掃描至目標記錄,效率較低。
- 插入、刪除操作可能需要大量的文件重寫。
索引文件(Index File)
- 定義: 文件記錄和索引文件分開存儲,索引文件保存著記錄的索引信息(例如關鍵字及其在數據文件中的位置)。
- 存儲方式: 索引文件中保存關鍵字與記錄位置的映射關系,索引文件和數據文件是獨立的。
- 優點:
- 通過索引可以加速檢索操作。
- 數據文件和索引文件分開存儲,易于維護。
- 缺點:
- 需要額外的存儲空間來存放索引文件。
- 索引表的查找策略對文件系統的效率影響很大。
索引順序文件(Indexed Sequential File,ISF)
- 定義: 結合順序存儲和索引的方式,數據記錄按順序存儲,同時為加速查詢建立索引。
- 存儲方式: 數據記錄按關鍵字順序存儲,并且建立一個或多個索引文件,索引文件保存記錄的關鍵字及其位置。
- 優點:
- 順序訪問和索引檢索相結合,兼具順序讀取和快速查找的優勢。
- 缺點:
- 更新操作較復雜,可能需要重新組織索引。
- 對存儲空間要求較高。
直接文件(Hashed File)
- 定義: 根據給定的記錄鍵值,直接獲得指定記錄的物理地址。即記錄鍵值本身就決定了記錄的物理地址。
- 優點:
- 查找操作通常非常高效,時間復雜度為常數時間(O(1))。
- 缺點:
- 如果哈希沖突發生,需要處理沖突(例如鏈式處理或開放地址法)。
- 插入、刪除操作復雜,可能導致哈希表的重新組織。