0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

段式與頁式存儲器管理的區(qū)別 分頁式存儲管理詳解

電子設計 ? 來源:TOMORROW 星辰 ? 作者:TOMORROW 星辰 ? 2020-12-01 14:16 ? 次閱讀

段式虛擬存儲器中的段是按程序的邏輯結構劃分的。本文將來介紹一下什么是段式存儲器管理,段式與頁式存儲器管理的區(qū)別又在哪,還有段頁式存儲器管理的工作原理。如果對頁式存儲管理方式不清楚的建議先弄懂頁式存儲管理方式(參考:深入理解操作系統(tǒng)之——分頁式存儲管理)

段式存儲器管理

段的劃分是具有邏輯意義的,例如:主程序段、數(shù)據(jù)段、堆棧段、子程序段等;

每個段都是從 0 開始的獨立邏輯地址空間;

而且各個段的長度因程序而不同。

虛擬地址

段式存儲器管理將虛擬地址分為兩部分:段號和段內地址。與頁式中虛擬地址不同的是,段內地址的位數(shù)不是固定的,段號與段內地址的劃分不是簡單地將一個二進制地址進行高低位的切割得到的。

段表

段表則包括了段長和段基址

地址變換過程

①進程訪問某個邏輯地址時,先取得段號

②若段號大于段表長度,越界錯誤

③查段表得到段開始地址和段長度

④若段內地址大于段長度,越界錯誤

⑤通過段開始地址和段內地址得到物理地址

⑥根據(jù)物理地址讀取數(shù)據(jù)

地址變換過程圖解:

計算例子

通過具體例子來算算就很好理解了。

例:某系統(tǒng)采用分段式存儲管理,在一個進程中,它的段表如下所示,求邏輯地址為(2,89)對應的物理地址(所有數(shù)據(jù)都是十進制)

解答:

根據(jù)邏輯地址(2,89)可以知道,段號為 2,段內地址為 89

根據(jù)段號 2 查段表可知,段號為 2 的段的段長為 380,段基址為 340

由段基址 340 和段內地址 89 相加可得實際的物理地址為 429

分頁與分段的區(qū)別

頁是信息的物理單位,滿足系統(tǒng)空間管理需要。分頁實現(xiàn)離散分配方式,以消減內存的外零頭, 提高內存的利用率;

段是信息的邏輯單位,滿足用戶需要

頁的大小固定,由系統(tǒng)決定;

段的長度不固定, 由用戶決定

分頁的作業(yè)地址空間是一維的(虛擬地址由一個數(shù)表示);

分段的作業(yè)地址空間則是二維的(虛擬地址有兩個數(shù)(段號和段內地址)表示)

段頁式

段頁式存儲器管理則是將段式與頁式結合,優(yōu)缺點互補。

段面向用戶程序需要,段長度不固定;段需要連續(xù)分配空間,存在連續(xù)分配的缺點,例如易產(chǎn)生碎片;

結合段式和頁式兩者管理優(yōu)點,既能節(jié)省內存空間,提高內存分配效率;又能兼顧用戶程序需要。

實現(xiàn)機制

先將用戶程序劃分為多個有邏輯意義的段,再將段劃分為多個頁

段頁式管理需要設置段表和頁表

每個段都對應一張頁表,因此段表存放了每張頁表的開始地址和頁表長度

段頁式存儲器管理方式地址結構

段頁式存儲器管理方式地址映射

段頁式的地址變換過程

①進程訪問某個邏輯地址時,先取得段號

②段號大于段表長度,越界錯誤

③查段表,得到頁表開始地址

④在頁表內,根據(jù)段內頁號查物理塊號

⑤頁內地址直接對應塊內地址

⑥通過物理塊號和塊內地址得到物理地址

⑦根據(jù)物理地址讀取數(shù)據(jù)

地址變換過程圖解:

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲器
    +關注

    關注

    38

    文章

    7403

    瀏覽量

    163399
  • 存儲管理
    +關注

    關注

    0

    文章

    30

    瀏覽量

    9155
收藏 人收藏

    評論

    相關推薦

    嵌入技術解析:、扇區(qū)、塊的區(qū)別

    在嵌入系統(tǒng)開發(fā)中,我們經(jīng)常會涉及到存儲器的概念,其中、扇區(qū)和塊是常見的術語。雖然它們都與存儲器有關,但它們具有不同的定義和用途。本文將深入探討
    發(fā)表于 07-20 10:21 ?5628次閱讀
    嵌入<b class='flag-5'>式</b>技術解析:<b class='flag-5'>頁</b>、扇區(qū)、塊的<b class='flag-5'>區(qū)別</b>

    微機原理--存儲器管理

    微機原理--存儲器管理
    發(fā)表于 04-24 23:08

    什么是基于閃存平臺的存儲管理策略?

    作者:李建勛 樊曉光 禚真福來源:什么是基于閃存平臺的存儲管理策略?在嵌入系統(tǒng)中,由于閃存成本低、容量大、非易失、訪問速度高和機械故障少的優(yōu)勢已逐漸成為最流行的存儲大量數(shù)據(jù)的
    發(fā)表于 07-31 08:17

    存儲系統(tǒng)的層次結構

    的L1 Cache存儲管理段式存儲管理
    發(fā)表于 07-29 09:47

    STM32的存儲器映像

    【朱老師課程總結 侵刪】第一部分、章節(jié)目錄3.2.1.STM32的存儲器映像3.2.2.STM32的位帶操作詳解3.2.3.STM32的啟動模式3.2.4.STM32的電源管理系統(tǒng)3.2.5.復位
    發(fā)表于 08-20 06:06

    外部存儲器的相關資料下載

    1. 嵌入的外部存儲器嵌入系統(tǒng)中,外部的存儲器一般是Nand flash和Nor flash,都稱為非易失存儲器。
    發(fā)表于 12-10 08:26

    STM32存儲器映像的相關資料

    第一部分、章節(jié)目錄3.2.1.STM32的存儲器映像13.2.2.STM32的存儲器映像23.2.3.STM32的位帶操作詳解3.2.4.STM32的啟動模式3.2.5.STM32的電源管理
    發(fā)表于 12-30 08:11

    linux存儲器管理

     linux存儲器管理 本章主要講解了存儲器管理的基本方式,剖析了Linux 操作系統(tǒng)對內存的管理模式。通過對本章學習,讀者應該
    發(fā)表于 04-28 15:01 ?0次下載

    嵌入系統(tǒng)中基于FAT 表的存儲器管理

    嵌入系統(tǒng)中基于FAT 表的存儲器管理
    發(fā)表于 05-14 14:11 ?33次下載

    NAS網(wǎng)絡存儲器的網(wǎng)絡管理

    NAS網(wǎng)絡存儲器的網(wǎng)絡管理              網(wǎng)絡
    發(fā)表于 01-09 10:21 ?471次閱讀

    微機原理--存儲器管理

    微機原理--存儲器管理
    發(fā)表于 12-14 15:07 ?0次下載

    嵌入存儲器如何來設計

    獲取嵌入存儲器設計的另一種方法是利用存儲器編譯,它能夠快捷和廉價地設計存儲器物理模塊。
    發(fā)表于 10-18 11:52 ?1011次閱讀
    嵌入<b class='flag-5'>式</b><b class='flag-5'>存儲器</b>如何來設計

    只讀存儲器和隨機存儲器區(qū)別

    只讀存儲器和隨機存儲器區(qū)別:作用不同、特點不同
    發(fā)表于 07-27 15:09 ?1.7w次閱讀

    嵌入系統(tǒng)架構淺談:硬件的選型(二) -------外部存儲器

    1. 嵌入的外部存儲器嵌入系統(tǒng)中,外部的存儲器一般是Nand flash和Nor flash,都稱為非易失存儲器。
    發(fā)表于 11-26 19:51 ?10次下載
    嵌入<b class='flag-5'>式</b>系統(tǒng)架構淺談:硬件的選型(二) -------外部<b class='flag-5'>存儲器</b>

    段式存儲管理存儲管理區(qū)別

    段式存儲管理存儲管理是操作系統(tǒng)中兩種常見的內存
    的頭像 發(fā)表于 12-30 17:17 ?4156次閱讀
    <b class='flag-5'>段式</b><b class='flag-5'>存儲</b><b class='flag-5'>管理</b>和<b class='flag-5'>頁</b><b class='flag-5'>式</b><b class='flag-5'>存儲</b><b class='flag-5'>管理</b>的<b class='flag-5'>區(qū)別</b>