天天看點

作業系統開發--操作模式實模式保護模式

IA-32架構支援三種基本的操作模式:保護模式、實位址模式和系統管理模式。操作模式決定了哪些指令和架構特性是可通路的。

保護模式——這種模式是處理器的原生狀态。保護模式下記憶體段都會有自己的讀寫屬性以及特權等級,這才是保護模式的真正意義。在該模式下,可以讓實位址模式的8086軟體直接執行,并讓該軟體運作于受保護的多任務環境中。盡管運作8086軟體的特性不是一個處理器模式,但是也被稱為虛拟8086模式。在這裡可以好好的把概念厘清,以免混淆,virtual8086模式實際上是一種受保護的模式屬性,可以用于任何任務。

實位址模式——這種模式實作了Intel 8086處理器的程式設計環境(如切換到保護或系統管理模式的能力)。處理器在啟動或複位後,是處于實位址模式的。

系統管理模式(SMM)——這種模式提供了一個透明的機制來實作特定平台的功能,比如說電源管理,系統安全等。當外産SMM中斷引腳本(SMI#)被激活時或在進階的程式設計中中斷控制器(APIC)接收到SMI時,處理器會進入系統管理模式。在該模式下,處理器會進入一個獨立的位址空間,同時把目前進行的程式或任務的上下文儲存下來。接下來執行SMM的代碼。在模式傳回時,處理器會恢複原來儲存的上下文。

很少有人講解64位架構的模式,接下來講下64位都有哪幾種模式。

64位架構增加了一個IA-32e模式,IA-32e模式下有兩個子模式。

相容模式——這種模式允許大多數的16位和32位應用程式直接運作在64位作業系統下而不需要重新編譯。相容模式類似于IA-32下的保護模式。如果作業系統是64位的,那可以支援64位的運作程式,也可以向下相容32位的應用程式。該模式下,程式隻通路線性位址空間的前4G空間。

64位模式——這種模式允許64位作業系統運作可以通路64位位址空間的應用程式。該模式将通用寄存器擴充到64位,引入了新的字首R,比如EAX變為RAX。彙編指令也都改為可以使用64位的寄存器和64位位址。

作業系統開發--操作模式實模式保護模式

如果此篇文章對您有所幫助,請多多支援哦!您的支援是我一直寫下去的動力!

作業系統開發--操作模式實模式保護模式

繼續閱讀