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

旅途

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

實模式與保護模式

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

?

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

?

DOS操作系統(例如 MS-DOS,DR-DOS)工作在實模式下,微軟Windows早期的版本(它本質上是運行在DOS上的圖形用戶界面應用程序,實際上本身并不是一個操作系統)也是運行在實模式下,直到Windows3.0,它運行期間既有實模式又有保護模式,所以說它是一種混合模式工作。它的保護模式運行有兩種不同意義(因為80286并沒有完全地實現80386及以后的保護模式功能)

?

1〉“標準保護模式”:這就是程序運行在保護模式下;

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

?

實模式工作機理:

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

?

?

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


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

1> 如果A20 Gate被打開,則當程序員給出100000H-10FFEFH之間的地址的時候,系統將真正訪問這塊內存區域;

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

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

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

?

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

?

在被調停的多道任務程序中,它可以從新工作在實模式下是相當可能的。保護模式的特性是阻止被其他任務或系統內核破壞已經不健全的程序的運行,保護模式也有對硬件的支持,例如中斷運行程序,移動運行進程文檔到另一個進程和置空多任務的保護功能。

?

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

?

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

?

如果要訪問更多的內存,則必須進入保護模式,那么,在保護模式下, A20
Gate對于內存訪問有什么影響呢?

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

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

2如果A20 Gate被打開。則其第20-bit是有效的,其值既可以是0,又可以是1。那么就可以使A20線傳遞實際的地址信號。如果A20 Gate被打開,則可以訪問的內存則是連續的。

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

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

實模式下尋址方式

?

保護模式下尋址方式

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

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            狂野欧美性猛交xxxx巴西| 99视频精品在线| 久久久亚洲精品一区二区三区| 99精品视频免费全部在线| 欧美日产在线观看| 欧美大色视频| 亚洲国产精品成人综合| 久久精品视频播放| 麻豆成人91精品二区三区| 免费观看日韩| 亚洲免费观看在线观看| 在线亚洲一区| 久久久久国产一区二区三区四区| 久久综合一区| 国产精品国产三级国产 | 美女视频黄 久久| 欧美成人一区二区三区片免费| 欧美成人午夜激情视频| 欧美精品一区在线| 国产在线拍偷自揄拍精品| 亚洲国产高清一区二区三区| 欧美人妖在线观看| 国产日韩欧美中文在线播放| 亚洲激情影院| 久久国产精品亚洲77777| 久久亚洲欧美国产精品乐播| 欧美日产一区二区三区在线观看 | 亚洲欧洲一区二区在线观看| 欧美片第一页| 国产亚洲欧洲997久久综合| 亚洲激情一区| 久久亚洲欧美| 亚洲午夜精品久久| 欧美韩国日本综合| 韩日精品中文字幕| 亚洲永久免费视频| 亚洲国产日韩欧美在线动漫| 亚洲香蕉网站| 欧美日本一道本在线视频| 国内精品一区二区| 亚洲综合视频在线| 亚洲伦伦在线| 欧美成人精品一区二区| 国语自产精品视频在线看8查询8| 亚洲在线成人| 亚洲欧洲偷拍精品| 另类天堂av| 小处雏高清一区二区三区| 欧美日韩国产首页在线观看| 亚洲第一福利社区| 久久久视频精品| 亚洲欧美在线免费| 国产精品美女久久久| 一本不卡影院| 亚洲日本电影| 亚洲免费精彩视频| 欧美一区亚洲一区| 亚洲一级片在线看| 国产精品v欧美精品v日韩精品| 亚洲日本成人网| 欧美激情一区二区三区蜜桃视频| 久久久久综合| 久久人人97超碰国产公开结果| 一区二区欧美日韩| 亚洲靠逼com| 欧美三级小说| 亚洲欧美一区二区在线观看| 亚洲欧洲在线免费| 欧美片第1页综合| 亚洲免费在线电影| 亚洲欧美偷拍卡通变态| 国产亚洲精品一区二区| 久久精品亚洲一区| 久久―日本道色综合久久| 久久亚洲精品一区| 亚洲成人在线网站| 亚洲国产日韩一区| 欧美三区不卡| 久久精品免视看| 久久久亚洲一区| 亚洲精选一区| 亚洲永久视频| 亚洲国产91精品在线观看| 国产精品美女www爽爽爽| 亚洲电影自拍| 欧美激情在线免费观看| 亚洲精品裸体| 亚洲少妇一区| 国产在线欧美日韩| 欧美激情国产精品| 欧美日韩亚洲一区二区三区| 亚洲欧美日韩国产综合在线| 久久电影一区| 亚洲天堂黄色| 久久久青草婷婷精品综合日韩| 亚洲国产日日夜夜| 亚洲午夜影视影院在线观看| 国内精品一区二区| 一片黄亚洲嫩模| 亚洲国产成人午夜在线一区| 欧美人交a欧美精品| 麻豆精品精华液| 亚洲免费视频一区二区| 欧美一区观看| 欧美成人亚洲| 久久精品一区二区三区不卡牛牛| 欧美mv日韩mv国产网站| 亚洲欧美日韩国产一区二区三区| 久久视频免费观看| 性久久久久久久久| 欧美日韩精品三区| 欧美成人免费视频| 国产亚洲午夜高清国产拍精品| 欧美成ee人免费视频| 国产精品美女久久| 日韩视频在线播放| 亚洲久色影视| 另类亚洲自拍| 国产精品大片免费观看| 韩国v欧美v日本v亚洲v| 一区二区久久久久久| 亚洲国产精品视频一区| 篠田优中文在线播放第一区| 在线一区观看| 欧美电影专区| 欧美高清在线观看| 狠狠爱成人网| 欧美一区午夜视频在线观看| 亚洲欧美日韩视频二区| 欧美日韩国产成人在线91| 欧美成人精品高清在线播放| 国产综合色产| 午夜精品三级视频福利| 午夜精品区一区二区三| 欧美深夜影院| 中文在线一区| 亚洲午夜激情在线| 国产精品va在线| 国产精品男女猛烈高潮激情 | 亚洲国产精品专区久久| 亚洲一区二区三区免费在线观看 | 免费成人高清在线视频| 欧美日韩亚洲高清| 91久久精品国产91性色tv| 悠悠资源网久久精品| 久久精品五月婷婷| 欧美~级网站不卡| 亚洲国产99| 欧美裸体一区二区三区| 亚洲三级电影全部在线观看高清| 欧美专区亚洲专区| 国产精品一区在线观看| 亚洲在线一区| 久久精品亚洲乱码伦伦中文 | 国产日韩欧美精品| 久久不射中文字幕| 女女同性精品视频| 亚洲免费观看| 国产精品日本欧美一区二区三区| 亚洲一区图片| 老司机免费视频一区二区| 亚洲激情国产精品| 欧美日韩免费观看一区三区| 亚洲天堂av电影| 久久夜色精品国产亚洲aⅴ| 亚洲电影在线| 一区二区三区国产在线观看| 亚洲日韩中文字幕在线播放| 亚洲午夜视频| 销魂美女一区二区三区视频在线| 久久亚洲二区| 一区二区精品国产| 黄色成人免费网站| 欧美日本免费一区二区三区| 亚洲欧美国产精品va在线观看 | 亚洲欧美一区二区三区极速播放| 国产欧美日韩不卡| 欧美成人日韩| 亚洲一卡二卡三卡四卡五卡| 六十路精品视频| 亚洲影院免费观看| 亚洲国产成人av在线| 国产精品色午夜在线观看| 久久亚裔精品欧美| 国产午夜精品理论片a级大结局| 亚洲国产精品久久久久婷婷老年 | 欧美日本不卡高清| 久久福利资源站| av不卡免费看| 欧美成人午夜免费视在线看片 | 亚洲精品视频在线观看免费| 欧美一区国产一区| 一本大道av伊人久久综合| 国内精品久久久久久影视8| 欧美日韩aaaaa| 麻豆免费精品视频| 久久精品99| 性久久久久久久久| 亚洲无亚洲人成网站77777| 亚洲国产人成综合网站|