作業系統中的分段


在作業系統中,分段主要用於維護程式的模組化結構。使用分段的目的是實現使用者對記憶體分配的檢視,類似於分頁時不關心程式的起始和結束位置,它只是將程式劃分為頁面。非連續記憶體分配技術可以分為兩種型別,即分頁和分段。在分段中,程式不是隨機或以可變大小劃分,而是以固定頁面劃分。

作業系統中的分段

分段技術用於作業系統,並將程序劃分為許多稱為段的部分,這些段的大小可變。在這種情況下,分段使用可變分割槽方法:一個段等於一個完整的記憶體塊。每個段的訪問和詳細資訊都儲存在段表中,該表包含兩個欄位。基址欄位給出其他地址訪問的起始地址,而界限欄位返回段的長度。

段可以定義為指令的邏輯分組,例如陣列、子例程、函式、區域性變數、棧、塊和符號表。分段是管理這些段的技術。

分段錯誤

當處理方法錯誤時以及任何未經授權的程式嘗試使用作業系統中的段時,都可以透過兩種不同的方式注意到分段錯誤。

將邏輯地址轉換為物理地址的過程

  • 邏輯地址將在記憶體管理過程中得到廣泛使用,它由段號(範圍從 0 到 99)和偏移量組成。

  • 基於長度,可能有兩種情況

  • 情況 1 - 當偏移量值大於或等於界限時

    情況 2 - 當偏移量值小於界限時。

為什麼要使用分段?

使用分段的主要目的是提高段的安全性和保護性。它管理每個分段的段,並只允許一個程序訪問該段,從而防止太多程序訪問。

分段技術用於作業系統中的記憶體分配,它將程式劃分為不同的部分。分段的段使用序列號進行識別,並由段表維護以方便訪問。段表用於將段號對映到其儲存的實際記憶體位置。

這些段僅在需要時才佔用記憶體,並載入不同大小的特定段。透過將段固定為適合資料大小來減少內部碎片。由於記憶體僅在需要時才使用,因此作業系統可以利用可用的記憶體。

作業系統中分段的優點

  • 使用分段,可以透過允許各個子部分在單獨的處理器上執行來提高系統效率。

  • 作業系統中的程序透過強大的響應系統請求的方式併發執行。

  • 中央處理器得到最大程度的利用以實現更好的使用。

  • 內部碎片引起的問題透過分段得到解決。

  • 可以使用段表跟蹤段,但這需要一些記憶體來儲存這些段。

  • 與分頁相比,分段涉及較少的處理開銷。由於分段,在磁碟上移動段比移動整個地址空間更容易。段表使用更少的記憶體。

作業系統中分段的缺點

  • 如果使用了全部儲存容量並且某種記憶體在沒有使用的情況下留在了後面,那麼分段可能會遇到外部碎片。結果,為不同大小的分割槽分配相鄰記憶體可能具有挑戰性。

  • 記憶體分配的分段可能很昂貴。

  • 當段的大小不同時,它們無法進行交換過程。

結論

分段為作業系統提供了一種靈活且有效的方式來管理記憶體,減少內部碎片並提高記憶體利用率,同時還提供段之間的保護級別。因此,分段改進了作業系統中記憶體的管理方式,以提供更高的安全性和穩定性。

更新於:2023-07-18

5K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.