前面我們介紹了在內(nèi)核中如何獲取和釋放內(nèi)存,這些都是在內(nèi)核里面用到的,但除了內(nèi)核,還有一塊更重要的內(nèi)存空間要管理——用戶(hù)空間中每個(gè)進(jìn)程的內(nèi)存,進(jìn)程地址空間。Linux的內(nèi)存管理個(gè)人覺(jué)得也是理解內(nèi)核的關(guān)鍵模塊之一。
在Linux中,每個(gè)進(jìn)程都會(huì)有自己獨(dú)立的虛擬空間,大小由CPU架構(gòu)決定。但不是所有的虛擬空間都是有效的,只有被正確映射的虛擬內(nèi)存才能夠合法訪(fǎng)問(wèn),否則內(nèi)核會(huì)強(qiáng)制終止進(jìn)程。常見(jiàn)的虛擬內(nèi)存可以映射各種內(nèi)存對(duì)象:
當(dāng)在 Linux 上執(zhí)行 rz 命令之后,彈出選擇發(fā)送文件窗口時(shí),默認(rèn)選擇文件的目錄就是上面設(shè)置的上傳目錄
關(guān)于Linux,信盈達(dá)小編最喜歡的一點(diǎn)是一切都是文件。你在終端中運(yùn)行的命令和程序被抽象成文件。用來(lái)快速打開(kāi)自己喜歡的應(yīng)用程序的桌面圖標(biāo)也被抽象成文件。系統(tǒng)檢查應(yīng)用程序更新的代碼庫(kù)如何處理?當(dāng)然也是寫(xiě)在文件里。