當前位置:首頁 » 存儲配置 » 段式存儲是物理地址

段式存儲是物理地址

發布時間: 2023-05-22 09:14:44

存儲器地址的段地址、偏移地址和物理地址

1、(1)段地址:2314H,偏移地址:0035H,物理地址:23175H
(2)
段地址:1FD0H,偏移地址:00A0H,物理地址:1FDA0H2、依次為85H~8CH,計算公式:有效地址=物理地址-DS*16。由於是16位機,一次處理數據16位,即2位元組,這里有8個位元組,所以,要訪問4次。

Ⅱ 一題關於計算機操作系統的段式存儲的問題(邏輯地址轉物理地址)

[0,137]:舉帆40*1024+137=41097B
[1,9000]:80*1024+9000=90920B
[2,3600]:100*1024+3600=106000B
[3,230]不畝答猜迅型合法

Ⅲ 物理地址是什麼

物理地址是什麼啊?
是指你的 網卡 MAC地址,,就相當於一個編號吧網卡物理地址存儲器中存儲單元對應實際地址稱物理地址

MAC(Media Access Control, 介質訪問控制)地址是識別LAN(區域網)節點的標識。網卡的物理地址通常是由磨轎網卡生產廠家燒入網卡的EPROM(一種快閃記憶體襲亮晶元,通常可以通過程序擦寫),它存儲的是傳輸數據時真正賴以標識發出數據的電腦和接收數據的主機的地址。

也就是說,在網路底層的物理傳輸過程中,是通過物理地址來識別主機的,它一般也是全球唯一的。比如,著名的乙太網卡,其物理地址是48bit(比特位)的整數,如:44-45-53-54-00-00,以機器可讀的方式存入主機介面中。乙太網地址管理機構(IEEE)將乙太網地址,也就是48比特的不同組合,分為若干獨立的連續地址組,生產乙太網網卡的廠家就購買其中一組,具體生產時,逐個將唯一地址賦予乙太網卡。

形象的說,MAC地址就如同我們身份證上的身份證號碼,具有全球唯一性。

怎麼查詢電腦物理地址
步驟如下: 方法一 1.打開【運行】按鈕。

2.在【運行】對話框輸入【cmd】,點擊確定。 3.在命令提示符里輸入【ipconfig -all】。

4.按下回車鍵即可查看到物理地址。 方法二: 1.打開【網路和共享中心】。

2.點擊【乙太網】按鈕。 3.點擊【詳細信息】即可完成對物理地址的查詢。

(3)段式存儲是物理地址擴展閱讀:描述 地址從0開始編號,順序地每次加1,因此存儲器的物理地址空間是呈線性增長的。它是用二進制數來表示的,是無符號整數,書寫格式為十六進制數。

它是出現在CPU外部地址匯流排上的定址物理內存的地址信號,是地址變換的最終結果。用於內存晶元級的單元定址,與處理器和CPU連接的地址匯流排相對應。

在計算機科學中,物理地址(英語:physical address),也叫實地址(real address)、二進制地址(binary address),它是在地址匯流排上,以電子形式存在的,使得數據匯流排可以訪問主存的某個特定存儲單元的內存地址。 在和虛擬內存的計算機中,物理地址這個術語多用於區分虛擬地址。

尤其是在使用內存管理單元(MMU)轉換內存地址的計算機中,虛擬和物理地址分別指在經MMU轉換之前和之後的地址。在計算機網路中,物理地址有時又是MAC地址的同義詞。

這個地址實際上是用於數據鏈路層,而不是如它名字所指的物理層上的。 參考資料來源:拍游寬網路:物理地址。
什麼是物理地址?
物理地址是你的網卡地址,MAC(Media Access Control, 介質訪問控制)地址是識別LAN(區域網)節點的標識。網卡的物理地址通常是由網卡生產廠家燒入網卡的EPROM(一種快閃記憶體晶元,通常可以通過程序擦寫),它存儲的是傳輸數據時真正賴以標識發出數據的電腦和接收數據的主機的地址。

也就是說,在網路底層的物理傳輸過程中,是通過物理地址來識別主機的,它一般也是全球唯一的。比如,著名的乙太網卡,其物理地址是48bit(比特位)的整數,如:44-45-53-54-00-00,以機器可讀的方式存入主機介面中。乙太網地址管理機構(IEEE)將乙太網地址,也就是48比特的不同組合,分為若干獨立的連續地址組,生產乙太網網卡的廠家就購買其中一組,具體生產時,逐個將唯一地址賦予乙太網卡。

形象的說,MAC地址就如同我們身份證上的身份證號碼,具有全球唯一性。

可以這樣獲取MAC地址:在Windows 98/Me中,依次單擊「開始」→「運行」 →輸入「winipcfg」→回車。即可看到MAC地址。在Windows 2000/XP中,依次單擊「開始」→「運行」→輸入「CMD」→回車→輸入「ipconfig /all」→回車。即可看到MAC地址
什麼是物理地址?物理地址有何作用?
網路中的地址分為物理地址和邏輯地址兩類,與網路層的IP地址 傳輸層的埠號以及應用層的用戶名相比較,局域望網的MAC層地址是由硬體來處理的,叫做物理地址或硬體地址.IP地址 傳輸層的埠號以及應用層的用戶名是邏輯地址一由軟體處理.我認為你說的MAC地址應該就是物理地址.

大多數區域網通過為網卡分配一個硬體地址來標識一個聯網的計算機或其他設備.所謂物理地址是指固化在網卡EPROM中的地址,這個地址應該保證在全網是唯一的.IEEE注冊委員會為每一個生產廠商分配物理地址的前三位元組,即公司標識.後面三位元組由廠商自行分配.即一個廠商獲得一個前三位元組的地址可以生產的網卡數量是16777216塊.即一塊網卡對應一個物理地址.也就是說對應物理地址的前三位元組可以知道他的生產廠商.

如果固化在網卡中的地址為002514895423,那麼這塊網卡插到主機A中,主機A的地址就是002514895423,不管主機A是連接在區域網1上還是在區域網2上,也不管這台計算機移到什麼位置,主機A的物理地址就是002514895423 .它是不變的,而且不會和世界上任何一台計算機相同.當主機A發送一幀時,網卡執行發送程序時,直接將這個地址作為源地址寫入該幀.當主機A接收一幀時,直接將這個地址與接收幀目的地址比較,以決定是否接收.

物理地址一般記作00-25-14-89-54-23(主機A的地址是002514895423)
什麼是電腦里的「物理地址」?
電腦里的物理地址是指固化在硬體網卡里不能隨便更改的唯一標識。

網路中的地址分為物理地址和邏輯地址兩類:

與網路層的IP地址、傳輸層的埠號以及應用層的用戶ID相比較,區域網的MAC層地址是由硬體來處理的,叫做物理地址或硬體地址;

而IP地址、傳輸層的埠號以及應用層的用戶名是邏輯地址——由軟體處理。

MAC地址一般被稱為物理地址,固化在網卡EPROM中的地址。這個地址應該保證在全網是唯一的.IEEE注冊委員會為每一個生產廠商分配物理地址的前三位元組,即公司標識。後面三位元組由廠商自行分配,即一個廠商獲得一個前三位元組的地址可以生產的網卡數量是16777216塊。
什麼是線性地址?和物理地址的區別是什麼呢?
386架構里,cpu可以處於實模式和保護模式。

實模式下,cpu指令訪問的地址就是物理地址,形式為:段寄存器:偏移

在保護模式下,cpu可以使用分段機制和分頁機制。

分段機制下使用的地址就是邏輯地址,形式為:段選擇子:偏移

分頁機制下使用的地址就是線性地址,形式為:0xXXXXXXXX

無論是邏輯地址還是線性地址,都要被cpu映射成物理地址。

保護模式下必須採用分段機制。在此基礎上可採用分頁機制。

邏輯地址被轉化為線性地址,如果採用分頁機制,則該線性地址通過分頁機制被映射成物理地址。如果不採用分頁機制,則該線性地址就是物理地址。

實模式下的物理地址只能訪問1M以下空間,而保護模式下的物理地址可以訪問所有32位空間。並且要注意,物理內存空間只是物理地址空間的一個部分而已。

另外還有一個」匯流排地址「的概念,是從匯流排設備的角度來說的。

linux系統里,對cpu來說,物理內存的首地址是從線性地址的0xc0000000開始的。而對匯流排設備來說,物理內存的首地址可能是從匯流排地址0x00000000開始,也可能是從另外的匯流排地址開始,隨系統而異。這也是為什麼內核里經常有vir_to_phy 和vir_to_bus轉換的緣故。

還有~~~

關於物理地址,線性地址和虛擬地址的區別,我只能憑我的理解簡單說說,可能不準確。物理地址在什麼時候都存在,但是在採用分頁技術和虛擬內存技術後,你很難確定物理地址在那裡,所以建議在實模式下採用物理地址和線性地址形式,這時候物理地址和線性地址其實是一致的。最常用的,比方說,計算機啟動後的地址是0xfff0:0000,裝載BIOS,然後轉移到0x07C0:0000,所以總可以設置一個物理斷點0x7C00,開始調試你的bootloader。

Ⅳ 物理地址.邏輯地址.段地址.偏移地址的具體含義和作用是什麼

實模式下,每個存儲單高旁元分配一個惟一的20位二進制數(5位十六進制數)的存儲器地址,稱為物理地址。
邏輯地址由16位二進制數(4位十六進制數)的段地址和偏移地址組成。
段首地址:5位十六進制數中的末尾1位十六進制數為0的地址,即可作為段首地址
段地址是指每一段的段首地址攜喊的高4位十六進制數,通常被保存在某個段寄存器中。
偏移地址則是指在段內相對於段首地址的偏戚隱橡移值,也取4位十六進制數。

Ⅳ 計算機組成原理——虛擬存儲器

(1)程序員在比實際主存大得多的邏輯地址空間中編寫程序

(2)程序執行時,把當前需要的程序段和數據塊掉入主存,其他暫不使用的放在磁碟上

(3)執行指令時,通過硬體將邏輯地址轉化為物理地址。虛擬地址高位為虛頁號,低位為頁內偏移地址

(4)當程序發生數據訪問或程序訪問失效(缺頁時),由操作系統把信息從磁碟調入主存中

    (1)基本思想:

        內存被分成固定長度且長度較小的存儲塊(頁框,實頁,物理頁)

        每個進程也被劃分為固定長度的程序塊(頁,虛頁,邏輯頁)

        通過頁表,實現邏輯地址想物理地址的轉化

    (2)邏輯地址

        程序中指令所使用的地址(進程所在地址空間)

    (3)物理地址

        存放指令或數據的實際內存地址

(1)與「cache-主存」層次相比,頁大小遠比cache的行大小要大(windows中的頁位4k)

(2)採用全相聯映射方式:磁碟中的任意一個頁能用射到內存中的任意一個頁

    因為缺頁導致中斷時,操作系統從磁碟拿數據通常要耗費幾百萬個時鍾周期。增大頁大小,可以減少缺頁中斷

(3)為什麼讓軟體處理「缺頁」

    因為訪問磁碟需要好粉幾百萬個時鍾周期,硬體即使能立刻把地址打給磁碟,磁碟也不能立即響應

(4)為什麼地址轉換用硬體實現

    硬體實現地址轉換可以加快指令的執行速度

(5)為什麼頁寫會策略採用write back

    避免頻繁的慢速磁碟訪問

頁表的首地址放在基址寄存器。採用基址定址方式

每個頁表項前面有一個虛頁號:從0開始遞增的序號。頁表項又分為幾個結構:

(1)裝入位:該頁是否在內存中

(2)修改位:該也在內存中是否被修改

(3)替換控制位:用於clock演算法

(4)其他

(5)實頁號(8進制)

(1)一次磁碟引用需要訪問幾次主存?2次,一次查頁表,一次查物理地址。於是,把經常查的頁表放到cache中。這種在cache頁表項組成的頁表稱為TLB(Translation Lookside Buffer)

(2)TLB的頁表結構:tag + 主存中的頁表項

當採用全相連映射時,tag為頁表項前面的虛頁號。需要把tag和虛頁號一一比較

當採用組相聯映射時,tag被分為tag+index,虛頁號的高位為tag,虛頁號的低位為index,做組內索引(屬於組內第幾行)

    1.段式存儲是根據程序邏輯,給程序分段。使得每段大小不同。這種虛擬地址劃分方法適合程序設計

    2.段式存儲的虛擬地址由段號和段內偏移地址組成。段式虛擬存儲器到物理地址的映射通過段表實現

    3.段式虛擬存儲會造成空頁

    1.段頁式虛擬存儲,先把程序按照邏輯分成段,再把每段分成固定大小的頁。

    2.程序對主存的調入調出是按照頁面進行的;但他有可以根據段實現共享和保護

    3.缺點是段頁式虛擬地址轉換成物理地址需要查詢2個表:段表和頁表。段表找到相應頁表的位置,頁表找到想也頁的位置

    4.段頁式細膩地址的結構可以為以下形式:

            程序地址: 用戶號(進程pid) | 段號 | 頁號 | 頁內偏移地址

(1)某計算機的cache塊工16塊,採用二路組相聯映射方式,每個主存塊大小為32位元組,按照位元組編制。則主存129號單元的主存塊硬裝如刀cache的組號是:(C)A、0      B、2      C、4      D、6

解:二路組相聯,所以每組2塊,共有16/2=8組,所以組號佔3位。

      每塊32位元組,所以塊內地址佔5位。

      129轉化為二進制:1000 0001:前3位為組號,100:=4

(2)假設用若干個2K4位的晶元組成一個8K8位的存儲器,則地址0B1FH所在晶元的最小地址為:

解:用2片組成一行,共4行,所以片選地址佔2位。片內地址有2k=211,所以佔11位

      0B1FH:000|0 1|011 0001 1111 這三段為前綴,片選地址,片內地址。

      該片晶元的最小地址是片內地址全0:000|0 1|000 0000 0000 = 0800H

(3)某計算機的主存地址空間大小為256MB,按位元組編址,指令cache和數據cache分離,均有8個cache行,每行大小為64B,數據cache採用直接映射方式,現有兩個程序A,B對數組int a[256][256]進行遍歷,程序A按行遍歷,程序B按列遍歷。假定int類型數據用32位補碼表示,數組a按行優先方式存儲,其地址為320(十進制)。

問:(1) 若不考慮cache一致性維護和替換演算法所需的控制位,則數據cache的總容量佔多少?

      (2) 數組元素a[0][31]和a[1][1]各自所在主存塊對應的cache行號分別為多少(cache從0行開始)?

      (3)程序A和B的數據訪問命中率各自為多少?哪個程序的執行時間更短?

解:(1) 因為cache的總容量是cache每行的數據存儲大小+tag位+數據是否有效位+其他一致性控制位。

          主存地址空間256MB,佔28位。直接映射方式,8行,行號佔3位。每行64B,所以塊內地址佔6位,因此,tag佔28-3-6=19位

          每行有一個數據有效位。因此,cache共(19+1+648)8 = 532位元組

      (2) 因為int類型佔32位,所以一個int佔4B。a[0][31] = 320 + 314 = 444 a1 = 320 + 4(256+1) = 1348。

          塊內地址佔6位,直接映射下行號佔3位,因此444 = 110 | 111100,所以行號為6

          1348 = 10 | 101 | 000100,所以行號為5

      (3) 因為1行cache佔64B,每個int數佔4B,所以一行有16個數。第一個數會因cache缺失而不命中,然後調入cache。,使得後面的15個int訪問全部命中。所以命中率為1516 對於程序B,每次調入16個數,小於數組每行的128個元素,因此每次都不會命中,命中率為0

Ⅵ 在基本段式存儲管理系統中,邏輯地址由什麼構成

存儲管理的基本原理內存管理方法
內存管理主要包括內存分配和回收、地址變換、內存擴充、內存共享和保護等功能。
下面主要介紹連續分配存儲管理、覆蓋與交換技術以及頁式與段式存儲管理等基本概念和原理。
1. 連續分配存儲管理方式
連續分配是指為一個用戶程序分配連續的內存空間。連續分配有單一連續存儲管理和分區式儲管理兩種方式。
(1)單一連續存儲管理
在這種管理方式中,內存被分為兩個區域:系統區和用戶區。應用程序裝入到用戶區,可使用用戶區全部空間。其特點是,最簡單,適用於單用戶、單任務的操作系統。CP/M和dos 2.0以下就是採用此種方式。這種方式的最大優點就是易於管理。但也存在著一些問題和不足之處,例如對要求內存空間少的程序,造成內存浪費;程序全部裝入,使得很少使用的程序部分也佔用—定數量的內存。
(2)分區式存儲管理
為了支持多道程序系統和分時系統,支持多個程序並發執行,引入了分區式存儲管理。分區式存儲管理是把內存分為一些大小相等或不等的分區,操作系統佔用其中一個分區,其餘的分區由應用程序使用,每個應用程序佔用一個或幾個分區。分區式存儲管理雖然可以支持並發,但難以進行內存分區的共享。
分區式存儲管理引人了兩個新的問題:內碎片和外碎片。前者是佔用分區內未被利用的空間,後者是佔用分區之間難以利用的空閑分區(通常是小空閑分區)。為實現分區式存儲管理,操作系統應維護的數據結構為分區表或分區鏈表。表中各表項一般包括每個分區的起始地址、大小及狀態(是否已分配)。
分區式存儲管理常採用的一項技術就是內存緊縮(compaction):將各個佔用分區向內存一端移動,然後將各個空閑分區合並成為一個空閑分區。這種技術在提供了某種程度上的靈活性的同時,也存在著一些弊端,例如:對佔用分區進行內存數據搬移佔用cpu~t寸間;如果對佔用分區中的程序進行「浮動」,則其重定位需要硬體支持。
1)固定分區(nxedpartitioning)。
固定式分區的特點是把內存劃分為若干個固定大小的連續分區。分區大小可以相等:這種作法只適合於多個相同程序的並發執行(處理多個類型相同的對象)。分區大小也可以不等:有多個小分區、適量的中等分區以及少量的大分區。根據程序的大小,分配當前空閑的、適當大小的分區。這種技術的優點在於,易於實現,開銷小。缺點主要有兩個:內碎片造成浪費;分區總數固定,限制了並發執行的程序數目。
2)動態分區(dynamic partitioning)。
動態分區的特點是動態創建分區:在裝入程序時按其初始要求分配,或在其執行過程中通過系統調用進行分配或改變分區大小。與固定分區相比較其優點是:沒有內碎片。但它卻引入了另一種碎片——外碎片。動態分區的分區分配就是尋找某個空閑分區,其大小需大於或等於程序的要求。若是大於要求,則將該分區分割成兩個分區,其中一個分區為要求的大小並標記為「佔用」,而另一個分區為餘下部分並標記為「空閑」。分區分配的先後次序通常是從內存低端到高端。動態分區的分區釋放過程中有一個要注意的問題是,將相鄰的空閑分區合並成一個大的空閑分區。
下面列出了幾種常用的分區分配演算法:
首先適配法(nrst-fit):按分區在內存的先後次序從頭查找,找到符合要求的第一個分區進行分配。該演算法的分配和釋放的時間性能較好,較大的空閑分區可以被保留在內存高端。但隨著低端分區不斷劃分會產生較多小分區,每次分配時查找時間開銷便會增大。
下次適配法(next-fit):按分區在內存的先後次序,從上次分配的分區起查找(到最後{區時再從頭開始},找到符合要求的第一個分區進行分配。該演算法的分配和釋放的時間性能較好,使空閑分區分布得更均勻,但較大空閑分區不易保留。
最佳適配法(best-fit):按分區在內存的先後次序從頭查找,找到其大小與要求相差最小的空閑分區進行分配。從個別來看,外碎片較小;但從整體來看,會形成較多外碎片優點是較大的空閑分區可以被保留。
最壞適配法(worst- fit):按分區在內存的先後次序從頭查找,找到最大的空閑分區進行分配。基本不留下小空閑分區,不易形成外碎片。但由於較大的空閑分區不被保留,當對內存需求較大的進程需要運行時,其要求不易被滿足。
2.覆蓋和交換技術
引入覆蓋(overlay)技術的目標是在較小的可用內存中運行較大的程序。這種技術常用於多道程序系統之中,與分區式存儲管理配合使用。覆蓋技術的原理很簡單,一個程序的幾個代碼段或數據段,按照時間先後來佔用公共的內存空間。將程序必要部分(常用功能)的代碼和數據常駐內存;可選部分(不常用功能)平時存放在外存(覆蓋文件)中,在需要時才裝入內存。不存在調用關系的模塊不必同時裝入到內存,從而可以相互覆蓋。覆蓋技術的缺點是編程時必須劃分程序模塊和確定程序模塊之間的覆蓋關系,增加編程復雜度;從外存裝入覆蓋文件,以時間延長換取空間節省。覆蓋的實現方式有兩種:以函數庫方式實現或操作系統支持。
交換(swapping)技術在多個程序並發執行時,可以將暫時不能執行的程序送到外存中,從而獲得空閑內存空間來裝入新程序,或讀人保存在外存中而處於就緒狀態的程序。交換單位為整個進程的地址空間。交換技術常用於多道程序系統或小型分時系統中,與分區式存儲管理配合使用又稱作「對換」或「滾進/滾出」(roll-in/roll-out)。其優點之一是增加並發運行的程序數目,並給用戶提供適當的響應時間;與覆蓋技術相比交換技術另一個顯著的優點是不影響程序結構。交換技術本身也存在著不足,例如:對換人和換出的控制增加處理器開銷;程序整個地址空間都進行對換,沒有考慮執行過程中地址訪問的統計特性。
3.頁式和段式存儲管理
在前面的幾種存儲管理方法中,為進程分配的空間是連續的,使用的地址都是物理地址。如果允許將一個進程分散到許多不連續的空間,就可以避免內存緊縮,減少碎片。基於這一思想,通過引入進程的邏輯地址,把進程地址空間與實際存儲空間分離,增加存儲管理的靈活性。地址空間和存儲空間兩個基本概念的定義如下:
地址空間:將源程序經過編譯後得到的目標程序,存在於它所限定的地址范圍內,這個范圍稱為地址空間。地址空間是邏輯地址的集合。
存儲空間:指主存中一系列存儲信息的物理單元的集合,這些單元的編號稱為物理地址存儲空間是物理地址的集合。
根據分配時所採用的基本單位不同,可將離散分配的管理方式分為以下三種
段式存儲管理和段頁式存儲管理。其中段頁式存儲管理是前兩種結合的產物。
(1)頁式存儲管理
1)基本原理。將程序的邏輯地址空間劃分為固定大小的頁(page),而物理內存劃分為同樣大小的頁框(pageframe)。程序載入時,可將任意一頁放人內存中任意一個頁框,這些頁框不必連續,從而實現了離散分配。該方法需要cpu的硬體支持,來實現邏輯地址和物理地址之間的映射。在頁式存儲管理方式中地址結構由兩部構成,前一部分是頁號,後一部分為頁內地址,如圖4-2所示。
這種管理方式的優點是,沒有外碎片,每個內碎片不超過頁大比前面所討論的幾種管理方式的最大進步是,一個程序不必連續存放。這樣就便於改變程序佔用空間的大小(主要指隨著程序運行,動態生成的數據增多,所要求的地址空間相應增長)。缺點是仍舊要求程序全部裝入內存,沒有足夠的內存,程序就不能執行。
2)頁式管理的數據結構。在頁式系統中進程建立時,操作系統為進程中所有的頁分配頁框。當進程撤銷時收回所有分配給它的頁框。在程序的運行期間,如果允許進程動態地申請空間,操作系統還要為進程申請的空間分配物理頁框。操作系統為了完成這些功能,必須記錄系統內存中
實際的頁框使用情況。操作系統還要在進程切換時,正確地切換兩個不同的進程地址空間到物理內存空間的映射。這就要求操作系統要記錄每個進程頁表的相關信息。為了完成上述的功能,—個頁式系統中,一般要採用如下的數據結構。
進程頁表:完成邏輯頁號(本進程的地址空間)到物理頁面號(實際內存空間)的映射。
每個進程有一個頁表,描述該進程佔用的物理頁面及邏輯排列順序。
物理頁面表:整個系統有一個物理頁面表,描述物理內存空間的分配使用狀況,其數據結構可採用位示圖和空閑頁鏈表。
請求表:整個系統有一個請求表,描述系統內各個進程頁表的位置和大小,用於地址轉換也可以結合到各進程的pcb(進程式控制制塊)里。
3)頁式管理地址變換
在頁式系統中,指令所給出的地址分為兩部分:邏輯頁號和頁內地址。cpu中的內存管理單元(mmu)按邏輯頁號通過查進程頁表得到物理頁框號,將物理頁框號與頁內地址相加形成物理地址(見圖4-3)。上述過程通常由處理器的硬體直接完成,不需要軟體參與。通常,操作系統只需在進程切換時,把進程頁表的首地址裝入處理器特定的寄存器中即可。一般來說,頁表存儲在主存之中。這樣處理器每訪問一個在內存中的操作數,就要訪問兩次內存。第一次用來查找頁表將操作數的邏輯地址變換為物理地址;第二次完成真正的讀寫操作。這樣做時間上耗費嚴重。為縮短查找時間,可以將頁表從內存裝入cpu內部的關聯存儲器(例如,快表)中,實現按內容查找。此時的地址變換過程是:在cpu給出有效地址後,由地址變換機構自動將頁號送人快表,並將此頁號與快表中的所有頁號進行比較,而且這種比較是同時進行的。若其中有與此相匹配的頁號,表示要訪問的頁的頁表項在快表中。於是可直接讀出該頁所對應的物理頁號,這樣就無需訪問內存中的頁表。由於關聯存儲器的訪問速度比內存的訪問速度快得多。
(2)段式存儲管理
1)基本原理。
在段式存儲管理中,將程序的地址空間劃分為若干個段(segment),這樣每個進程有一個二維的地址空間。在前面所介紹的動態分區分配方式中,系統為整個進程分配一個連續的內存空間。而在段式存儲管理系統中,則為每個段分配一個連續的分區,而進程中的各個段可以不連續地存放在內存的不同分區中。程序載入時,操作系統為所有段分配其所需內存,這些段不必連續,物理內存的管理採用動態分區的管理方法。在為某個段分配物理內存時,可以採用首先適配法、下次適配法、最佳適配法等方法。在回收某個段所佔用的空間時,要注意將收回的空間與其相鄰的空間合並。段式存儲管理也需要硬體支持,實現邏輯地址到物理地址的映射。程序通過分段劃分為多個模塊,如代碼段、數據段、共享段。這樣做的優點是:可以分別編寫和編譯源程序的一個文件,並且可以針對不同類型的段採取不同的保護,也可以按段為單位來進行共享。總的來說,段式存儲管理的優點是:沒有內碎片,外碎片可以通過內存緊縮來消除;便於實現內存共享。缺點與頁式存儲管理的缺點相同,進程必須全部裝入內存。
2)段式管理的數據結構。
為了實現段式管理,操作系統需要如下的數據結構來實現進程的地址空間到物理內存空間的映射,並跟蹤物理內存的使用情況,以便在裝入新的段的時候,合理地分配內存空間。
·進程段表:描述組成進程地址空間的各段,可以是指向系統段表中表項的索引。每段有段基址(baseaddress)。
·系統段表:系統所有佔用段。
·空閑段表:內存中所有空閑段,可以結合到系統段表中。
3)段式管理的地址變換。
在段式管理系統中,整個進程的地址空間是二維的,即其邏輯地址由段號和段內地址兩部分組成。為了完成進程邏輯地址到物理地址的映射,處理器會查找內存中的段表,由段號得到段的首地址,加上段內地址,得到實際的物理地址(見圖4—4)。這個過程也是由處理器的硬體直接完成的,操作系統只需在進程切換時,將進程段表的首地址裝入處理器的特定寄存器當中。這個寄存器一般被稱作段表地址寄存器。
4.頁式和段式系統的區別
頁式和段式系統有許多相似之處。比如,兩者都採用離散分配方式,且都通過地址映射機構來實現地址變換。但概念上兩者也有很多區別,主要表現在:
·頁是信息的物理單位,分頁是為了實現離散分配方式,以減少內存的外零頭,提高內存的利用率。或者說,分頁僅僅是由於系統管理的需要,而不是用戶的需要。段是信息的邏輯單位,它含有一組其意義相對完整的信息。分段的目的是為了更好地滿足用戶的需要。
·頁的大小固定且由系統決定,把邏輯地址劃分為頁號和頁內地址兩部分,是由機器硬體實現的。段的長度不固定,且決定於用戶所編寫的程序,通常由編譯系統在對源程序進行編譯時根據信息的性質來劃分。
·頁式系統地址空間是一維的,即單一的線性地址空間,程序員只需利用一個標識符,即可表示一個地址。分段的作業地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內地址。


原理作業10. 頁式存儲管理和段式存儲管理的工作原理特點、特點
及優劣。

答:頁式管理的基本思想是:為了更好地利用分區存儲管理中
所產生的"零頭"問題,允許把一個作業存放在不連續的內存塊中,
又可以連續運行,它允許只調入用戶作業中常用部分,不常用部分
不長期駐留內存,有效提高了內存的利用率。

頁式存儲管理的工作原理:
A、劃分實頁:將物理內存劃分成位置固定、大小相同的"塊"(實頁
面)。
B、劃分虛頁:將用戶邏輯地址空間也分成同樣大小的頁面,成為虛
擬空間的虛頁面。
C、建立頁表:有時稱為頁面表或頁面映射表(pmt)。每個作業一
張,按虛頁號進行登記,其基本的內容有特徵位(表示該頁是否
在內存、實頁號以及對應外存的地址。
D、地址變換:將虛頁面的邏輯地址轉化為實頁面的物理地址,在程
序執行時改變為物理地址,屬於作業的動態重定位,一般由地址
轉換機構(硬體)完成。

特點:
允許一個作業存放在不連續的內存塊中而又能保證作業連續得以運行
,既不需要移動內存中的信息,又可較好地解決零頭。

優點:
a、不要求作業存放在連續的內存塊中,有效地解決零頭。
b、允許用戶作業不是一次集中裝入內存而是根據需要調入,作業中
不常用部分不長期駐留內存,而本次運行的不用部分根本就不裝
入內存。
c、提供了虛存,使用戶作業地址空間不再受內存可用空間大小的限
制。

Ⅶ 寫出段式存儲器管理中地址轉換過程

xxxx:yyyy 這是表示方法
xxxx*10H+yyyy就是物理地址

Ⅷ 3,400的物理地址是什麼

在一段式存首爛儲管理系統中,其段表如表所示首臘。 若邏輯地址表示形式為[段號,段內偏移],則與邏輯地址[3,400]對應的物者芹滑理地址是17

Ⅸ 怎樣理解存儲器地址的分段,老是不理解為啥要分段啊

8086CPU的數據線是16位的(16位機),所以,CPU內部的寄存器包括地址寄存器都是16位的,因而對地址的操作也只能是16位,也就是說,對於8086,操作數的尋找限制在64 K范圍內。但8086有20條地址線,它的直接定址能力為1M位元組。這樣就產生了一個矛盾,即16位地址寄存器如何去定址20位的存儲器的物理地址。解決這個問題的辦法就是8086對存儲器進行分段管理,將1 M位元組的內存儲器,分為若干個存儲區域,每個區域稱為一個段,每一段都在一個連續的區域內,容量最大為64 K位元組。
合成物理地址時,將段地址左移4位(擴展成20位),再加上16位偏移量。段地址是由8086中的段寄存器提供的。物理地址形成公式為:物理地址=(段寄存器)×16+16位偏移量。

Ⅹ 請高手講解一下在微機原理裡面,偏移地址,段地址,物理地址之間的關系!配合圖解更好,謝謝!

物理地址等於段地址*16+偏移地址

就數學意義,就是段寄存器值(16位)左移4位加上通用寄存器裡面的值(也是16位),得到20位物理地址。段寄存器裡面的是段地址,通用寄存器里旁凱面的賣沒是偏移地址。

這20位地址用來在內存定址,表示的是存儲單中啟納元的地址

熱點內容
openvas源碼 發布:2025-02-07 23:48:14 瀏覽:318
面java 發布:2025-02-07 23:36:21 瀏覽:617
編譯原理練習題第三章答案 發布:2025-02-07 23:35:05 瀏覽:752
爐石寫腳本 發布:2025-02-07 23:31:24 瀏覽:985
stdstring源碼 發布:2025-02-07 23:26:46 瀏覽:782
伺服器在手機上怎麼開 發布:2025-02-07 23:25:07 瀏覽:734
我的世界怎麼進2s2t伺服器 發布:2025-02-07 23:08:47 瀏覽:925
丁霞訪問 發布:2025-02-07 22:56:19 瀏覽:855
java中set集合 發布:2025-02-07 22:43:34 瀏覽:31
播放這個wifi密碼是多少 發布:2025-02-07 22:34:54 瀏覽:100