1. 程式人生 > >CPU的保護模式

CPU的保護模式

保護模式對應的是真實模式。也就是實地址模式,即CPU發出的訪存指令所對應的地址是實際的實體地址。保護模式即然對應的是實地址模式,那麼它保護的也就是實際實體地址,保護實際的實體地址不被非法訪問。

保護模式是在80286時提出,在80386上大成。具體就是80286提了的段式記憶體管理和80386提出的頁式記憶體管理。所以所謂的保護實體記憶體的基本措施是什麼?就是段頁式記憶體管理方式啊。

使用了段式記憶體管理之後,cpu使用的就是邏輯地址,要經過段描述符表翻譯才能訪問實際的實體地址,而段描述符表只有系統核心 才能修改。這就保證了一個程序只能訪問核心分配給他的段上的實體記憶體

使用了頁式記憶體管理之後,cpu使用的就虛擬地址,虛擬地址要經過頁表翻譯之後才能訪問實際的實體地址上的資料,而段表只有系統核心才能修改。這就保證了一個程序只能訪問核心分配給他的頁上的實體記憶體。呀,兩段文 字貌似長得差不多哦。實際上段式記憶體管理和頁式記憶體管理的確就是差不多的東西。所以windows兩個都用,採用段頁式記憶體管理,而linux覺得完全沒有必要使用段式記憶體管理,頁式就夠了,所以就使用了頁式記憶體管理。

    針對x86系統的話,段式記憶體管理和頁式記憶體管理是與80286提出的其他機制,如任務門、呼叫門、中斷門等結合起來起段作用的,所以這些門也是保護模式的一部分。

    批註:真實模式即地址就是實體地址,而保護模式,則使用虛擬地址,通過核心進行分配虛擬地址,不會直接去訪問讀寫實體地址,既安全,又能虛擬出4G的記憶體地址,可以將CPU的效能發揮最大化。

相關推薦

CPU的真實模式保護模式(一)

真實模式和保護模式都是CPU的工作模式,而CPU的工作模式是指CPU的定址方式、暫存器大小等用來反應CPU在該環境下如何工作的概念。 1.真實模式工作原理 真實模式出現於早期8088CPU時期。當時由於CPU的效能有限,一共只有20位地址線(所以地址空間只有1MB),以及

CPU保護模式

保護模式對應的是真實模式。也就是實地址模式,即CPU發出的訪存指令所對應的地址是實際的實體地址。保護模式即然對應的是實地址模式,那麼它保護的也就是實際實體地址,保護實際的實體地址不被非法訪問。保護模式是在80286時提出,在80386上大成。具體就是80286提了的段式記憶體管理和80386提出的頁式記憶體管

CPU的真實模式保護模式(簡介)

16位微處理器 8086暫存器組成 8086/8088包括:4個16位的資料暫存器,2個16位的指標暫存器,2個16位變址暫存器,分成四組。 通用暫存器中,這些暫存器除完成規定的專門用途外,均可用於傳送和暫存資料,可以儲存算術邏輯運算的操作和運算結果。 段暫存器

80x86 cpu保護模式

 一、儲存段描述符 儲存段描述符是描述程式中的程式碼段和資料段的,這其中也包括堆疊段,在保護模式下,應該把堆疊段理解為特殊的資料段。 分析儲存段描述符時應該把它分成4個域來理解:第一個域為描述符的第0至1位元組,該字是段界線的低16位,段界線是描述段的大小共20位,高4位在第六位元組的低4位中;第二個域為描述

CPU 真實模式 保護模式 和虛擬8086模式

保護模式同真實模式的根本區別是程序記憶體受保護與否。可定址空間的區別只是這一原因的果。真實模式將整個實體記憶體看成分段的區域,程式程式碼和資料位於不同區域,系統程式和使用者程式沒有區別對待,而且每一個指標都是指向"實在"的實體地址。這樣一來,使用者程式的一個指標如果指向了系統程式區域或其他使用者程式 區域,

Intel CPU保護模式

(2)保護機制 為了支援多工,對各任務實施保護是必需的。從80286開始,處理器就具備了保護機制。保護機制能有效地實現不同任務之間的保護和同一任務內的保護。 1.不同任務之間的保護 保護的一個重要方面是應用程式之間的保護。虛擬地址到實體地址的對映函式在每個任務中進行定義,隨著任務切換,對映函式也切換

x86CPU 實模式 保護模式 傻傻分不清楚? 基於Xv6-OS 分析CR0 寄存器

獲取 ack oot pop -o sdn 行程 model 保護 基於Xv6-OS 分析CR0 寄存器 之前一直認為暈乎乎的...啥?什麽時候切換real model,怎麽切換,為什麽要切換? -----------------------------------

01保護模式

權限 保護 物理 建立 ... x86 推薦 學習 訪問 在X86 CPU的三個模式:實模式,保護模式和虛擬的8086模式 實模式:直接讀寫真正的物理內存 <建立在實模式的系統稱為純DOS> 保護模式:保護內存,限制內存訪問的權限; 虛擬的8086模式:在保護模

模式保護模式區別及尋址方式

解釋 src 需求 範圍 上線 二進制表示 工作 菜鳥 相對 轉載自:http://blog.csdn.net/rosetta 64KB-4GB-64TB? 我記得大學的匯編課程、組成原理課裏老師講過實模式和保護模式的區別,在很多書本上也有談及,無奈本人理解和感悟能

《x86匯編語言:從實模式保護模式》檢測點和習題答案

style 出現 x86匯編 內存操作 3.1 fff 地址 blog strong 檢測點1.1:按順序分別為:13 15 78 255 128 56091 檢測點1.2:按順序分別為:1000 1010 1100 1111 11001 1000000

操作系統學習(一)、80x86保護模式內存管理

分享 共享棧 問題 代碼 就會 空間 階段 logs ima 整理的不好,湊合著看吧 目錄 1.內存及尋址 2.地址變換 3.分段機制 4.分頁機制 5.保護 6.去到底部 一、內存及尋址 返回目錄 二、地址變換 80X86 從 邏輯地址 到 物理地址 的轉換

模式保護模式

虛擬存儲器 有效 偏移 進程 代碼 訪問權限 描述符 兼容 ont 1. 實模式,又叫實地址模式,CPU完全按照8086的實際尋址方法訪問從00000h--FFFFFh(1MB大小)的地址範圍的內存,在這種模式下,CPU只能做單任務運行;尋址公式為:物理地址=左移4位的段

80x86的保護模式

logs 都是 alt pos 使用 itl 偏移 top 段描述符 什麽是保護模式? 通過對程序使用的存儲區采用分段、分頁的存儲管理機制, 達到分組使用、互不幹擾的保護目的。能為每個任務提供一臺虛擬處理器,使每個任務單獨執行,快速切換。 所以,內存地址由段基地址、偏移地址

Spring Cloud Eureka的自我保護模式與實例下線剔除

see ogg per 操作 enabled eas sse 親測 掉線 之前我說明了Eureka註冊中心的保護模式,由於在該模式下不能剔除失效節點,故按原有配置在實際中不剔除總感覺不是太好,所以深入研究了一下。當然,這裏重申一下,不管實例是否有效剔除,消費端實現Ribbo

匯編知識掃盲之16位匯編跟32位匯編的保護模式以及匯編代碼編寫

ima 邏輯地址 bubuko das www int 字節 以及 pop        匯編知識掃盲之16位匯編跟32位匯編的保護模式以及匯編代碼編寫 一丶內存尋址模型   邏輯地址.線程地址.物理地址 了解匯編之前.先了解一下上面這些詞的含義;   邏輯地址: 這個是郵

第12課 - 實模式保護模式(下)

文本 選擇 字符串結束 使用 hello 移除 mode back fdt 不一般的jmp(s16->s32) 在16位代碼中,所有的立即數默認為16位 從16位代碼段跳轉到32位代碼段時,必須做強制轉換    深入保護模式:定義顯存段

保護模式.vbs

pre inter mode sleep isp end display delay ORC Sub Main Dim cnt Dim delay delay = 10000 For cnt = 0 To 80 crt.screen.Send "interface op

教你三種微信支付保護模式解除法 微信限額20萬怎麽解除

data img fix 微信支付 .com 提升 怎麽 down 運用 在咱們的 微信零錢20萬付出額度已用完怎麽辦?微信單日20萬付出額度用完怎麽辦?微信中的零錢每年都有20萬的花費額度,單日消費也有20萬的花費額度,那麽這兩種付出額度用完該怎麽辦?下面就給我們具體闡

06.真實模式進入保護模式

簡介 上一節我們實現了從核心載入器中載入其它扇區程式碼並執行,但始終工作在真實模式狀態下。記憶體定址方式和8086相同,由16位段暫存器的內容乘以16(10H)當做段基地址,加上16位偏移地址形成20位的實體地址,最大定址空間1MB,最大分段64KB。 保護模式與真

Eureka的自我保護模式、多網絡卡環境下的IP選擇和健康檢查

Eureka的自我保護模式 禁用自我保護模式: eureka.server.enable-self-preservation = false 多網絡卡環境下的IP選擇 對於多網絡卡的伺服器,各個微服務註冊到Eureka Server上的IP要如何指定呢? 指定IP在某些場合下