計算機基礎 - 作業系統的功能



如您所知,作業系統負責計算機系統的執行。為了做到這一點,它執行以下三大類活動:

  • 基本功能 – 確保資源的最佳和有效利用

  • 監控功能 – 監控和收集與系統性能相關的資訊

  • 服務功能 – 為使用者提供服務

讓我們看看與這些活動相關的一些最重要的功能。

處理器管理

管理計算機的CPU以確保其最佳利用稱為處理器管理。處理器管理基本上涉及將處理器時間分配給需要完成的任務。這稱為作業排程。作業必須以以下方式安排:

  • 最大限度地利用CPU
  • 週轉時間(即完成每個作業所需的時間)最短
  • 等待時間最短
  • 每個作業獲得最快可能的響應時間
  • 實現最大吞吐量,其中吞吐量是完成每個任務的平均時間

作業系統有兩種作業排程方法:

  • 搶佔式排程
  • 非搶佔式排程
Processor Management

搶佔式排程

在這種型別的排程中,處理器要執行的下一個作業可以在當前作業完成之前排程。如果出現更高優先順序的作業,則可以強制處理器釋放當前作業並執行下一個作業。有兩種排程技術使用搶佔式排程:

  • 迴圈排程 – 定義一個稱為時間片的小時間單位,每個程式一次只能獲得一個時間片。如果在此時間內未完成,則必須加入作業佇列的末尾,並等待所有程式都獲得一個時間片。這裡的優點是所有程式都獲得平等的機會。缺點是,如果程式在時間片結束前完成執行,則CPU在剩餘時間內將處於空閒狀態。

  • 響應比排程 – 響應比定義為

    $$\frac{已用時間}{接收到的執行時間}$$

    響應時間較短的作業具有更高的優先順序。因此,即使較大的程式比較短的程式早請求,也可能不得不等待。這提高了CPU的吞吐量。

非搶佔式排程

在這種型別的排程中,只有在當前作業完成後才會做出作業排程決策。永遠不會中斷作業以優先處理更高優先順序的作業。使用非搶佔式排程的排程技術包括:

  • 先到先服務排程 – 這是最簡單的技術,其中第一個發出請求的程式首先完成。

  • 最短作業優先排程 – 在這裡,接下來要安排執行的作業是執行時間最少的作業。

  • 截止日期排程 – 下一個要安排執行的作業是截止日期最早的作業。

記憶體管理

調節計算機記憶體並使用最佳化技術來增強整體系統效能的過程稱為記憶體管理。在現代計算環境中,記憶體空間非常重要,因此記憶體管理是作業系統的關鍵作用。

如您所知,計算機有兩種型別的記憶體——主儲存器輔助儲存器。主儲存器速度快但價格昂貴,輔助儲存器價格便宜但速度慢。作業系統必須在這兩者之間取得平衡,以確保系統性能不會因主儲存器過少而受到損害,或者系統成本不會因主儲存器過多而激增。

輸入和輸出資料、使用者指令以及程式執行的中間資料需要高效地儲存、訪問和檢索,以實現高系統性能。一旦接受程式請求,作業系統就會根據需要為其分配主儲存器和輔助儲存器區域。執行完成後,分配給它的記憶體空間將被釋放。作業系統使用許多儲存管理技術來跟蹤所有已分配或空閒的儲存空間。

連續儲存分配

這是最簡單的儲存空間分配技術,其中連續的記憶體位置分配給每個程式。作業系統必須在分配之前估計整個程序所需的記憶體量。

非連續儲存分配

顧名思義,程式和相關資料無需儲存在連續的位置。程式被分成較小的元件,每個元件儲存在單獨的位置。一個表記錄了程式的每個元件儲存在哪裡。當處理器需要訪問任何元件時,作業系統使用此分配表提供訪問許可權。

在現實場景中,主儲存器空間可能不足以儲存整個程式。在這種情況下,作業系統將藉助虛擬儲存技術,程式物理儲存在輔助儲存器中,但看起來好像儲存在主儲存器中。這會在訪問程式元件時引入極小的時延。虛擬儲存有兩種方法:

  • 程式分頁 – 程式被分解成固定大小的頁面並存儲在輔助儲存器中。這些頁面從0到n被賦予邏輯地址或虛擬地址。一個頁表將邏輯地址對映到物理地址,用於在需要時檢索頁面。

  • 程式分段 – 程式被分解成稱為的邏輯單元,從0到n分配邏輯地址並存儲在輔助儲存器中。一個段表用於將段從輔助儲存器載入到主儲存器。

作業系統通常結合使用頁面和程式分段來最佳化記憶體使用。一個大的程式段可以被分解成頁面,或者多個小的段可以儲存為一個頁面。

檔案管理

資料和資訊以檔案的形式儲存在計算機上。管理檔案系統以使使用者能夠安全、正確地儲存其資料是作業系統的關鍵功能。作業系統管理檔案系統稱為檔案管理。檔案管理需要提供用於以下檔案相關活動的工具:

  • 建立新檔案以儲存資料
  • 更新
  • 共享
  • 透過密碼和加密保護資料
  • 在系統故障時恢復

裝置管理

作業系統實施、操作和維護裝置的過程稱為裝置管理。作業系統使用一個名為裝置驅動程式的實用程式軟體作為裝置的介面。

當許多程序訪問裝置或請求訪問裝置時,作業系統以一種有效的方式在所有程序之間共享裝置。程序透過系統呼叫介面(作業系統提供的程式設計介面)訪問裝置。

廣告