為什麼有時優盤是唯讀模式 計算機實模式和保護模式

2021-10-12 20:16:27 字數 2077 閱讀 8719

在實模式下,記憶體被限制為僅有1m位元組(220 位元組)。有效的位址從00000到fffff (十六進製制)。這些位址需要用20位的數來表示。顯然,乙個20位的數不適合任何乙個8086的16位暫存器。intel通過利用兩個16位數值來決定乙個位址的方法來解決這個問題。開始的16位值稱為段位址(selector)。

實際上,段位址的值是一節的首位址(看錶1.2)。

1、乙個段位址只能指向64k記憶體(16位偏移的上限)。如果乙個程式擁有大於64k的**那又怎麼辦呢?在cs裡的乙個單一的值不能滿足整個程式執行的需要。程式必須分成小於64k的段(segment)。當執行從一段移到另一段時,cs裡的值必須改變。同樣的問題發生在大量的資料和ds 暫存器之間。這樣使用是非常不方便的!

在80286的16位保護模式下,段位址的值與實模式相比解釋得完全不同。在實模式下,乙個段位址的值是物理記憶體裡的一節的首位址。在保護模式下,乙個段位址的值是乙個指向描述符表的指標。兩種模式下,程式都是被分成段。在實模式下,這些段在物理記憶體的固定位置而且段位址的值表示段開始處所在節的首位址。在保護模式下,這些段不是在物理記憶體

的固定的位址。事實上,它們根本不一定需要在記憶體中。

保護模式使用了一種叫做虛擬記憶體的技術。虛擬記憶體的基本思想是僅僅儲存程式現在正在使用的**和資料到記憶體中。其它資料和**暫時儲存在硬碟中直到它們再次需要時。當一段從硬碟重新回到記憶體中,它很有可能放在不同於它移動到硬碟之前時的位置的記憶體中。所有這些都由作業系統透明地執行。程式並不需要因為要讓虛擬記憶體工作而使用不同的書寫方法。

在保護模式下,每一段都分配了一條描述符表裡的條目。這個條目擁有系統想知道的關於這段的所有資訊。這些資訊包括:現在是否在記憶體中;如果在記憶體中,在哪;訪問許可權(例如:唯讀)。段的條目的指標是儲存在段暫存器裡的段位址值。

16位保護模式的乙個大的一 個 非 常 著 名 的pc專 缺點是偏移位址依然是16位數。這個的後果就是段的大小依然限制為最大64k。這會導致使用大的陣列時會有問題。

32位保護模式

80386引入了32位保護模式。386 32位保護模式和286 16位保護模式之間

最主要的區別是:

1. 偏移位址擴充套件成了32位。這就允許偏移位址範圍公升至4g。因此,段的大小也公升至4g。

2. 段可以分成較小的4k大小的單元,稱為記憶體頁。虛擬記憶體系統工作在頁的方式下,代替了段方式。這就意味著一段在任何乙個時刻只有部分可能在記憶體中。在28616位保護模式下,要麼整個段在記憶體中,要麼整個不在。這樣在32位模式下允許的大的段的情況下很不實用。

在windows 3.x系統中,標準模式為286 16位保護模式而增強模式為32位保護模式。windows 9x,windows nt/2000/xp,os/2和linux都執行在分頁管理的32位保護模式下。

有時候普通的程式流必須可以被要求快速反應的處理事件中斷。電腦提供了乙個稱為中斷的結構來處理這些事件。例如:當乙個滑鼠移動了,硬體滑鼠中斷現在的程式來處理滑鼠移動(移動滑鼠,等等)。中斷導致控制權轉移到乙個中斷處理程式。中斷處理程式是處理中斷的程式。每種型別的中斷都分配了乙個中斷號。在物理記憶體的開始處,存在一張包含中斷處理

程式段位址的中斷向量表。中斷號是這張表中最基本的指標。

外部中斷由cpu的外部引起。(滑鼠就是這一型別的例子。)許多i/o裝置引起中斷(例如:鍵盤,時鐘,硬碟驅動器,cd-rom和音效卡)。內部中斷由cpu的內部引起,要麼是由乙個錯誤引起,要麼由中斷指令引起。錯誤中斷稱為陷阱。由中斷指令引起的中斷稱為軟中斷。dos使用這些型別的中斷來實現它的api(應用程式介面)。許多現代的作業系統(如:windows和unix)使用乙個基於c的介面。

許多中斷處理程式當它執行完成時,將控制權返回給被中斷的程式。它們恢復暫存器,裡面的值與中斷發生之前的值相同。因此,被中斷的程式就像沒有任何事情發生一樣執行(除了它失去了一些cpu週期)。陷阱通常不返回。通常它們中止程式。

什麼是計算機

本人是學電子資訊工程專業畢業的,出來從事前嵌入式軟體相關的工作。但在工作的過程中,慢慢的發現自己的計算機的基礎是很薄弱的,常常因為不懂理論基礎遇到很多的問題。為此我決定要不回來這方面的不足。從今天開始我就按照我每天學習的東西寫到部落格上。傻瓜計算機 我常常問自己什麼是計算機,今天從書上看到的答案是 ...

什麼是計算機

馮 諾依曼 john von neumann,1903年12月28日 1957年2月8日 美籍匈牙利數學家 計算機科學家 物理學家,是20世紀最重要的數學家之一。1 4 馮 諾依曼是布達佩斯大學數學博士,在現代計算機 博弈論 核 和生化 等領域內的科學全才之一,被後人稱為 現代計算機之父 博弈論之父...

什麼是計算機?

計算機俗稱電腦,是能夠按照程式執行,自動 高速處理海量資料的現代化智慧型電子裝置。既可以進行數值計算,又可以進行邏輯計算,還具有儲存記憶功能。計算機可分為超級計算機 工業控制計算機 網路計算機 個人計算機 嵌入式計算機五類。主要由硬體系統和軟體系統組成。機箱,主機板,匯流排,電源,硬碟,儲存控制器,...