1. 程式人生 > >CPU三種工作模式

CPU三種工作模式

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

      從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。

相關推薦

CPU工作模式

 一直以來,都搞不清楚這幾個概念。在網上搜了一下,把它晒上,不會再忘記! 有其它的內容,請看到的朋友請補充。      從80386開始,cpu有三種工作方式:真實模式,保護模式和虛擬8086模式。只有在剛剛啟動的時候是real-mode,等到linux作業系統執行 起來以

apache的工作模式

httpdweb服務器Apache目前一共有三種穩定的MPM(Multi-Processing Module,多進程處理模式)它們分別是prefork、worker和event,它們同時也代表這Apache的 演變和發展使用httpd -V命令查看Apache的工作模式,如我安裝的httpd-2.2版本[[e

Apache工作模式介紹與配置

Apache工作模式查看方法 查看Apache編譯安裝的參數 worker模式原理及配置方法 prefork模式原理及配置方法 event模式原理及配置方法 Apache三種工作模式介紹與配置一、Apache的三種工作模式介紹及相關查看方法1、Apache三種工作模式簡介Apache目前一

Apache工作模式

技術分享 允許 domain ges 當前 ipv 適用於 ESS device Apache的三種工作模式分別是:prefork、worker、event。 1. prefork模式(默認模式) profork模式實現了一種非線程、預派生的Web服務器,用的是進程去處理

SELinux安全模型的核心思想與工作模式

enforce 權限 永久 iss linux社區 ive con 生產 調試 什麽是SELinux?在內核2.6版本之前Linux的安全模型叫DAC(Discretionary Access Contorl,即自主訪問控制)。DAC的核心思想:進程想要訪問某資源,只需要擁

Apache工作模式配置

Apache 2.X 支援插入式並行處理模組,稱為多路處理模組(MPM)。在編譯apache時必須選擇也只能選擇一個MPM,對類UNIX系統,有幾個不同的MPM可供選擇,它們會影響到apache的速度和可伸縮性。 Prefork MPM : 這個多路處理模組(MPM)實現了一個非執行緒型

vmware的工作模式

vmware為我們提供了三種網路工作模式,它們分別是:Bridged(橋接模式)、NAT(網路地址轉換模式)、Host-Only(僅主機模式)。 開啟vmware虛擬機器,我們可以在選項欄的“編輯”下的“虛擬網路編輯器”中看到VMnet0(橋接模式)、VMnet1(僅主機模

LVS工作模式以及最主流的DR模式搭建流程

LVS常用的工作模式有NAT、DR、和TUN三種,其中DR模式效能最為優越,使用最為廣泛NAT模式:網路地址轉換 NAT(Network Address Translation)是一種外網和內網地址對映的技術。NAT模式下,資料的進出都要經過LVS的處理。LVS需要作為Real Server(真實伺

lvs工作模式

nat 這個是通過網路地址轉換的方法來實現排程的。首先排程器(LB)接收到客戶的請求資料包時(請求的目的IP為VIP),根據排程演算法決定將請求傳送給哪個後端的真實伺服器(RS)。然後排程就把客戶端傳送的請求資料包的目標IP地址及埠改成後端真實伺服器的IP地址(RIP),這樣真實伺服器(RS

【轉】LVS的工作模式_DR模式

1.DR模式(直接路由模式:Virtual Server via Direct Routing)    DR模式是通過改寫請求報文的目標MAC地址,將請求發給真實伺服器的,而真實伺服器響應後的處理結果直接返回給客戶端使用者。同TUN模式一樣, DR模式可以極大的提高集群系統的伸縮性。而且DR模式沒有IP隧

【轉】LVS的工作模式_TUN模式

1.TUN模式(Virtual Server via IP Tunneling)   採用NAT模式時,由於請求和響應的報文必須通過排程器地址重寫,當客戶請求越來越多時,排程器處理能力將成為瓶頸。為了解決這個問題, 排程器把請求的報文通過IP隧道轉發到真實的伺服器。真實的伺服器將響應處理後的資料直接返回給

Centos7之Apache的工作模式

滿足 read 高流量 event 也有 聲明 vpd 問題 出現 Apache工作模式簡介 Apache 2.X 支持插入式並行處理模塊,稱為多進程處理模塊(MPM)。在編譯apache時必須選擇也只能選擇一個MPM,對類UNIX系統,有幾個不同的MPM可供選擇,它們會

linux vi的工作模式及轉化過程

Vi有三種基本的工作模式:指令行模式、文字輸入模式、行末模式。他們的相互關係如所示。指令模式(Command Mode) 下輸入 a、i、o進入文字輸入模式(Input Mode) 文字輸入模式(Input Mode) 下按ESC進入指令模式(Command Mode) 指令

LVS工作模式原理

跟VS/TUN方法相同,VS/DR利用大多數Internet服務的非對稱特點,負載排程器中只負責排程請求,而伺服器直接將響應返回給客戶,可以極大地提高整個集群系統的吞吐量。該方法與IBM的NetDispatcher產品中使用的方法類似,但IBM的NetDispatcher是非常昂貴的商品化產品,我們也不知

apache 工作模式和httpd.conf配置重點講解

Apache的主配置檔案:/etc/httpd/conf/httpd.conf yum安裝預設站點主目錄:/var/www/html/ 原始碼安裝預設站點目錄: /usr/local/httpd/htdocs 用wc命令統計一共有475行 [[email pr

給自己看的apache的工作模式

1、prefork MPM 非執行緒 預派生的web伺服器,在Apache啟動之初,就預派生一些子程序等待連線,可以減少頻繁建立和銷燬程序的開銷,也不用擔心執行緒安全問題,但是一個程序相對佔用資源,消耗大量記憶體,不擅長處理高併發的場景。配置方式<IfModule mpm_p

LVS 工作模式原理、以及優缺點比較

一、NAT模式(VS-NAT)   原理:   就是把客戶端發來的資料包的IP頭的目的地址,在負載均衡器上換成其中一臺RS的IP地址,併發至此RS來處理,RS處理完成後把資料交給經過負載均衡器,負載均衡器再把資料包的原IP地址改為自己的IP,將目的地址改為客戶端IP地

web優化必須瞭解的原理之I/o的五模型和web的工作模式

=========================================== 圖解五種I/O模型 圖解web支援的三種工作模式 ===========================================  五種I/O:  1)阻塞I

snort工作模式詳解

snort有三種工作方式:嗅探器,資料包記錄器和網路入侵檢測系統. 嗅探器 輸入命令: “#snort -v”,即可把TCP/IP包頭資訊列印在螢幕上,為了方便檢視,可以把結果輸出到檔案中,詳情請見檔案snort_v.txt,這裡只給出部分截圖: 如果想(1)看到應用層

LVS的工作模式

LVS介紹 1.LVS系統結構與特點 使用LVS架設的伺服器集群系統從體系結構上看是透明的,終端使用者只感覺到一個虛擬伺服器.物理伺服器之間可以通過高速的LAN或分佈在各地的WAN相連。最前端是負載均衡器,它負責將各種服務請求分發給後面的物理伺服器,讓整個叢集表現