<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 論文大全 > 管理論文 > linux內存管理論文

        linux內存管理論文

        時間: 家文952 分享

        linux內存管理論文

          Linux是多用戶、多任務的操作系統,存儲資源由多個進程有效共享。下面是學習啦小編整理了linux內存管理論文,有興趣的親可以來閱讀一下!

          linux內存管理論文篇一

          分頁式虛擬內存管理及Linux實現

          摘 要:本文分析了操作系統的頁式虛擬存儲管理機制,并結合當前支持多平臺的Linux操作系統,根據其中虛擬存儲的特點,詳細分析了在Linux系統下的頁式內存虛擬實現,重點指出了Linux所獨特的具體實現過程,其中包括請頁機制,物理內存分配與回收和交換機制等。

          關鍵詞:內存;分頁;虛擬;Linux

          現代大多數計算機操作系統由于內存空間的限制,都采用了虛擬內存空間管理的方法。虛擬存儲管理器通過在輔存中建立一個虛擬地址空間,提供了一個物理存儲器的抽象,并且在任意時刻&ldquo;自動地&rdquo;確定哪部分地址空間被加載在內存中,系統處理在內存和輔存之間地址空間塊的來回傳送,而無須人工干預。現在大部分的虛擬內存系統都采用了分頁式虛擬內存管理。提高其管理性能可增強計算機的運行速率和工作效率。本文即介紹分頁式虛擬內存管理的過程并結合Linux操作系統介紹其實現。

          一、實現過程

          1、地址轉換。在分頁式虛擬內存管理系統中,虛擬地址空間劃分成許多頁,頁是一段連續的虛擬地址空間。相應的,物理內存空間也劃分成多個頁幀。頁和頁幀的大小是相同的,一個頁可以映射到一個頁幀。頁表項(Page Table Entry,PTE)包含有與主存中的頁相對應的幀號,對應的頁是否在主存中的存在位(P),頁的內容從上次裝入至今是否改變的修改位(M)。圖示如下:

          為了將邏輯地址轉換成物理地址,系統中必須設置地址變換機構。但是現在計算機使用的虛擬地址一般是32位的,而且每次訪問內存都要進行地址轉換,這將嚴重影響系統效率?,F實中使用TLB(Translation Lookaside Buffer)以及三級頁表等解決上述問題。

          2、請求頁面調度。 虛擬內存管理中,進程駐留在次級存儲器。當訪問到某頁中的一個單元時才將該頁取入內存。當一個進程第一次啟動時,會出現大量的頁錯誤,當越來越多的頁被取入內存時,根據局部性原理,在一段時間后錯誤會逐漸平息下來,頁錯誤的數目會降的很低。

          3、頁面置換算法。在進程運行過程中,若其所要訪問的頁面不在內存而需把它們調入內存,但內存無空閑空間時,系統必須從內存中調出一頁程序或數據,送磁盤的對換區中。頁面置換算法(Page-Replacement Algorithms)確定將哪個頁面調出。

          二、Linux中的分頁虛擬內存管理具體實現

          Linux是多用戶、多任務的操作系統,存儲資源由多個進程有效共享。Linux內存管理的設計充分利用了計算機系統所提供的虛擬存儲技術,真正實現了虛擬存儲器管理。其虛擬地址空間大小為4GB,內核將這4G的空間分為兩部分,高1G為內核空間,低3G為內核空間,即Linux可以擁有4GB的虛擬空間。

          1、Linux虛擬尋址

          Linux使用三級頁表結構,且與平臺無關,由頁目錄,頁中間目錄和頁表構成。Linux中的虛擬地址可由4個域組成,其地址轉換與前述類似。

          2、Linux請頁機制。在Linux中,當一個進程執行時,如果CPU訪問到一個有效的虛地址,但是這個地址對應的頁不在內存,則CPU產生一個缺頁異常,并將這個虛地址存入CR2存儲器,然后調用缺頁異常處理程序do_page_fault()。

          有兩種方法裝入所缺的頁,取決于此頁是否與磁盤文件建立了映射關系??梢哉{用do_no_page()函數檢查虛存區描述符的nopage域來確定這一點。若nopage域不為空,說明映射了一個磁盤文件,nopage域指向執行從磁盤讀入操作的函數;若nopage域為空,虛存區沒有映射磁盤文件。因此,do_no_page()調用do_anonymous_page()函數,獲得一個新的頁面。

          3、物理內存分配與回收。在Linux中,虛存區間的分配在前,物理頁面的分配在后。隨著用戶程序的執行和結束,系統不斷地分配和釋放物理頁面,這導致在已分配的內存塊中分散著許多小的空閑頁面,即外碎片。外碎片無法滿足大塊連續頁面的分配要求。為此,Linux采用伙伴(buddy)算法來解決外碎片問題。它把所有的空閑頁面分為10個塊組,每組中塊的大小是2n個頁面,且把同樣大小的塊形成一個鏈表。然后把大小相等且物理地址連續的兩個塊合并為一個塊。

          4、交換機制。物理頁面的換入換出主要過程如下,其中涉及Linux中的page結構和free_area結構。

          釋放頁面。如果一個頁面變為空閑可用,就把該頁面的page結構鏈入某個空閑隊列free_area,同時頁面的使用計數count減1。

          分配頁面。調用在__get_free_page()從某個空閑隊列分配內存頁面,將頁面的使用計數count置為1。

          活躍狀態。已分配的頁面處于活躍狀態,該頁面的數據結構page通過其隊列頭結構lru鏈入活躍頁面隊列active_list,并在進程地址空間中至少有一個頁與該頁面之間建立了映射關系。

          總結:操作系統中的虛擬存儲技術是當今計算機領域的熱點之一。它的優劣直接影響到計算機的性能的好壞。Linux是一個功能強大的實際的操作系統,每個技術環節都有其自身的特點,特別在系統架構方面有其獨到的特點。在Linux虛擬內存方面的性能改善將成倍的提高計算機在實際應用中的價值和生產率。本文為虛擬內存的理論闡述,可作為相關方向的理論介紹材料,對提高計算機實際應用能力有一定幫助。

          作者單位:東北林業大學信息與計算機工程學院

          參考文獻:

          [1]Abraham Baer Galvin等.鄭扣銀譯.OPERATING SYSTEM CONCEPTS[M].北京:高等教育出版社.2005.

          [2]William Stallings,陳渝譯.Operating Systems Internals and Design Principles[M].北京:電子工業出版社.2007.

        點擊下頁還有更多>>>linux內存管理論文

        2457214 主站蜘蛛池模板: 丝袜国产一区av在线观看| 精品国偷自产在线视频99| 中国小帅男男 gay xnxx| 精品国产迷系列在线观看| 人妻熟妇乱又伦精品无码专区| 强制高潮18xxxxhd日韩| 国产成人无码综合亚洲日韩不卡| 婷婷丁香五月六月综合激情啪| 一本高清码二区三区不卡| 久久国产V一级毛多内射| 久久精品国产免费观看频道| 亚洲日韩久热中文字幕| 在线观看热码亚洲AV每日更新| 亚洲国产中文字幕在线视频综合| 狠狠人妻久久久久久综合九色| 美女自卫慰黄网站| 天堂亚洲免费视频| 亚洲人成小说网站色在线 | 老色99久久九九爱精品| 久久国产精品第一区二区| 国产福利在线免费观看| 女人被爽到高潮视频免费国产| 国精品午夜福利视频| 久久精品波多野结衣| 综合偷自拍亚洲乱中文字幕| 久久夜色精品国产噜噜亚洲sv| 漂亮的保姆hd完整版免费韩国| 亚洲18禁一区二区三区| 国产精品任我爽爆在线播放6080| 黄色一级片免费观看| 国产情侣激情在线对白| 国产热A欧美热A在线视频| 日本视频精品一区二区| 一级内射片在线网站观看视频| 日韩极品视频在线观看免费 | 日本一本无道码日韩精品| 日韩国产欧美精品在线| 成人无码免费视频在线播 | 人妻精品丝袜一区二区无码AV| 人妻精品久久久无码区色视| a4yy私人毛片|