理解pages和page Frames的區別

2021-07-30 08:43:18 字數 1087 閱讀 2611

物理頁面通常被稱作page frames,而虛擬位址空間的頁面通常被稱為pages.linux以page為單位管理記憶體。

但經過一段較長的時

間linux

會恢復,但此時系統已不可用了.

物理記憶體不足時,會引起 swap 頻繁讀寫,從而降低系統效能,因為與訪問物理記憶體相比,磁碟的讀寫是很慢的

資料結構page tables(頁面)被用於虛擬位址空間和實體地址空間的對映。一種最簡單的頁表實現方式是:實現乙個超級大陣列,陣列的索引是虛存空間的所有頁面。這顯然太浪費了, 因為大多數虛擬記憶體是空閒狀態,沒人在使用。正確的做法是志需要為正在使用或馬上要使用的那部分虛擬記憶體建立頁表即可。linux核心使用了「多層調頁(multi-level paging)技術」來達到這一目的。這裡的多級指的是;pgd(page global directory,頁總目錄) + pmd(頁中目錄)+pte(頁表索引)+ offset(頁面內部偏移).

這種多層調頁技術除了有上述優勢外, 也帶來了以下缺點:每次訪問虛擬記憶體,都需要順著這個鏈走一遍即多層查詢才能獲得對應的實體地址。為此,cpu的設計以以下兩種方式來加速這個查詢過程:

(1)通過記憶體管理單元mmu,優化取址和引用操作。

(2)位址翻譯過程中最頻繁用到的那些頁表儲存在cpu的乙個叫tlb(翻譯後備緩衝器)的cache裡,能夠有效減少尋找實體地址所消耗時間。tlb是乙個小的,虛擬定址的快取,其中每一行都儲存著乙個由單個pte(page table entry,頁表項)組成的塊。如果沒有tlb,則每次取資料都需要兩次訪問記憶體,即查頁表獲得實體地址和取資料。當cpu執行機構收到應用程式發來的虛擬位址後,首先到tlb中查詢相應的頁表資料,如果tlb中正好存放著所需的頁表,則稱為tlb命中(tlb hit),接下來cpu再依次看tlb中頁表所對應的物理記憶體位址中的資料是不是已經在一級、二級快取裡了,若沒有則到記憶體中取相應位址所存放的資料。既然說tlb是記憶體裡存放的頁表的快取,那麼它裡邊存放的資料實際上和記憶體頁表區的資料是一致的,在記憶體的頁表區里,每一條記錄虛擬頁面和物理頁框對應關係的記錄稱之為乙個頁表條目(entry),同樣地,在tlb裡邊也快取了同樣大小的頁表條目(entry)。



Hexo和Pages部落格閱讀文章出現404頁面

嘗試過的解決方法 我先hexo s 測試本地的訪問情況,發現是沒有問題的,不會出現404的情況,但是重新部署以後依然404。回憶出現問題前的改動 只有乙個地方,我把post目錄裡面文章的檔名改動了,但是刪除快取以後,使用hexo s 命令以後發現沒有問題。這時候才部署到github,不過在pages...

理解和認同

認同這樣的哲學,認同這樣的做事方式,認同這樣的思維和思想。1 佛。每個人都有心。從這個意義上講,所有人都是平等的。不需言語 可以發現中華文化裡面,佛教的影響十分深遠。或許這就是潛規則。緣起緣滅,心中自知。這同時意味著,不要小看任何人。2 道。每個人都有心,那就按原本的秩序來,做自己該做的,這就叫無為...

理解和認識udev

因 為本身從事儲存行業,在工作中多次碰到使用者有這樣的要求 我的linux系統中原來有一塊scsi硬碟,系統分配的裝置檔案是 dev sda。現在新增 加了乙個外接的磁碟陣列,通過scsi卡連線。但接上這個磁碟陣列後,dev sda變成了磁碟陣列的硬碟了,原來內建的scsi硬碟變成了 dev sdb...