回覆列表
  • 1 # 菠蘿小仙女歲月散步的

    分段和分頁是記憶體管理方式,分段是指把記憶體分成大小相等的頁,這樣在儲存的時候尋找未被使用的頁,一段程式可以實現跨頁儲存,可以大大提高記憶體利用效率,減少記憶體碎片,為了管理記憶體中的頁,知道哪些頁已經分配,哪些未被分配,必須有一個頁表以備查詢,就像一本書的目錄一樣。段也是同樣的道理,只不過段比頁大,所以段管理碎片比頁要多,現在作業系統通常是段頁結合,記憶體分段,段內分頁,可結合二者優點,所謂段表頁,應該是段表所在頁,通常頁表要比段表龐大的多。

  • 2 # 使用者2213972807437

    分頁和分段系統有許多相似之處,但在概念上兩者完全不同,主要表現在: 1、頁是資訊的物理單位,分頁是為實現離散分配方式,以消減記憶體的外零頭,提高記憶體的利用率;或者說,分頁僅僅是由於系統管理的需要,而不是使用者的需要。 段是資訊的邏輯單位,它含有一組其意義相對完整的資訊。分段的目的是為了能更好的滿足使用者的需要。 2、頁的大小固定且由系統確定,把邏輯地址劃分為頁號和頁內地址兩部分,是由機器硬體實現的,因而一個系統只能有一種大小的頁面。 段的長度卻不固定,決定於使用者所編寫的程式,通常由編輯程式在對源程式進行編輯時,根據資訊的性質來劃分。 3、分頁的作業地址空間是維一的,即單一的線性空間,程式設計師只須利用一個記憶符,即可表示一地址。 分段的作業地址空間是二維的,程式設計師在標識一個地址時,既需給出段名,又需給出段內地址。

  • 3 # 使用者9416381105893

    分頁就是將程序的邏輯地址空間分成若干大小相等的片(即頁),然後裝入記憶體。

    分段就是使用者可以把自己的作業按邏輯關係劃分為若干個段,每個段都是從0開始編址,並有自己的名字和長度。這就相當於程式裡邊的主函式段、各個子函式段、資料段、棧段等等。

    要知道在引入分頁和分段之前,是透過連續分配方式來管理儲存器的,就是說一個程序在記憶體中是連續存放的。

    可以這樣理解吧,記憶體中有程序1、2、3……程序2先執行完成了,然後釋放了所佔有的記憶體空間,而之後,

    如果新調入的程序記憶體需求大於之前2所佔有的記憶體空間,那麼不可能利用這塊記憶體,相對於記憶體需求更大的程序來說,之前2所佔有的記憶體空間就是不能利用的碎片,

    如果新調入的程序記憶體需求小於之前2所佔有的空間就會留下空隙,也會帶來碎片。

    雖然可以透過“緊湊”的方法進行碎片整理,但開銷很大這就產生了與連續分配方式相對的離散分配方式,便先後引入了分頁和分段儲存管理。

    所以相同點就是,兩者都屬於儲存器管理方式中的離散分配方式。都要透過地址對映機構來實現地址變換。

    不同點就在於,離散分配方式的基本單位的不同,是頁還是段。

    頁是資訊的物理單位,段是資訊的邏輯單位。

    分頁的作業地址空間是一維的,線性的,程式設計師只需利用一個記憶符表示一個地址;而分段的作業地址空間是二維的,程式設計師在表示一個地址的時候既要給出段名,又需要給出段內地址。其中,段名可以理解為函式名等,段內地址可以理解程變數等的地址。

    值得一提的是其中頁的大小要和物理塊或者頁框一樣,而物理塊是作業系統定好了的。也就是說你的作業系統裝完之後,物理塊的大小是定了的,從而頁的大小也是定了的。而段的長度是不定的。

    引入分頁儲存管理方式的目的是提高記憶體利用率,而引入分段儲存是為了滿足使用者(程式設計師)在程式設計和使用上多方面上的要求。還有將兩者結合一起的段頁式系統。

  • 中秋節和大豐收的關聯?
  • 戴笠兒子戴善武被處死,他的家人最後去哪裡了?