搜尋
首頁運維linux運維linux的虛擬記憶體機制是什麼

linux的虛擬記憶體機制是什麼

May 14, 2023 pm 12:01 PM
linux

linux的虛擬記憶體機制:

1.每個進程都有自己獨立的4G記憶體空間,各個進程的記憶體空間具有類似的結構。

Linux記憶體管理採用的是頁式管理,使用的是多層頁表,動態位址轉換機構與主記憶體、輔存共同實現虛擬記憶體一個新進程建立的時候,

將會建立起自己的記憶體空間,此行程的數據,程式碼等從磁碟拷貝到自己的行程空間,哪些資料在哪裡,

都由進程控製表中的task_struct記錄,task_struct中記錄中一條鍊錶,記錄中記憶體空間的分配情況,

哪些位址有數據,哪些位址無數據,哪些可讀,哪些可寫,都可以透過這個鍊錶記錄每個行程已經分配的記憶體空間,都與對應的磁碟空間映射。

2.每個程式都能看到一片完整連續的位址空間,這些空間並沒有直接關聯到實體內存,而是作業系統提供了記憶體的一種抽象概念,

使得每個行程都有一個連續完整的位址空間,在程式的運作過程,再完成虛擬位址到實體位址的轉換。

我們同樣知道,進程的位址空間是分段的,存在所謂的資料段,程式碼段,bbs段,堆,棧等等。每個段都有特定的作用。

同時電腦沒有那麼多的記憶體(n個進程就需要對應n*4G記憶體),建立一個進程,就要把磁碟上的程式檔案拷貝到進程對應的記憶體中去,

# 對於有一個程式對應多個進程這種情況,浪費記憶體。

linux的虛擬記憶體機制是什麼

# 3.每個行程的4G記憶體空間只是虛擬記憶體空間,每次存取記憶體空間的某個位址,都需要把位址翻譯為實際物理位址所有行程共享相同實體內存,

每個進程只把自己目前需要的虛擬記憶體空間映射並儲存到實體記憶體上進程要知道哪些記憶體位址上的資料在實體記憶體上,哪些不在,還有在實體記憶體上的哪裡,

需要頁表記錄頁表的每個表格項目分為兩部分,第一部分記錄此頁是否在實體記憶體上,第二部分記錄實體記憶體的位址當行程存取某個虛擬位址,

去查看頁表,如果對應的資料不在實體記憶體中,,則缺頁異常缺頁異常的處理過程,就是把進程需要的資料從磁碟拷貝到實體記憶體中,

如果記憶體已經滿了 ,沒有空地方,那就找一個頁來覆蓋,當然如果被覆蓋的頁曾經被修改過,需要將此頁寫回磁碟。

linux的虛擬記憶體機制是什麼

# 4.竟然每個行程的記憶體空間都是一致且固定的,所以連結器在連結執行檔時,可以設定記憶體位址,而 不用去管這些資料最終實際的記憶體位址,

這是有獨立內存 空間的好處當不同的程序使用同樣的程式碼時,例如庫檔案中的程式碼,物理記憶體中可以只儲存一份這樣的程式碼,

不同的進程只要要把自己的虛擬記憶體映射過去就可以了,節省內存在程式需要分配連續的記憶體空間的時候,

只需要在虛擬記憶體空間分配連續空間,而不需要實際實體記憶體的連續空間,可以利用碎片。

以上是linux的虛擬記憶體機制是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除
Linux操作系統的5個核心組件Linux操作系統的5個核心組件May 08, 2025 am 12:08 AM

Linux操作系統的5個核心組件是:1.內核,2.系統庫,3.系統工具,4.系統服務,5.文件系統。這些組件協同工作,確保系統的穩定和高效運行,共同構成了一個強大而靈活的操作系統。

Linux的5個基本要素:解釋Linux的5個基本要素:解釋May 07, 2025 am 12:14 AM

Linux的五個核心元素是:1.內核,2.命令行界面,3.文件系統,4.包管理,5.社區與開源。這些元素共同定義了Linux的本質和功能。

Linux操作:安全和用戶管理Linux操作:安全和用戶管理May 06, 2025 am 12:04 AM

Linux用戶管理和安全性可以通過以下步驟實現:1.創建用戶和組,使用命令如sudouseradd-m-gdevelopers-s/bin/bashjohn。 2.批量創建用戶和設置密碼策略,使用for循環和chpasswd命令。 3.檢查和修復常見錯誤,如家目錄和shell設置。 4.實施最佳實踐,如強密碼策略、定期審計和最小權限原則。 5.優化性能,使用sudo和調整PAM模塊配置。通過這些方法,可以有效管理用戶和提升系統安全性。

Linux操作:文件系統,進程等Linux操作:文件系統,進程等May 05, 2025 am 12:16 AM

Linux文件系統和進程管理的核心操作包括文件系統的管理和進程的控制。 1)文件系統操作包括創建、刪除、複製和移動文件或目錄,使用命令如mkdir、rmdir、cp和mv。 2)進程管理涉及啟動、監控和終止進程,使用命令如./my_script.sh&、top和kill。

Linux操作:外殼腳本和自動化Linux操作:外殼腳本和自動化May 04, 2025 am 12:15 AM

Shell腳本是Linux系統中用於自動化執行命令的強大工具。 1)Shell腳本通過解釋器逐行執行命令,處理變量替換和條件判斷。 2)基本用法包括備份操作,如使用tar命令備份目錄。 3)高級用法涉及使用函數和case語句管理服務。 4)調試技巧包括使用set-x開啟調試模式和set-e在命令失敗時退出。 5)性能優化建議避免子Shell,使用數組和優化循環。

Linux操作:了解核心功能Linux操作:了解核心功能May 03, 2025 am 12:09 AM

Linux是一個基於Unix的多用戶、多任務操作系統,強調簡單性、模塊化和開放性。其核心功能包括:文件系統:以樹狀結構組織,支持多種文件系統如ext4、XFS、Btrfs,使用df-T查看文件系統類型。進程管理:通過ps命令查看進程,使用PID管理進程,涉及優先級設置和信號處理。網絡配置:靈活設置IP地址和管理網絡服務,使用sudoipaddradd配置IP。這些功能在實際操作中通過基本命令和高級腳本自動化得以應用,提升效率並減少錯誤。

Linux:進入和退出維護模式Linux:進入和退出維護模式May 02, 2025 am 12:01 AM

進入Linux維護模式的方法包括:1.編輯GRUB配置文件,添加"single"或"1"參數並更新GRUB配置;2.在GRUB菜單中編輯啟動參數,添加"single"或"1"。退出維護模式只需重啟系統。通過這些步驟,你可以在需要時快速進入維護模式,並安全地退出,確保系統的穩定性和安全性。

了解Linux:定義的核心組件了解Linux:定義的核心組件May 01, 2025 am 12:19 AM

Linux的核心組件包括內核、shell、文件系統、進程管理和內存管理。 1)內核管理系統資源,2)shell提供用戶交互界面,3)文件系統支持多種格式,4)進程管理通過fork等系統調用實現,5)內存管理使用虛擬內存技術。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。