国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

操作系統是如何保護自己的? CPU與保護模式

商務辦公
操作系統其實就是一個大管家,負責給應用程序搭建舞臺,好讓程序們過好自己的一生,但偏偏有不聽話的程序可能想搶操作系統的戲,顯然這會影響所有其它正在程序,因此操作系統必須要有能力保護自己。

?在回答這個問題之前,你可能會首先想:為什么操作系統需要保護自己呢?

操作系統其實就是一個大管家,負責給應用程序搭建舞臺,好讓程序們過好自己的一生,但偏偏有不聽話的程序可能想搶操作系統的戲,顯然這會影響所有其它正在程序,因此操作系統必須要有能力保護自己。

在上一篇文章《徹底理解操作系統:CPU與實模式》中,我們從歷史的角度了解了x86最開始是沒有任何保護機制的,應用程序竟然可以與操作系統平起平坐,操作系統能讀寫的內存區域應用程序也一樣可以讀寫,操作系統可以控制的硬件應用程序一樣不在話下。

應用程序和操作系統這么平等還何談保護?其實從某種程度講,保護自己就是限制別人,那么操作系統該怎樣限制應用程序呢?

程序也是分三六九等的

核心就在一點:權限。

這一點相信對于打工人都深有體會,在公司里有的文檔你無權查看,有的數據庫你無權讀取,有的門禁你的卡刷不開等等。

這里也是一樣的道理,但是操作系統和普通的應用程序都是軟件,從本質上講沒有任何區別,在CPU眼里都是機器指令,顯然從軟件這一層面上看操作系統沒有很好的辦法能控制應用程序,這就不得不借助硬件的幫忙了,借助誰的幫忙呢?顯然是CPU。

我們剛才提到過,不管是操作系統還是應用程序在CPU眼里都是機器指令,CPU閉著眼執行就完事兒,從時間角度上看CPU就是一條又一條的在執行指令:

圖片

然而,CPU也不能對此一點都不關心,CPU必須能區分出哪些指令屬于操作系統,哪些指令屬于普通的應用程序!

該怎么區分呢?很簡單,其中一種方法是這樣的,我們添加一些特殊的機器指令,假設是指令A和B,CPU執行到該指令A時就知道接下來要執行的指令屬于操作系統,當執行完指令B時就知道接下來要執行的屬于普通應用程序,這兩條指令在x86(32位)中就是int與iret指令,這兩個指令對應的背后就是所謂的系統調用。

有了這樣的指令,CPU可以清楚的執行什么時候在執行普通程序,什么是在運行操作系統(程序),CPU能區分清楚那么就能給它們賦予不同的權限,這就是所謂用戶態與內核態的由來,用戶態對應的是普通程序,內核態對應的是操作系統,它們的權限是不一樣的。

圖片

x86 CPU支持四種權限等級,0,1,2,3,一般的操作系統都使用兩種特權0和3,0是最高權限,顯然這是操作系統也就是內核態所擁有的權限,而3是普通程序運行的權限,相對較低。

同時,一些指令只有在內核態下才可以執行,這些就是所謂特權指令,當CPU在用戶態(普通程序)時是沒有辦法執行特權指令的,這樣就從機器指令這個層面確保了普通程序不能執行某些特權操作。

圖片

我們知道程序除了機器指令外還有指令依賴的數據,而數據又是保存在內存中,那么接下來的問題是操作系統該怎樣保護自己的內存不會普通程序讀寫呢?

訪問內存也需要權限

答案和我們剛才講解的機器指令的特權劃分是一樣的。我們規定操作系統所在的內存區域只有CPU處于內核態時才可以訪問,如果位于用戶態的程序試圖訪問內核所在的地址空間那么將立刻被操作系統kill掉。那么接下來的問題就是我們該怎樣給一段內存添加上權限信息呢?顯然我們需要一張“表”,這張表中記錄一段內存區域并且記錄下訪問這塊內存所需要的權限信息,類似這樣:

序號   起始地址   長度     所需權限
0 0x7c00 0x1000 0
1 0x9a00 0x2000 3
...

當CPU試圖訪問這段內存區域時會根據CPU自身所在的權限(內核態或者用戶態)與這段內存需要的權限進行比對,只有當CPU所在權限比訪問這段內存所需要的權限高或者相等時才能讀寫這段內存,否則將觸發異常。

假設CPU當前正在執行用戶態程序,也就是運行在用戶態,因此其權限等級為3,此時如果CPU試圖訪問第0號內存塊時發現讀寫該內存塊所需要的權限為0(內核態),這時CPU本身將產生異常,該異常將被操作系統捕獲,此時操作系統會發現應用程序試圖讀寫程序不具備權限的內存,因此操作系統手起刀落將該進程kill掉,這樣操作系統就保證了自己的內存區域不會被普通程序所讀寫。

圖片

就這樣操作系統成功保護了自己的內存數據以及機器指令。

現在是時候總結一下了。

為了將操作系統和普通程序區別開來,我們需要給機器指令賦予權限等級,該權限信息會保存在CPU中,顯然CPU中需要特定寄存器來保存該信息,于此同時我們也為內存區域賦予了權限等級,只有當前CPU的權限大于或者等于該內存區域所需權限時才能讀寫,這就要求有一張“表”來保存內存起始地址、長度、權限等信息,這張表就是所謂的Global Descriptor Table,GDT,以及Local Descriptor Table,LDT。

內核所在內存區域以及一些共享內存區域信息就保存在GDT中,這就是叫做Global的原因,而進程所在的內存區域(私有)信息則保存在LDT中,這就是為什么叫做Local。

具備這些能力的x86 CPU就被稱為保護模式,Inter處理器從80286開始引入保護模式,可以看到與x86早前的實模式相比,保護模式開始有了質的飛躍。

從實模式到保護模式

我們在之前的文章中說過,x86是一個有著頑強生命力的物種,其它大部分類型的CPU在計算機不長的歷史中逐漸消失了,而x86則歷久彌新,也因此x86歷史包袱十分沉重,即使是最新款的intel x86處理器也可以運行上世紀編寫的古老程序,為做到向后兼容,intel x86程序必須既能運行在實模式下也能運行在保護模式下。

圖片

因此x86處理器在加電會首先進入實模式然后切換到保護模式,現代操作系統都運行在保護模式下,正是利用了處理器的一系列特性操作系統才得以保護自己。

算上前一篇《徹底操作系統:CPU與實模式?》以及到目前為止,我們看到的x86內存管理都是基于段式機制,Segmentation來管理內存的,實際上x86處理器在引入保護模式的同時也開始支持頁式內存管理(paging),因此現代x86處理器即支持段式內存管理也支持頁式內存管理,只不過對于現代操作系統像Linux等實際上幾乎不再使用處理器提供的段式內存管理機制而是基于頁式內存管理機制。

從這里我們也能看出來,內存管理機制其實是處理器這種硬件提供的,操作系統(軟件)只不過這種機制的使用者而已。好啦,這篇文章就先到這里,實際上這里還有很多內容沒有講解完,GDT、LDT長什么樣子?怎么使用?具體該怎樣從實模式切換到保護模式等等,這些內容將在后續章節中介紹。?

責任編輯:武曉燕 來源: 碼農的荒島求生
相關推薦

2009-12-15 18:02:45

2023-07-06 00:45:05

Linux保護模式

2011-09-06 09:47:21

WindowsVistIE7保護模式

2022-07-28 09:44:04

內存實模式保護模式

2022-06-01 08:16:12

CPU實模式操作系統

2012-01-12 12:15:14

2021-03-07 00:32:43

信息安全隱私互聯網

2010-05-07 11:55:13

Unix操作系統

2009-02-19 16:57:51

IE8新特性保護模式

2013-11-13 16:02:41

IE11瀏覽器微軟

2013-08-27 10:24:01

2018-06-12 15:53:30

2018-03-01 06:44:39

災難恢復數據安全DRaaS

2022-07-05 17:49:34

元宇宙安全隱私保護

2017-12-19 20:35:22

程序員中興事件自殺

2017-05-02 21:49:31

零丟失保護模式選擇

2022-07-29 10:42:51

Linux隱私

2012-06-29 15:01:46

2009-08-08 21:10:01

2022-03-23 16:03:51

加密貨幣私鑰網絡安全
點贊
收藏

51CTO技術棧公眾號

色播五月激情综合网| 裸体免费网站| 国产91精品一区二区绿帽| 午夜精品一区二区三区在线 | 欧美最猛性xxxx| 新版中文字幕在线资源| 欧美va久久久噜噜噜久久| 51午夜精品国产| 精品国偷自产一区二区三区| 四季av一区二区凹凸精品| 日韩一区二区三区在线观看| 国产精品一色哟哟| 亚洲三级影院| 亚洲欧美日韩精品久久奇米色影视| 羞羞免费视频| 亚洲承认在线| 久久夜色精品亚洲噜噜国产mv | 欧美乱大交xxxxx潮喷l头像| 国产伦子伦对白在线播放观看| 蜜桃精品在线观看| 国产精品免费视频观看| 日本www在线播放| 欧美影视资讯| 久久精品一本久久99精品| 羞羞免费视频| 日韩电影在线观看一区| 午夜一区二区三区视频| 在线成人动漫| 国产精品成久久久久| 国产一区二区动漫| 亚洲一区二区三区四区电影| 26uuu另类欧美亚洲曰本| 成人在线中文字幕| 日本成人精品| 精品国产在天天线2019| 在线能看的av网址| 在线播放国产一区二区三区| 黄色羞羞视频在线观看| 日韩一级片在线观看| 色资源在线观看| 亚洲女爱视频在线| 丁香激情视频| 久久久久国色av免费看影院| 麻豆av一区| 日韩国产欧美在线播放| 欧洲精品一区色| 欧美激情一级片一区二区| 国产精品精品一区二区三区午夜版 | 你懂的成人av| 91精品网站| 久久国产人妖系列| 二级片在线观看| 美女爽到呻吟久久久久| 欧美激情在线狂野欧美精品| 免费免费啪视频在线观看| 日韩不卡在线观看日韩不卡视频| 色一情一乱一伦一区二区三区| 五月天久久777| 久久久综合香蕉尹人综合网| 蜜桃av噜噜一区二区三区小说| 国产女大学生av| 亚洲一区成人在线| av资源中文在线| 欧美在线精品免播放器视频| 中文字幕乱码亚洲无线精品一区 | 在线免费av播放| 久久久91精品| 久久激情电影| 久久久精品动漫| 久久国产精品久久w女人spa| 男人的天堂成人| 成人av网站在线| 欧美成人三级在线播放| 亚洲欧美色图小说| 黄色片在线看| 久久网福利资源网站| 9国产精品午夜| 精品国产乱码久久久久久88av | 国产精品一二三四| 成人p站proumb入口| 欧美经典三级视频一区二区三区| 老司机精品在线| 日本a级片久久久| 国产精品夜夜嗨| 欧美一级黄色片视频| 黑人一区二区| 伊人伊成久久人综合网小说 | lutube成人福利在线观看| 一区免费观看视频| 日本五码在线| 精品日韩一区二区三区免费视频| 首页亚洲中字| av观看免费在线| 日韩成人小视频| 在线电影一区二区| 日本粉色视频在线观看| 亚洲性线免费观看视频成熟| 国产精品一二| 国产亚洲依依| 91黄在线观看| 亚洲影视在线播放| 国产欧美午夜| 亚洲精品中文字幕乱码三区不卡| 亚洲一区二区三区免费在线观看| 99国产超薄丝袜足j在线观看 | 国产精选一区二区| 亚洲精品v日韩精品| 欧美成人高清| 综合操久久久| 91麻豆精品国产自产在线| 久久综合另类图片小说| 免费看黄色a级片| 日韩午夜在线影院| 伊人成人网在线看| av免费高清观看| 91精品国产九九九久久久亚洲| 国产成人在线色| av在线加勒比| 91麻豆桃色免费看| 丁香激情综合五月| 成人综合网站| 亚洲精品中文字幕无码蜜桃| 久久精品电影网| 成人写真视频| av一级毛片| 国产一区精品视频| 日韩一区二区中文字幕| 亚州一区二区三区| 黄页免费在线| 亚洲精品在线不卡| 精品国产91乱高清在线观看| 精品一区二区三区在线| 无线免费在线视频| 亚洲www在线| 五月天国产精品| 欧美午夜免费影院| 无码人妻h动漫| 欧美激情视频免费看| 欧美一区二区视频在线观看2022 | 最好看的2019年中文视频| 香蕉久久网站| 黄色一级视频播放| 精品欧美激情精品一区| 少妇精品视频一区二区免费看| 国产免费色视频| 久久97久久97精品免视看| 在线这里只有精品| 欧美性色黄大片| 亚洲一区欧美| h短视频大全在线观看| 国产综合久久久久| 久久久久久免费毛片精品| 成人免费视频一区二区| 国产成人精品免费视| 白浆视频在线观看| 校园春色影音先锋| 欧美激情xxxx性bbbb| 日韩在线激情视频| 精品视频久久久久久久| 91精品中文字幕一区二区三区| 一级做a爱片久久| 国产视频一区二区在线| 不卡在线观看av| 成人激情视频网站| 国产农村妇女毛片精品久久麻豆| 亚洲一区二区三区爽爽爽爽爽| 亚洲成人7777| 日韩欧美在线中字| 国产在线日本| 国产爆初菊在线观看免费视频网站 | 国产精品妹子av| 99精品欧美一区二区蜜桃免费 | 午夜精品www| 国产成人精品一区二区三区福利| 视频一区二区精品| 欧美伦理一区二区| 伊人亚洲福利一区二区三区| 91成人在线看| 亚洲电影成人av99爱色| 亚洲综合资源| 欧美一区二区福利| 亚洲嫩模很污视频| 粉嫩老牛aⅴ一区二区三区| 国产精品视频观看| 一区二区三区免费看视频| 欧美日韩激情小视频| 欧美大学生性色视频| 少妇熟女一区二区| 99sesese| 日本不卡免费播放| yw视频在线观看| 鲁鲁在线中文| 国产精品网在线观看| 欧洲亚洲视频| 激情欧美日韩一区| 国产人伦精品一区二区| 色婷婷综合久久久中文字幕| 欧美一级一级性生活免费录像| 日韩在线www| 免费在线观看91|