作業系統中,零頭是什麼。

2022-09-20 03:24:10 字數 973 閱讀 3820

(複製貼上來的)

作業系統在分配記憶體時,有時候會產生一些空閒但是無法被正常使用的記憶體區域,這些就是記憶體碎片,或者稱為記憶體零頭,這些記憶體零頭一共分為兩類:內零頭和外零頭。

內零頭是指程序在向作業系統請求記憶體分配時,系統滿足了程序所需要的記憶體需求後,還額外還多分了一些記憶體給該程序,也就是說額外多出來的這部分記憶體歸該程序所有,其他程序是無法訪問的。

外零頭是指記憶體中存在著一些空閒的記憶體區域,這些記憶體區域雖然不歸任何程序所有,但是因為記憶體區域太小,無法滿足其他程序所申請的記憶體大小而形成的記憶體零頭。

頁式儲存管理是以頁為單位(頁面的大小由系統確定,且大小是固定的)向程序分配記憶體的,例如:假設記憶體總共有100k,分為10頁,每頁大小為10k。現在程序a提出申請56k記憶體,因為頁式儲存管理是以頁為單位程序記憶體分配的,所以系統會向程序a提供6個頁面,也就是60k的記憶體空間,那麼在最後一頁中程序只使用了6k,從而多出了4k的記憶體碎片,但是這4k的記憶體碎片系統已經分配給程序a了,其他程序是無法再訪問這些記憶體區域的,這種記憶體碎片就是內零頭。

段式儲存管理是段(段的大小是程式邏輯確定,且大小不是固定的)為單位向程序進行記憶體分配的,程序申請多少記憶體,系統就給程序分配多少記憶體,這樣就不會產生內零頭,但是段式分配會產生外零頭。

例如:假設記憶體總的大小為100k,現在程序a向系統申請60k的記憶體,系統在滿足了程序a的記憶體申請要求後,還剩下40k的空閒記憶體區域;這時如果程序b向系統申請50k的記憶體區域,而系統只剩下了40k的記憶體區域,雖然這40k的記憶體區域不歸任何程序所有,但是因為大小無法滿足程序b的要求,所以也無法分配給程序b,這樣就產生了外零頭。請求段式儲存管理是在段式儲存管理的基礎上增加了請求調段功能和段置換功能。

頁式管理:將各程序的虛擬空間劃分成若干個長度相等的頁(page),頁式管理把內頁的劃分

存空間按頁的大小劃分成片或者頁面(page frame),然後把頁式虛擬位址與記憶體位址建立一一對應頁表,並用相應的硬體位址變換機構,來解決離散位址變換問題。頁式管理採用請求調頁或預調頁技術實現了內外存儲存器的統一管理。

作業系統是什麼?Linux作業系統概述!

linux 也是眾多作業系統之一,要想知道 linux 是什麼,首先得說一說什麼是作業系統。硬體是計算機賴以工作的實體,包括顯示器 鍵盤 滑鼠 硬碟 cpu 主機板等 作業系統 operating system,os 是軟體的一部分,它是硬體基礎上的第一層軟體,是硬體和其它軟體溝通的橋梁 或者說介面...

作業系統是什麼? 作業系統的基本概念

巨集觀上並行,微觀上時間片 併發 分時執行。系統資源可供記憶體中多個併發執行的程序共同使用。兩種資源共享方式 1 互斥共享方式 一段時間內只允許乙個程序訪問該資源。而把一段時間內只允許乙個程序訪問的資源稱為臨界資源或獨佔資源。2 同時訪問方式 一段時間內允許多個程序使用。巨集觀上同時,微觀上分時共享...

作業系統中的管程是什麼概念呢?

管程的提出 採用訊號量及p v同步機制來編寫併發程式,對於共享變數及訊號量變數的操作將被 分散於各個程序中,其缺點如下。1 程式易讀性差,因為要了解對於一組共享變數及訊號量的操作是否正確,則必須通 讀整個系統或者併發程式。2 程式不利於修改和維護,因為程式的區域性性很差,所以任一組變數或一段 的修 ...