青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

旅途

如果想飛得高,就該把地平線忘掉

實(shí)模式與保護(hù)模式

實(shí)模式: (即實(shí)地址訪問模式)它是 Intel公司80286及以后的x86(80386,8048680586)兼容處理器(CPU)的一種操作模式。實(shí)模式被特殊定義為20位地址內(nèi)存可訪問空間上,這就意味著它的容量是220次冪(1M)的可訪問內(nèi)存空間(物理內(nèi)存和BIOS-ROM),軟件可通過這些地址直接訪問BIOS程序和外圍硬件。實(shí)模式下處理器沒有硬件級(jí)的內(nèi)存保護(hù)概念和多道任務(wù)的工作模式。但是為了向下兼容,所以80286及以后的x86系列兼容處理器仍然是開機(jī)啟動(dòng)時(shí)工作在實(shí)模式下。80186和早期的處理器僅有一種操作模式,就是后來我們所定義的實(shí)模式。實(shí)模式雖然能訪問到1M的地址空間,但是由于BIOS的映射作用(即BIOS占用了部分空間地址資源),所以真正能使用的物理內(nèi)存空間(內(nèi)存條),也就是在640k924k之間。1M 地址空間組成是由 16位的段地址和16位的段內(nèi)偏移地址組成的。用公式表示為:物理地址=左移4位的段地址+偏移地址。

?

286處理器體系結(jié)構(gòu)引入了地址保護(hù)模式的概念,處理器能夠?qū)?nèi)存及一些其他外圍設(shè)備做硬件級(jí)的保護(hù)設(shè)置(保護(hù)設(shè)置實(shí)質(zhì)上就是屏蔽一些地址的訪問)。使用這些新的特性,然而必不可少一些額外的在80186及以前處理器沒有的操作規(guī)程。自從最初的x86微處理器規(guī)格以后,它對(duì)程序開發(fā)完全向下兼容,80286芯片被制作成啟動(dòng)時(shí)繼承了以前版本芯片的特性,工作在實(shí)模式下,在這種模式下實(shí)際上是關(guān)閉了新的保護(hù)功能特性,因此能使以往的軟件繼續(xù)工作在新的芯片下。直到今天,甚至最新的x86處理器都是在計(jì)算機(jī)加電啟動(dòng)時(shí)都是工作在實(shí)模式下,它能運(yùn)行為以前處理器芯片寫的程序.

?

DOS操作系統(tǒng)(例如 MS-DOS,DR-DOS)工作在實(shí)模式下,微軟Windows早期的版本(它本質(zhì)上是運(yùn)行在DOS上的圖形用戶界面應(yīng)用程序,實(shí)際上本身并不是一個(gè)操作系統(tǒng))也是運(yùn)行在實(shí)模式下,直到Windows3.0,它運(yùn)行期間既有實(shí)模式又有保護(hù)模式,所以說它是一種混合模式工作。它的保護(hù)模式運(yùn)行有兩種不同意義(因?yàn)?/span>80286并沒有完全地實(shí)現(xiàn)80386及以后的保護(hù)模式功能)

?

1〉“標(biāo)準(zhǔn)保護(hù)模式”:這就是程序運(yùn)行在保護(hù)模式下;

2〉“虛擬保護(hù)模式(實(shí)質(zhì)上還是實(shí)模式,是實(shí)模式上模擬的保護(hù)模式)”:它也使用32位地址尋址方式。Windows3.1徹底刪除了對(duì)實(shí)模式的支持。在80286處理器芯片以后,Windows3.1成為主流操作系統(tǒng)(Windows/80286不是主流產(chǎn)品)。目前差不多所有的X86系列處理器操作系統(tǒng)(LinuxWindows95 and laterOS/2等)都是在啟動(dòng)時(shí)進(jìn)行處理器設(shè)置而進(jìn)入保護(hù)模式的。

?

實(shí)模式工作機(jī)理:

1> 對(duì)于8086/8088來說計(jì)算實(shí)際地址是用絕對(duì)地址對(duì)1M求模。8086的地址線的物理結(jié)構(gòu):20根,也就是它可以物理尋址的內(nèi)存范圍為2^20個(gè)字節(jié),即1 M空間,但由于8086/8088所使用的寄存器都是16位,能夠表示的地址范圍只有0-64K,這和1M地址空間來比較也太小了,所以為了在8086/8088下能夠訪問1M內(nèi)存,Intel采取了分段尋址的模式:16位段基地址:16位偏移EA。其絕對(duì)地址計(jì)算方法為:16位基地址左移4+16位偏移=20位地址。? 比如:DS=1000H EA=FFFFH 那么絕對(duì)地址就為:10000H +
0FFFFH = 1FFFFH 地址單元
。通過這種方法來實(shí)現(xiàn)使用16位寄存器訪問1M的地址空間,這種技術(shù)是處理器內(nèi)部實(shí)現(xiàn)的,通過上述分段技術(shù)模式,能夠表示的最大內(nèi)存為:
FFFFh: FFFFh=FFFF0h+FFFFh=10FFEFh=1M+64K-16Bytes1M多余出來的部分被稱做高端內(nèi)存區(qū)HMA。但8086/8088只有20位地址線,只能夠訪問1M地址范圍的數(shù)據(jù),所以如果訪問100000h~10FFEFh之間的內(nèi)存(大于1M空間),則必須有第21根地址線來參與尋址(8086/8088沒有)。因此,當(dāng)程序員給出超過1M100000H-10FFEFH)的地址時(shí),因?yàn)檫壿嬌险#到y(tǒng)并不認(rèn)為其訪問越界而產(chǎn)生異常,而是自動(dòng)從0開始計(jì)算,也就是說系統(tǒng)計(jì)算實(shí)際地址的時(shí)候是按照對(duì)1M求模的方式進(jìn)行的,這種技術(shù)被稱為wrap-around

?

?

2> 對(duì)于80286或以上的CPU通過A20 GATE來控制A20地址線 技術(shù)發(fā)展到了 80286,雖然系統(tǒng)的地址總線由原來的20根發(fā)展為24根,這樣能夠訪問的內(nèi)存可以達(dá)到2^24=16M,但是Intel在設(shè)計(jì)80286時(shí)提出的目標(biāo)是向下兼容,所以在實(shí)模式下,系統(tǒng)所表現(xiàn)的行為應(yīng)該和8086/8088所表現(xiàn)的完全一樣,也就是說,在實(shí)模式下,80386以及后續(xù)系列應(yīng)該和8086/8088完全兼容仍然使用A20地址線。所以說80286芯片存在一個(gè)BUG:它開設(shè)A20地址線。如果程序員訪問100000H-10FFEFH之間的內(nèi)存,系統(tǒng)將實(shí)際訪問這塊內(nèi)存(沒有wrap-around技術(shù)),而不是象8086/8088一樣從0開始。我們來看一副圖:


為了解決上述兼容性問題,IBM使用鍵盤控制器上剩余的一些輸出線來管理第21根地址線(從0開始數(shù)是第20根)?的有效性,被稱為A20 Gate

1> 如果A20 Gate被打開,則當(dāng)程序員給出100000H-10FFEFH之間的地址的時(shí)候,系統(tǒng)將真正訪問這塊內(nèi)存區(qū)域;

2 如果A20 Gate被禁止,則當(dāng)程序員給出100000H-10FFEFH之間的地址的時(shí)候,系統(tǒng)仍然使用8086/8088的方式即取模方式(8086仿真)。絕大多數(shù)IBM PC兼容機(jī)默認(rèn)的A20 Gate是被禁止的。現(xiàn)在許多新型PC上存在直接通過BIOS功能調(diào)用來控制A20 Gate的功能。

上面所述的內(nèi)存訪問模式都是實(shí)模式,在80286以及更高系列的PC中,即使A20 Gate被打開,在實(shí)模式下所能夠訪問的內(nèi)存最大也只能為10FFEFH,盡管它們的地址總線所能夠訪問的能力都大大超過這個(gè)限制。為了能夠訪問10FFEFH以上的內(nèi)存,則必須進(jìn)入保護(hù)模式。

保護(hù)模式: 經(jīng)常縮寫為 p-mode, Intel iAPX 286程序員參考手冊(cè)中(iAPX
286Intel 80286的另一種叫法)
它又被稱作為虛擬地址保護(hù)模式。經(jīng)管在Intel 80286手冊(cè)中已經(jīng)提出了虛地址保護(hù)模式,但實(shí)際上它只是一個(gè)指引,真正的32位地址出現(xiàn)在Intel 80386上。保護(hù)模式本身是80286及以后兼容處理器序列之后產(chǎn)成的一種操作模式,它具有許多特性設(shè)計(jì)為提高系統(tǒng)的多道任務(wù)和系統(tǒng)的穩(wěn)定性。例如內(nèi)存的保護(hù),分頁(yè)機(jī)制和硬件虛擬存儲(chǔ)的支持。現(xiàn)代多數(shù)的x86處理器操作系統(tǒng)都運(yùn)行在保護(hù)模式下,包括Linux, Free BSD, Windows
3.0(它也運(yùn)行在實(shí)模式下,為了和Windows 2.x應(yīng)用程序兼容)及以后的版本。

?

80286及以后的處理器另一種工作模式是實(shí)模式(僅當(dāng)系統(tǒng)啟動(dòng)的一瞬間),本著向下兼容的原則屏蔽保護(hù)模式特性,從而容許老的軟件能夠運(yùn)行在新的芯片上。作為一個(gè)設(shè)計(jì)規(guī)范,所有的x86系列處理器,除嵌入式Intel80387之外,都是系統(tǒng)啟動(dòng)工作在實(shí)模式下,確保遺留下的操作系統(tǒng)向下兼容。它們都必須被啟動(dòng)程序(操作系統(tǒng)程序最初運(yùn)行代碼)重新設(shè)置而相應(yīng)進(jìn)入保護(hù)模式的,在這之前任何的保護(hù)模式特性都是無效的。在現(xiàn)代計(jì)算機(jī)中,這種匹配進(jìn)入保護(hù)模式是操作系統(tǒng)啟動(dòng)時(shí)最前沿的動(dòng)作之一。

?

在被調(diào)停的多道任務(wù)程序中,它可以從新工作在實(shí)模式下是相當(dāng)可能的。保護(hù)模式的特性是阻止被其他任務(wù)或系統(tǒng)內(nèi)核破壞已經(jīng)不健全的程序的運(yùn)行,保護(hù)模式也有對(duì)硬件的支持,例如中斷運(yùn)行程序,移動(dòng)運(yùn)行進(jìn)程文檔到另一個(gè)進(jìn)程和置空多任務(wù)的保護(hù)功能。

?

386及以后系列處理器不僅具有保護(hù)模式又具有32位寄存器,結(jié)果導(dǎo)致了處理功能的混亂,因?yàn)?/span>80286雖然支持保護(hù)模式,但是它的寄存器都是16位的,它是通過自身程序設(shè)定而模擬出的32位,并非32位寄存器處理。歸咎于這種混亂現(xiàn)象,它促使Windows/386 及以后的版本徹底拋棄80286的虛擬保護(hù)模式,以后保護(hù)模式的操作系統(tǒng)都是運(yùn)行在80386以上,不再運(yùn)行在80286(盡管80286模式支持保護(hù)模式),所以說80286是一個(gè)過渡芯片,它是一個(gè)過渡產(chǎn)品。

?

盡管 286386處理器能夠?qū)崿F(xiàn)保護(hù)模式和兼容以前的版本,但是內(nèi)存的1M以上空間還是不易存取,由于內(nèi)存地址的回繞,IBM PC XT (現(xiàn)以廢棄)設(shè)計(jì)一種模擬系統(tǒng),它能過欺騙手段訪問到1M以上的地址空間,就是開通了A20地址線。在保護(hù)模式里,前32個(gè)中斷為處理器異常預(yù)留,例如,中斷0D(十進(jìn)制13)常規(guī)保護(hù)故障和中斷00是除數(shù)為零異常。

?

如果要訪問更多的內(nèi)存,則必須進(jìn)入保護(hù)模式,那么,在保護(hù)模式下, A20
Gate對(duì)于內(nèi)存訪問有什么影響呢?

為了搞清楚這一點(diǎn),我們先來看一看A20的工作原理。A20,從它的名字就可以看出來,其實(shí)它就是對(duì)于A20(從0開始數(shù))的特殊處理(也就是對(duì)第21根地址線的處理)。如果A20 Gate被禁止,對(duì)于80286來說,其地址為24根地址線,其地址表示為EFFFFF;對(duì)于80386極其隨后的32根地址線芯片來說,其地址表示為FFEFFFFF。這種表示的意思是:

1> 如果A20
Gate被禁止。則其第A20CPU做地址訪問的時(shí)候是無效的,永遠(yuǎn)只能被作為0。所以,在保護(hù)模式下,如果A20
Gate被禁止,則可以訪問的內(nèi)存只能是奇數(shù)1M段,即1M,3M,5M…,也就是00000-FFFFF, 200000-2FFFFF,300000-3FFFFF…

2如果A20 Gate被打開。則其第20-bit是有效的,其值既可以是0,又可以是1。那么就可以使A20線傳遞實(shí)際的地址信號(hào)。如果A20 Gate被打開,則可以訪問的內(nèi)存則是連續(xù)的。

實(shí)模式和保護(hù)模式的區(qū)別: 從表面上看,保護(hù)模式和實(shí)模式并沒有太大的區(qū)別,二者都使用了內(nèi)存段、中斷和設(shè)備驅(qū)動(dòng)來處理硬件,但二者有很多不同之處。我們知道,在實(shí)模式中內(nèi)存被劃分成段,每個(gè)段的大小為 64KB ,而這樣的段地址可以用 16 位來表示。內(nèi)存段的處理是通過和段寄存器相關(guān)聯(lián)的內(nèi)部機(jī)制來處理的,這些段寄存器( CS DS SS ES )的內(nèi)容形成了物理地址的一部分。具體來說,最終的物理地址是由 16 位的段地址和 16 位的段內(nèi)偏移地址組成的。用公式表示為:物理地址 = 左移 4 位的段地址 + 偏移地址。

在保護(hù)模式下,段是通過一系列被稱之為 描述符表 的表所定義的。段寄存器存儲(chǔ)的是指向這些表的指針。用于定義內(nèi)存段的表有兩種:全局描述符表 (GDT) 和局部描述符表 (LDT) GDT 是一個(gè)段描述符數(shù)組,其中包含所有應(yīng)用程序都可以使用的基本描述符。在實(shí)模式中,段長(zhǎng)是固定的 ( 64KB) ,而在保護(hù)模式中,段長(zhǎng)是可變的,其最大可達(dá) 4GB LDT 也是段描述符的一個(gè)數(shù)組。與 GDT 不同, LDT 是一個(gè)段,其中存放的是局部的、不需要全局共享的段描述符。每一個(gè)操作系統(tǒng)都必須定義一個(gè) GDT ,而每一個(gè)正在運(yùn)行的任務(wù)都會(huì)有一個(gè)相應(yīng)的 LDT 。每一個(gè)描述符的長(zhǎng)度是 8 個(gè)字節(jié),格式如圖 3 所示。當(dāng)段寄存器被加載的時(shí)候,段基地址就會(huì)從相應(yīng)的表入口獲得。描述符的內(nèi)容會(huì)被存儲(chǔ)在一個(gè)程序員不可見的影像寄存器 (shadow register) 之中,以便下一次同一個(gè)段可以使用該信息而不用每次都到表中提取。物理地址由 16 位或者 32 位的偏移加上影像寄存器中的基址組成。實(shí)模式和保護(hù)模式的不同可以從下圖很清楚地看出來。

實(shí)模式下尋址方式

?

保護(hù)模式下尋址方式

posted on 2007-08-24 00:52 旅途 閱讀(3977) 評(píng)論(0)  編輯 收藏 引用 所屬分類: linux內(nèi)核

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久一区二区三区| 久久综合狠狠综合久久综青草 | 欧美二区视频| 亚洲影视九九影院在线观看| 欧美高清在线精品一区| 影音先锋在线一区| 久久久美女艺术照精彩视频福利播放 | 久热精品在线视频| 亚洲一区在线看| 国产精品v欧美精品v日本精品动漫| 亚洲精品日韩在线| 亚洲激情视频在线| 欧美va亚洲va香蕉在线| 亚洲欧洲日韩女同| 亚洲国产精品免费| 欧美日韩日本网| 亚洲欧美日韩精品久久久| 在线亚洲一区| 国产欧美日韩视频| 久久久久久久性| 久久久国产视频91| 亚洲国产高潮在线观看| 欧美电影在线免费观看网站| 欧美高清一区二区| 亚洲一区二区三区中文字幕| 亚洲欧美自拍偷拍| 伊人精品在线| 亚洲青色在线| 国产精品欧美经典| 久久激情综合网| 久久久天天操| 一本色道久久综合| 亚洲欧美成人| 怡红院av一区二区三区| 亚洲国产精品ⅴa在线观看 | 亚洲第一精品影视| 亚洲人成网站精品片在线观看| 欧美日韩999| 午夜一区二区三区不卡视频| 久久视频这里只有精品| 99国产一区二区三精品乱码| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产日韩欧美91| 欧美福利专区| 国产精品亚洲美女av网站| 久久综合狠狠综合久久综青草| 免费观看30秒视频久久| 亚洲一区免费网站| 久久久噜噜噜久久久| 一二三四社区欧美黄| 欧美一区二区三区精品| 蜜臀99久久精品久久久久久软件 | 亚洲精品欧美一区二区三区| 国产精品高清一区二区三区| 久久久精品网| 欧美日韩中文在线观看| 猫咪成人在线观看| 国产精品福利影院| 蜜桃伊人久久| 国产精品久久999| 亚洲国产精品va在线看黑人动漫 | 亚洲欧美综合v| 欧美a级一区| 久久野战av| 国产精品国产三级国产普通话三级 | 欧美国产精品va在线观看| 欧美一区二区免费| 欧美精品在线网站| 欧美成人性网| 狠狠入ady亚洲精品经典电影| 一本色道久久综合精品竹菊| 亚洲黄色成人久久久| 久久国产66| 久久成人国产精品| 国产精品免费福利| 一区二区三欧美| 亚洲精品人人| 免费久久99精品国产| 久久影音先锋| 国产亚洲精品久久久久动| 亚洲欧美日韩中文视频| 欧美亚洲视频在线观看| 欧美三级在线视频| 一本久道久久综合狠狠爱| 亚洲美女一区| 欧美大学生性色视频| 欧美激情第9页| 亚洲第一精品夜夜躁人人爽| 久久精品亚洲| 免费成人高清视频| 影音先锋欧美精品| 久久这里只有精品视频首页| 久久精品99| 国色天香一区二区| 久久精品一区二区三区中文字幕 | 欧美日韩激情网| 欧美一级免费视频| 国产精品v欧美精品v日本精品动漫 | 亚洲色图综合久久| 欧美剧在线免费观看网站| 欧美国产激情二区三区| 亚洲国产精品黑人久久久| 久久亚洲国产成人| 激情成人亚洲| 国产视频精品va久久久久久| 欧美成人综合| 国产一区二区三区不卡在线观看| 亚洲一级二级在线| 午夜日韩电影| 韩国在线视频一区| 久久最新视频| 91久久综合| 亚洲一区二区三区三| 国产精品高潮呻吟久久| 亚洲欧美日韩在线播放| 乱人伦精品视频在线观看| 亚洲级视频在线观看免费1级| 欧美日韩成人综合天天影院| 亚洲午夜在线观看视频在线| 久久久久www| 亚洲欧洲精品一区二区三区波多野1战4 | 娇妻被交换粗又大又硬视频欧美| 久久久久久久一区二区| 欧美福利在线| 亚洲欧美视频一区二区三区| 在线观看亚洲a| 欧美日韩国产一区精品一区| 亚洲欧美日韩国产综合在线 | 亚洲综合成人在线| 欧美成人首页| 欧美一级久久| 亚洲六月丁香色婷婷综合久久| 国产精品久久二区二区| 美女网站在线免费欧美精品| 亚洲女人天堂成人av在线| 亚洲福利国产| 久久蜜臀精品av| 亚洲欧美日本在线| 亚洲看片一区| 精品动漫3d一区二区三区免费| 欧美日韩在线高清| 久热精品在线视频| 香蕉成人久久| 99这里只有久久精品视频| 蜜桃伊人久久| 久久精品国产亚洲5555| 亚洲一级二级| 亚洲伦伦在线| 一区视频在线| 国产日韩精品一区二区三区| 欧美全黄视频| 欧美va亚洲va香蕉在线| 久久精品国产亚洲高清剧情介绍| 一本一本久久a久久精品综合妖精| 欧美jjzz| 男女精品网站| 久久一区欧美| 久久九九国产精品| 欧美一区2区三区4区公司二百| 一区二区精品国产| 亚洲伦伦在线| 亚洲精品九九| 亚洲日本视频| 亚洲精品久久视频| 91久久中文| 亚洲黄色一区二区三区| 亚洲国产高潮在线观看| 亚洲第一二三四五区| 亚洲国产精彩中文乱码av在线播放| 欧美大香线蕉线伊人久久国产精品| 久久久精品国产免费观看同学 | 欧美欧美天天天天操| 老司机午夜免费精品视频| 久久久人成影片一区二区三区观看| 校园激情久久| 香蕉国产精品偷在线观看不卡| 亚洲——在线| 亚洲永久字幕| 欧美在线观看www| 久久精品国产成人| 久久频这里精品99香蕉| 久久精品成人| 久久久久久穴| 美女主播视频一区| 欧美二区在线播放| 欧美精品日韩综合在线| 欧美视频一区二区三区…| 国产精品极品美女粉嫩高清在线| 国产精品久久久久久久久动漫 | 一本一本a久久| 亚洲午夜免费福利视频| 午夜精品视频一区| 久久精品欧洲| 欧美1区免费| 亚洲国产午夜| 亚洲深夜影院| 久久久免费av| 欧美精品免费在线| 国产九色精品成人porny| 伊人成人在线视频|