糯米文學吧

位置:首頁 > 計算機 > 操作系統

保護模式是什麼

保護模式 (Protected Mode,或有時簡寫為 pmode) 是一種 80286 系列和之後的 x86 相容 CPU 操作模式。保護模式有一些新的特性,設計用來增強 多任務 和系統穩定度,像是內存保護,分頁 系統,以及硬件支援的 虛擬內存。大部分的現今 x86 操作系統 都在保護模式下運行,包含 Linux、FreeBSD、以及 微軟 Windows 2.0 和之後版本。

保護模式是什麼

另外一種 286 和其之後 CPU 的操作模式是 真實模式,一種向前相容且關閉這些特色的`模式。設計用來讓新的芯片可以執行舊的軟件。依照設計的規格,所有的 x86 CPU 都是在真實模式下開機,來確保傳統操作系統的向前相容性。在任何保護模式的特色可用前,他們必須要由某些程式手動地切換到保護模式。在現今的電腦,這種切換通常是由 操作系統 在開機時候必須完成的第一件工作的一個。它也可能當 CPU 在保護模式下運行時,使用 虛擬86模式 來執行設計給真實模式的程式碼。

儘管用軟件的方式也有某些可能在真實模式的系統下使用多工,但保護模式下內存保護的特色,可以避免有問題的程式破壞其他工作或是 操作系統 核心所擁有的內存。保護模式也有中斷正在執行程式的硬件支援,可以把 execution content 交給其他工作,得以實現 先佔式多工。

大部分可以使用保護模式的 CPU 也擁有 32 位元暫存器 的特色 (例如 80386 系列和其後任何的芯片),導入了融合保護模式而成為 32 位元處理的概念。80286 芯片雖有支援保護模式,但是仍然只有 16 位元暫存器。Windows 2.0 和之後版本中的保護模式增強稱為 "386 增強模式",是因為他們除了保護模式外,還需要 32 位元的暫存器,並且無法在 286 上面執行 (即使 286 支援保護模式)。

即使在 32 位元芯片上已經打開了保護模式,但是 1 MB 以上的內存並無法存取,是由於一種仿照 IBM XT 系統設計特性的 memory wrap-around(內存連續) 的因素。這種限制可以由打開 A20 line 來回避。

在保護模式下,前面 32 箇中斷都是保留給 CPU 例外處理用。舉個例子,中斷 0D (十進制 13) 是 一般保護模式錯誤 而 中斷 00 是 除以零。

標籤:保護模式