實模式、保護模式和虛擬8086模式

來源:互聯網
上載者:User

   引用地址:

http://www.cnblogs.com/jnet/archive/2008/05/12/1193675.html

 

一直以來,都搞不清楚這幾個概念。在網上搜了一下,把它曬上,不會再忘記! 有其它的內容,請看到的朋友請補充。

      從80386開始,cpu有三種工作方式:實模式,保護模式和虛擬8086模式。只有在剛剛啟動的時候是real-mode,等到linux作業系統運行
起來以後就運行在保護模式。實模式只能訪問地址在1M以下的記憶體稱為常規記憶體,我們把地址在1M
以上的記憶體稱為擴充記憶體。在保護模式下,全部32條地址線有效,可定址高達4G位元組的物理地址空間;
擴充的儲存空間分段管理機制和可選的儲存空間分頁管理機制,不僅為儲存空間共用和保護提供了硬體支援,而且為實現虛擬儲存空間提供了硬體支援;
支援多任務,能夠快速地進行任務切換和保護任務環境;
4個特權級和完善的特權檢查機制,既能實現資源共用又能保證代碼和資料的安全和保密及任務的隔離; 支援虛擬8086方式,便於執行8086程式。

      虛擬8086模式是運行在保護模式中的實模式,為了在32位保護模式下執行純16位程式。它不是一個真正的CPU模式,還屬於保護模式。

      保護模式同實模式的根本區別是進程記憶體受保護與否。可定址空間的區別只是這一原因的果。實模式將整個實體記憶體看成分段的地區,程式碼和資料位元於不同
地區,系統程式和使用者程式沒有區別對待,而且每一個指標都是指向"實在"的物理地址。這樣一來,使用者程式的一個指標如果指向了系統程式地區或其他使用者程式
地區,並改變了值,那麼對於這個被修改的系統程式或使用者程式,其後果就很可能是災難性的。為了克服這種低劣的記憶體管理方式,處理器廠商開發出保護模式。這
樣,實體記憶體地址不能直接被程式訪問,程式內部的地址(虛擬位址)要由作業系統轉化為物理地址去訪問,程式對此一無所知。

      至此,進程(這時我們可以稱程式
為進程了)有了嚴格的邊界,任何其他進程根本沒有辦法訪問不屬於自己的實體記憶體地區,甚至在自己的虛擬位址範圍內也不是可以任意訪問的,因為有一些虛擬區
域已經被放進一些公用系統運行庫。這些地區也不能隨便修改,若修改就會有: SIGSEGV(linux
段錯誤);非法記憶體訪問對話方塊(windows 對話方塊)。

      CPU啟動環境為16位實模式,之後可以切換到保護模式。但從保護模式無法切換回實模式

     
     事實上,現在的64位奔騰4處理器,擁有三種基本模式和一種擴充模式,
     基本模式:
                 保護模式:純32位保護執行環境。
                 實模式:純16位無保護執行環境。
                 系統管理模式:當SMI引腳為有效進入系統管理模式,首先儲存當前的CPU上下文。它有獨立的地址空間,用來執行電源管理或系統安全方面的指令。

     擴充模式:
                 IA-32e模
式: 64位作業系統運行在該模式。該模式有兩種子模式:

                                   1)相容模式:該模式下,64位作業系統運行在32位相容環境,能正常運行16,32位應用程式就像基本的保護模式一樣,
                                                        訪問32位地址空間,但不能
運行純16位實模式程式(就是不能運行虛擬86模式程式了)。

                                   2)64位元模式:在該模式下,處理器完全執行64位指令,使用64位地址空間和64運算元,運行16,32位程式必須切換到相容模式。
                 IA-32e子模式的切換完全基於程式碼片段寄存器。這樣一來,運行在IA-32e模式中(64位)的OS完全可以無縫的運行所有16,32,64為應用程式,
                 通過設定32位後的CS。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.