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

            大龍的博客

            常用鏈接

            統(tǒng)計(jì)

            最新評論

            學(xué)習(xí)內(nèi)存管理---分段、分頁

            1。操作系統(tǒng)最大的功能就是管理功能,管理進(jìn)程調(diào)度、管理內(nèi)存、管理文件系統(tǒng)、管理I/O,...。其中最核心的功能是進(jìn)程管理,但管理的基礎(chǔ)是內(nèi)存管理,只有把內(nèi)存管理好了,才能使進(jìn)程在這個(gè)廣闊的舞臺上自由表演。

            2。系統(tǒng)工作模式有三種:實(shí)模式、保護(hù)模式、虛擬8086模式,其中保護(hù)模式又分為:分段保護(hù)模式、分段分頁保護(hù)模式,不同模式下的物理內(nèi)存管理方式不同。

            3。分段保護(hù)模式(segmentation):
            為了管理好內(nèi)存,把內(nèi)存分而治之,劃分成小塊,這樣易于才易于管理。如何劃分呢?分段保護(hù)模式是把物理內(nèi)存分段,分成一段一段的區(qū)域,每段大小固定/不固定,每段都有不同的用途,這就需要對每個(gè)段進(jìn)行描述,以記錄該段有哪些屬性或特點(diǎn),這樣在使用該段時(shí)才能操作正確。對每個(gè)段的描述信息放在“段描述符”中,所有的“段描述符”統(tǒng)一放在一起組成系統(tǒng)的“段描述符表”。“段描述符表”分為“全局描述符表GDT”,“中斷描述符表IDT”,“局部描述符表LDT”。當(dāng)操作系統(tǒng)要訪問內(nèi)存中的某一個(gè)段時(shí),先在描述符表中找到該段的描述符,這樣就知道了該如何使用該內(nèi)存段了。簡言之,分段是對物理內(nèi)存分段劃分,GDT,LDT,IDT是操作系統(tǒng)使用物理內(nèi)存的參照依據(jù)。

            4。段頁保護(hù)模式(paging):
            這是在分段保護(hù)模式的基礎(chǔ)上,再加上分頁功能。把以前的對物理內(nèi)存的分段改為對虛擬地址空間的分段,把4G的虛擬地址空間分段,段信息仍保存在GDT,LDT,IDT中。然后把物理內(nèi)存分頁,用二級頁表結(jié)構(gòu)來描述和記錄物理內(nèi)存分頁后的各個(gè)頁的信息。當(dāng)使用物理內(nèi)存時(shí)就參照二級頁表。

            5。使用分頁機(jī)制的目的:
            (1)當(dāng)系統(tǒng)內(nèi)存被分成許多凌亂的塊時(shí),分頁機(jī)制可以建立一個(gè)大而連續(xù)的內(nèi)存空間映象,程序員不用操心和管理這些分散的內(nèi)存塊。
            (2)頁地址變換建立在段變換基礎(chǔ)上,任何分頁機(jī)制的保護(hù)措施并不會取代段變換的保護(hù)措施,而只是進(jìn)行更進(jìn)一步的檢查操作。
            (3)分頁機(jī)制增強(qiáng)分段的性能。

            6。虛擬內(nèi)存
            實(shí)現(xiàn)虛擬內(nèi)存的手段是使用“需求加載Load on demand”和“頁換入換出”。所謂的“需求加載”是指:運(yùn)行一個(gè)磁盤上的文件時(shí),操作系統(tǒng)為新進(jìn)程創(chuàng)建4G線形地址空間,并為其環(huán)境參數(shù)和命令行參數(shù)分配和映射一定數(shù)量的物理頁,此外并沒有給執(zhí)行程序分配其他任何物理內(nèi)存頁面,也沒有從磁盤文件中加載代碼和數(shù)據(jù)。但是,一旦程序從設(shè)定的入口點(diǎn)(mian函數(shù))開始運(yùn)行,就會立刻引起CPU產(chǎn)生一個(gè)缺頁中斷,此時(shí)內(nèi)核中的缺頁處理程序才會根據(jù)引起缺頁異常的具體線形地址把磁盤文件中相關(guān)的代碼和數(shù)據(jù)從文件系統(tǒng)中加載到物理內(nèi)存頁面中,并定位到進(jìn)程邏輯地址中指定的頁面位置。這種僅在需要時(shí)才加載執(zhí)行文件中頁面的方法稱為需求加載技術(shù)或需求分頁(demand paging)技術(shù)。
            “頁換入和換出”是指:當(dāng)CPU要尋址的指令或數(shù)據(jù)不在緩存和物理內(nèi)存中時(shí),通過需求加載技術(shù)把頁面加到物理內(nèi)存,但此時(shí)如果物理內(nèi)存已被全部占用,則必須把物理內(nèi)存中最近不使用的頁面換出到磁盤中,以騰出空間給新頁面,這種現(xiàn)在就稱為頁換入和換出。

            7。何時(shí)產(chǎn)生GDT,LDT,IDT、二級頁目錄結(jié)構(gòu),以及它們位于物理內(nèi)存的什么位置?
            在引導(dǎo)啟動程序head.s中初始化GDT,IDT和二級頁表,它們放在物理內(nèi)存從地址0x0開始的地方。head.s代碼執(zhí)行完后的物理內(nèi)存布局如下圖:

            posted on 2010-04-15 02:42 大龍 閱讀(3760) 評論(3)  編輯 收藏 引用

            評論

            # re: 學(xué)習(xí)內(nèi)存管理---分段、分頁 2010-04-26 20:39 Jelline Sue

            謝謝分享!  回復(fù)  更多評論   

            # re: 學(xué)習(xí)內(nèi)存管理---分段、分頁 2010-04-26 20:39 Jelline Sue

            謝謝分享  回復(fù)  更多評論   

            # re: 學(xué)習(xí)內(nèi)存管理---分段、分頁 2010-04-26 20:42 Jelline Sue

            我對系統(tǒng)整個(gè)啟動過程,那個(gè)內(nèi)存映射有不少疑問。希望有機(jī)會請教您。
            Jelline.Sue@gmail.com  回復(fù)  更多評論   

            久久婷婷综合中文字幕| 久久久久久国产精品美女| 久久久久亚洲AV无码专区首JN| 99热精品久久只有精品| 国产精品美女久久久久| 久久人妻少妇嫩草AV无码专区| 久久综合鬼色88久久精品综合自在自线噜噜| 亚洲综合精品香蕉久久网| 亚洲精品无码专区久久同性男| 久久久久久久亚洲精品| 久久久久亚洲av毛片大| 久久se这里只有精品| 久久久久成人精品无码| 亚洲欧美久久久久9999| 久久亚洲sm情趣捆绑调教| 午夜不卡久久精品无码免费| 久久综合狠狠综合久久综合88| 精品久久久久中文字幕日本| 国产精品美女久久久久网| 亚洲狠狠久久综合一区77777| 国产精品免费看久久久香蕉| 午夜视频久久久久一区 | 久久亚洲精品成人AV| 久久亚洲精品成人av无码网站| 久久精品成人免费网站| 国产AⅤ精品一区二区三区久久| 久久婷婷五月综合色99啪ak| 亚洲国产精品无码久久98| 国产精品久久久久aaaa| 性做久久久久久久久久久| 久久婷婷五月综合97色一本一本| 久久精品嫩草影院| 波多野结衣久久精品| 久久99热国产这有精品| 一本综合久久国产二区| 91久久精一区二区三区大全| 婷婷久久综合| 国产精品欧美久久久久天天影视| 大香伊人久久精品一区二区| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲日本va午夜中文字幕久久|