保護模式

保護模式 （ Protected Mode ， 或有時簡寫爲 pmode ） 是一種80286系列和之後的x86兼容CPU的操作模式 。 保護模式有一些新的特性 ， 如記憶體保護 ， 分頁系統以及硬體支援的虛擬記憶體 ， 能夠增強多任務處理和系統穩定度 。 現今大部分的x86作業系統都在保護模式下運行 ， 包含Linux 、 FreeBSD 、 以及微軟Windows 2.0 和之後版本 。 另外一種286和其之後CPU的操作模式是真實模式 ， 這是一種向前相容且關閉了保護模式這些特性的CPU運行模式 ， 用來讓新的晶片可以執行舊的軟體 。 所有的x86 CPU都是在真實模式下開機 ， 來確保傳統作業系統的相容性 。 爲了使用保護模式的特性 ， 要由程式主動地切換到保護模式 。 在現今的電腦上 ， 這種切換通常是作業系統在開機時候完成的第一件工作 。 當CPU在保護模式下運行時 ， 可以使用虛擬86模式來執行爲真實模式設計的程式碼 。 儘管用軟體的方式也有某些可能在真實模式的系統下使用多工 ， 但保護模式下記憶體保護的特色 ， 可以避免有問題的程式破壞其他工作或是作業系統核心所擁有的記憶體 。 保護模式也有中斷正在執行程式的硬體支援 ， 可以實現先佔式多工 。 大部分可以使用保護模式的CPU也擁有32位元暫存器的特性 （ 例如80386系列和其後任何的晶片 ） ， 導入了融合保護模式而成爲32位元處理的概念 。 80286晶片雖有支援保護模式 ， 但是仍然只有16位元暫存器 。 Windows 2.0 和之後版本中的保護模式增強稱爲 " 386增強模式 " ， 是因爲他們除了保護模式外 ， 還需要32位元的暫存器 ， 並且無法在286上面執行 （ 即使286支援保護模式 ） 。 即使在32位元晶片上已經打開了保護模式 ， 但是爲了仿照IBM XT系統記憶體連續的設計特性 ， 1 MiB以上的記憶體並無法存取 。 這種限制可以由打開A20總線來回避 。 在保護模式下 ， 前面32箇中斷都是保留給CPU例外處理用 。 例如 ， 中斷0D （ 十進制13 ） 是一般保護模式錯誤 ， 而中斷00是除以零 。