日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

一步步编写操作系统 58 门、调用门与RPL序 3

發(fā)布時(shí)間:2023/12/10 windows 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一步步编写操作系统 58 门、调用门与RPL序 3 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

接前文:

并不是任何當(dāng)前特權(quán)級都可以使用門結(jié)構(gòu), 在使用門結(jié)構(gòu)之前,處理器要例行公事做特權(quán)級檢查,參與檢查的不只是CPL和DPL,還有RPL,為了說清楚這個(gè)檢查過程,咱們得先介紹下RPL。

RPL,即請求特權(quán)級,為了解釋清楚,咱們得多花點(diǎn)工夫好好說道說道。

我們本節(jié)始終在說特權(quán)級轉(zhuǎn)移,處理器從一個(gè)特權(quán)級轉(zhuǎn)移到另一個(gè)特權(quán)級,任意時(shí)刻處理器所處的特權(quán)級稱為當(dāng)前特權(quán)級。重復(fù)敘述的目的是強(qiáng)調(diào)當(dāng)前特權(quán)級是對處理器而言的概念,并不是對代碼段而言。當(dāng)前特權(quán)級CPL是指處理器任意時(shí)刻的身份地位,其變化的原因是處理器從某一特權(quán)級的代碼段轉(zhuǎn)移到另一特權(quán)級的代碼段上運(yùn)行,代碼段的特權(quán)級DPL是未來處理器的CPL。

各種門結(jié)構(gòu)存在的目的就是為了讓處理器提升特權(quán)級,這樣處理器才能夠做一些低特權(quán)級下無法完成的工作。比如,當(dāng)用戶程序想讀取硬盤文件時(shí),由于處理器在執(zhí)行用戶程序時(shí)所處的特權(quán)級為3,一般情況下操作系統(tǒng)不允許用戶程序操作硬盤。此時(shí)必須由用戶代碼指揮處理器使用某種門結(jié)構(gòu)(如調(diào)用門)進(jìn)入0特權(quán)級,在提升了處理器的CPL之后才能控制硬盤、讀取文件。是不是說的有些抽象?其實(shí)就是用戶程序進(jìn)行系統(tǒng)調(diào)用使處理器進(jìn)入內(nèi)核態(tài)執(zhí)行內(nèi)核服務(wù)。

當(dāng)處理器提升為0特權(quán)級時(shí),任何事情都能做,是最強(qiáng)大同時(shí)也是最危險(xiǎn)的狀態(tài),如果用戶程序通過某種門結(jié)構(gòu)使處理器進(jìn)入到0特權(quán)級,它很有可能會被3特權(quán)級的用戶程序利用,這樣用戶程序就有機(jī)會訪問0特權(quán)級下的數(shù)據(jù)。

調(diào)用門是一個(gè)描述符,稱為門描述符,其中記錄的是內(nèi)核服務(wù)程序所在代碼段的選擇子及在代碼段中的偏移地址。門描述符是定義在全局描述符表GDT和局部描述符表LDT中,所以,要想使用調(diào)用門,就要通過門描述符的選擇子,這一點(diǎn)和訪問數(shù)據(jù)段類似,總之,保護(hù)模式下離不開描述符,有描述符就離不開選擇子。

我們平時(shí)很少有人直接和調(diào)用門打交道,大多數(shù)程序員甚至都不知道調(diào)用門是怎么回事,所以在接觸調(diào)用門時(shí)通常會感到有些吃力,這是由三方面造成的:

  • 我們大多數(shù)情況下是用高級語言編程,編譯器或集成開發(fā)環(huán)境為我們做了太多的工作,大大方便了我們的編碼方式,而調(diào)用門是在匯編語言下使用的方法,不做底層開發(fā)的話我們根本就碰不到它。
  • 調(diào)用門是用來實(shí)現(xiàn)系統(tǒng)調(diào)用的,但為了兼容等原因,我們平時(shí)接觸的操作系統(tǒng)很少有使用調(diào)用門實(shí)現(xiàn)系統(tǒng)調(diào)用,如Linux就是用中斷門代替。我們頂多聽說過中斷門,對調(diào)用門了解少之又少。
  • 調(diào)用門一般在過去多段模型下使用,大多數(shù)情況下需要為調(diào)用門指定段選擇子。而現(xiàn)在操作系統(tǒng)為了方便,早已經(jīng)采用了平坦模型,所有用戶進(jìn)程共享幾個(gè)選擇子,比如用戶代碼段選擇子和用戶數(shù)據(jù)段選擇子各一個(gè),由所有用戶進(jìn)程共享,用戶進(jìn)程不需要再提供選擇子,所以調(diào)用門可以用中斷門代替了。
  • 綜上所述,調(diào)用門是在匯編語言中使用,能發(fā)揮其特長的場所是多段模型,若沒有此方面的編程經(jīng)驗(yàn),大家先提前有個(gè)印象,也沒什么復(fù)雜的,僅僅是大家很少接觸而已。

    總結(jié)

    以上是生活随笔為你收集整理的一步步编写操作系统 58 门、调用门与RPL序 3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。