• <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>

            為生存而奔跑

               :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

            留言簿(5)

            我參與的團隊

            搜索

            •  

            積分與排名

            • 積分 - 326945
            • 排名 - 74

            最新評論

            閱讀排行榜

            評論排行榜

            一。x86實模式介紹

            二。實模式的問題與保護模式的出現(xiàn)

            三。386以上處理器的特點

            四。保護模式下的地址轉換

            一。x86實模式介紹

            x86體系的處理器剛開始時只有20根地址線,尋址寄存器是16位。我們知道16位的寄存器可以訪問64K的地址空間,如果程序要想訪問大于64K的內存,就需要把內存分段,每段64K,用段地址+偏移量的方式來訪問,這樣使20根地址線全用上,最大的尋址空間就可以到1M字節(jié),這在當時已經是非常大的內存空間了。

            二。實模式的問題與保護模式的出現(xiàn)

            事實上,實模式將整個物理內存看成分段的區(qū)域,程序代碼和數(shù)據(jù)位于不同區(qū)域,系統(tǒng)程序和用戶程序并沒有區(qū)別對待,而且每一個指針都是指向實際的物理地址。這樣一來,用戶程序的一個指針如果指向了系統(tǒng)程序區(qū)域或其他用戶程序區(qū)域,并修改了內容,那么對于這個被修改的系統(tǒng)程序或用戶程序,其后果就很可能是災難性的。再者,隨著軟件的發(fā)展,1M的尋址空間已經遠遠不能滿足實際的需求了。最后,對處理器多任務支持需求也日益緊迫,所有這些都促使新技術的出現(xiàn)。

            為了克服實模式下的內存非法訪問問題,并滿足飛速發(fā)展的內存尋址和多任務需求,處理器廠商開發(fā)出保護模式。在保護模式中,除了內存尋址空間大大提高;提供了硬件對多任務的支持;物理內存地址也不能直接被程序訪問,程序內部的地址(虛擬地址)要由操作系統(tǒng)轉化為物理地址去訪問,程序對此一無所知。至此,進程(程序的運行態(tài))有了嚴格的邊界,任何其他進程根本沒有辦法訪問不屬于自己的物理內存區(qū)域,甚至在自己的虛擬地址范圍內也不是可以任意訪問的,因為有一些虛擬區(qū)域已經被放進一些公共系統(tǒng)運行庫。這些區(qū)域也不能隨便修改,若修改就會有出現(xiàn)linux中的段錯誤,或Windows中的非法內存訪問對話框。

            三。386以上處理器的特點

            386處理器有三種工作方式:實模式、保護模式和虛擬8086模式。

            在保護方式下,全部32條地址線有效,可尋址高達4G字節(jié)的物理地址空間;擴充的存儲器分段管理機制和可選的存儲器分頁管理機制,不僅為存儲器共享和保護提供了硬件支持,而且為實現(xiàn)虛擬存儲器提供了硬件支持;支持多任務,能夠快速地進行任務切換和保護任務環(huán)境;4個特權級和完善的特權檢查機制,既能實現(xiàn)資源共享又能保證代碼和數(shù)據(jù)的安全和保密及任務的隔離;支持虛擬8086方式,便于執(zhí)行8086程序。

            四。保護模式下的地址轉換

            通過采用段地址加偏移量的方式,80386支持的虛擬地址空間可達64T字節(jié)。但由于實際物理內存的大小可能會遠小于虛擬地址空間,所以實際上虛擬地址中只有部分才可以真正映射到物理存儲器。同時由于每一個任務有一個虛擬地址空間。為了避免多個并行任務的多個虛擬地址空間直接映射到同一個物理地址空間,還需要使用線性地址空間來隔離虛擬地址空間和物理地址空間。線性地址空間由一維的線性地址構成,線性地址空間和物理地址空間是對等。線性地址也是32位長,尋址空間為4G字節(jié)。

            在操作系統(tǒng)中,應用程序使用虛擬地址(也即邏輯地址)訪問內存,操作系統(tǒng)將虛擬地址轉換為線性地址,然后由處理器將線性地址轉換為物理地址,但是在交由處理器轉換前,操作系統(tǒng)必須設置處理器所需要的相關描述符表和描述符信息。其實在Linux系統(tǒng)中,這在系統(tǒng)啟動時就設置好了,而且是設置后就不會再改動了。

            在80386中,通過使用分段管理和分頁管理實現(xiàn)虛擬地址到物理地址的轉換,其中分頁管理是可選的。下圖是地址映射轉換的示意圖。


            本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/wukaiyu/archive/2007/08/31/1766804.aspx

            posted on 2011-04-20 11:34 baby-fly 閱讀(559) 評論(0)  編輯 收藏 引用 所屬分類: Linux kernel
            久久国产成人午夜aⅴ影院 | 97精品伊人久久大香线蕉| 97精品伊人久久久大香线蕉| 91精品国产91热久久久久福利| 久久精品国产亚洲7777| 久久精品国产99久久久古代| 国产精品国色综合久久| 欧美久久天天综合香蕉伊| 久久久老熟女一区二区三区| 久久综合九色综合久99| 国产免费久久精品99re丫y| www久久久天天com| 狠狠色丁香婷婷久久综合| 亚洲嫩草影院久久精品| 久久久久久精品无码人妻| 国产精品狼人久久久久影院| 午夜精品久久久久久99热| 久久精品成人免费观看97| 国产综合久久久久久鬼色| 怡红院日本一道日本久久 | avtt天堂网久久精品| 国产亚洲色婷婷久久99精品91| 亚洲欧美日韩中文久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 无夜精品久久久久久| 久久99国产精品久久99| 少妇熟女久久综合网色欲| 久久久久久久久久免免费精品| 国产精品一区二区久久不卡| 无码人妻久久一区二区三区免费丨 | 欧美精品一区二区精品久久 | 亚洲国产香蕉人人爽成AV片久久| 久久国产精品久久| 久久精品天天中文字幕人妻| 无码AV中文字幕久久专区| 国产精品一区二区久久精品涩爱| 久久WWW免费人成—看片| 色综合久久最新中文字幕| 久久香蕉国产线看观看乱码| 久久精品国产精品亚洲精品| 2020久久精品国产免费|