加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

內(nèi)存管理

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

內(nèi)存管理是指軟件運行時對計算機內(nèi)存資源的分配和使用的技術(shù)。其最主要的目的是如何高效,快速的分配,并且在適當?shù)臅r候釋放和回收內(nèi)存資源。一個執(zhí)行中的程式,譬如網(wǎng)頁瀏覽器在個人電腦或是圖靈機(Turing machine)里面,為一個行程將資料轉(zhuǎn)換于真實世界及電腦內(nèi)存之間,然后將資料存于電腦內(nèi)存內(nèi)部(在計算機科學,一個程式是一群指令的集合,一個行程是電腦在執(zhí)行中的程式)。一個程式結(jié)構(gòu)由以下兩部分而成:“本文區(qū)段”,也就是指令存放,提供CPU使用及執(zhí)行; “資料區(qū)段”,儲存程式內(nèi)部本身設(shè)定的資料,例如常數(shù)字串。

內(nèi)存管理是指軟件運行時對計算機內(nèi)存資源的分配和使用的技術(shù)。其最主要的目的是如何高效,快速的分配,并且在適當?shù)臅r候釋放和回收內(nèi)存資源。一個執(zhí)行中的程式,譬如網(wǎng)頁瀏覽器在個人電腦或是圖靈機(Turing machine)里面,為一個行程將資料轉(zhuǎn)換于真實世界及電腦內(nèi)存之間,然后將資料存于電腦內(nèi)存內(nèi)部(在計算機科學,一個程式是一群指令的集合,一個行程是電腦在執(zhí)行中的程式)。一個程式結(jié)構(gòu)由以下兩部分而成:“本文區(qū)段”,也就是指令存放,提供CPU使用及執(zhí)行; “資料區(qū)段”,儲存程式內(nèi)部本身設(shè)定的資料,例如常數(shù)字串。收起

查看更多
  • 【內(nèi)存管理】頁面分配機制
    【內(nèi)存管理】頁面分配機制
    Linux內(nèi)核中是如何分配出頁面的,如果我們站在CPU的角度去看這個問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計算機中常講的分頁機制。本文就看下Linux內(nèi)核是如何管理,釋放和分配這些物理頁面的。
  • 【內(nèi)存管理】內(nèi)存布局介紹
    【內(nèi)存管理】內(nèi)存布局介紹
    32位操作系統(tǒng)的內(nèi)存布局很經(jīng)典,很多書籍都是以32位系統(tǒng)為例子去講解的。32位的系統(tǒng)可訪問的地址空間為4GB,用戶空間為1GB ~ 3GB,內(nèi)核空間為3GB ~ 4GB。
  • 【內(nèi)存管理】頁表映射基礎(chǔ)知識
    【內(nèi)存管理】頁表映射基礎(chǔ)知識
    現(xiàn)在Linux內(nèi)核中支持四級頁表的映射,我們先看下內(nèi)核中關(guān)于頁表的一些術(shù)語:全局目錄項,PGD(Page Global Directory)上級目錄項,PUD(Page Upper Directory)中間目錄項,PMD(Page Middle Directory)頁表項,(Page Table)大家在看內(nèi)核代碼時會經(jīng)??吹囊陨闲g(shù)語,但在ARM的芯片手冊中并沒有用到這些術(shù)語,而是使用L1,L2,L3頁表這種術(shù)語。
  • Linux內(nèi)存管理常見概念
    Linux內(nèi)存管理常見概念
    Linux內(nèi)存管理重要性不言而喻,最近我也在學習一些這方面知識,不過,內(nèi)存相關(guān)概念實在太多了,內(nèi)存這個話題也很大,我們先從了解內(nèi)存管理的一些常見概念開始吧:
  • 【操作系統(tǒng)】內(nèi)存管理概述
    【操作系統(tǒng)】內(nèi)存管理概述
    常見的內(nèi)存分配函數(shù)有malloc,mmap等,但大家有沒有想過,這些函數(shù)在內(nèi)核中是怎么實現(xiàn)的?換句話說,Linux內(nèi)核的內(nèi)存管理是怎么實現(xiàn)的?內(nèi)存管理的目的是管理系統(tǒng)中的內(nèi)存,俗稱內(nèi)存橋,換成專業(yè)屬于叫DDR。我們有必要先了解下計算機對內(nèi)存管理的硬件結(jié)構(gòu)。我們先看下關(guān)于地址的一些概念。
  • DRAM增長全面轉(zhuǎn)正,六巨頭大漲221%
    DRAM增長全面轉(zhuǎn)正,六巨頭大漲221%
    內(nèi)存(DRAM)市場正在迎來一波上漲潮。據(jù)TrendForce統(tǒng)計,2023年第四季度,全球DRAM產(chǎn)業(yè)總營收達174.6億美元,季增29.6%。排名前六的廠商在2023年第四季度營收環(huán)比增長都為正數(shù),且增幅普遍較大,特別是力積電(PSMC),增幅最高,達到110%。
  • 虹科干貨 | 網(wǎng)絡(luò)入侵的本質(zhì)是什么?如何應對?
    網(wǎng)絡(luò)安全入侵的本質(zhì),包括攻擊者常用的策略、技術(shù)和程序,以及他們所尋求的數(shù)據(jù)類型。文中指出幾乎所有的組織都至少間接地面臨著安全風險,特別是通過第三方關(guān)系。強調(diào)加強組織內(nèi)部網(wǎng)絡(luò)安全的重要性,提供了有效的保護措施,包括最新技術(shù)的應用、員工培訓和積極的風險管理。此外還介紹在發(fā)生安全事件時的最佳響應實踐,包括建立詳盡的應急響應計劃和與執(zhí)法機構(gòu)及同行合作的重要性。
  • 圖文詳解 Linux 分頁機制!
    圖文詳解 Linux 分頁機制!
    分頁機制是 80x86 內(nèi)存管理機制的第二種機制,分段機制用于把虛擬地址轉(zhuǎn)換為線性地址,而分頁機制用于把線性地址轉(zhuǎn)換為物理地址。分頁機制可以用于任何一種分段機制,也可以理解為先有分段機制才有分頁機制,這是由于歷史原因,分段機制要比分頁機制更輕,先出現(xiàn)的分段后出現(xiàn)的分頁。
  • 萬字整理內(nèi)存管理之Cache
    如果CPU需要將一個變量(假設(shè)地址是A)加1,一般分為以下3個步驟:CPU 從主存中讀取地址A的數(shù)據(jù)到內(nèi)部通用寄存器 x0(ARM64架構(gòu)的通用寄存器之一);通用寄存器 x0 加1;CPU 將通用寄存器 x0 的值寫入主存。
  • Buddy 內(nèi)存管理機制(下)
    內(nèi)存是計算機系統(tǒng)中最重要的核心資源之一,Buddy 系統(tǒng)是 Linux 最底層的內(nèi)存管理機制,它使用 Page 粒度來管理內(nèi)存。通常情況下一個 Page 的大小為 4K,在 Buddy 系統(tǒng)中分配、釋放、回收的最小單位都是 Page。
  • Buddy 內(nèi)存管理機制(上)
    內(nèi)存是計算機系統(tǒng)中最重要的核心資源之一,Buddy 系統(tǒng)是 Linux 最底層的內(nèi)存管理機制,它使用 Page 粒度來管理內(nèi)存。通常情況下一個 Page 的大小為 4K,在 Buddy 系統(tǒng)中分配、釋放、回收的最小單位都是 Page。
  • Linux內(nèi)存管理:memblock
    內(nèi)存管理是操作系統(tǒng)內(nèi)核中最復雜的部分之一, start_kernel函數(shù)在內(nèi)核啟動第一個init進程前初始化了所有的內(nèi)核特性(包括那些依賴于不同架構(gòu)的特性),你也許還記得引導時創(chuàng)立的臨時頁表,但復雜的內(nèi)存管理部分還沒有開始,當start_kernel函數(shù)被調(diào)用時,我們會看到初期內(nèi)存管理到更復雜的內(nèi)存管理數(shù)據(jù)結(jié)構(gòu)和技術(shù)的轉(zhuǎn)變,為了更好的理解內(nèi)核的初始化過程,我們需要對這些技術(shù)有更清晰的理解,今天我們會著重討論這個過程,主要針對初期的內(nèi)存管理memblock的介紹。
  • 內(nèi)存管理專欄 | 之內(nèi)存管理架構(gòu)
    內(nèi)存管理子系統(tǒng)架構(gòu)可以分為:用戶空間、內(nèi)核空間及硬件部分3個層面。
  • 深入理解Aarch64的內(nèi)存管理
    本文介紹了AAR64內(nèi)存管理中最重要的內(nèi)容--內(nèi)存轉(zhuǎn)換,解釋了虛擬地址是如何翻譯為物理地址的,翻譯表的格式,以及如何管理TLBS。
  • 五萬字 | 深入理解Linux內(nèi)存管理
    內(nèi)存是計算機最重要的資源之一,內(nèi)存管理是操作系統(tǒng)最重要的任務之一。內(nèi)存管理并不是簡單地管理一下內(nèi)存而已,它還直接影響著操作系統(tǒng)的風格以及用戶空間編程的模式。那么今天我們就來全面系統(tǒng)地講一講Linux內(nèi)存管理。
  • 為什么要學習內(nèi)核?
    勢是未來發(fā)展的大勢。操作系統(tǒng)的作用不言而喻,它是現(xiàn)代計算平臺的核心支撐,向下負責硬件資源,向上控制軟件程序。如果把芯片比作一個人的心臟,那么操作系統(tǒng)的地位無疑是一個人的靈魂,面對”卡脖子“的歷史階段,學習操作系統(tǒng)迫在眉睫。
  • Linux 內(nèi)存管理之CMA
    Linux 內(nèi)存管理之CMA
  • Linux進程的內(nèi)存管理
    Linux進程的內(nèi)存管理
  • RT-Thread內(nèi)存管理學習總結(jié)
    在單片機芯片上,如果不考慮出廠固化的 ROM 空間的話,通常開發(fā)者能接觸到的存儲空間主要分兩種:掉電可保存數(shù)據(jù)的片內(nèi) FLASH 和掉電不可保存數(shù)據(jù)的片內(nèi) RAM。
  • 深入剖析Linux內(nèi)核反向映射機制
    Cheetah,曾為U-boot社區(qū)和Linux內(nèi)核社區(qū)提交過若干補丁,主要從事Linux相關(guān)系統(tǒng)軟件開發(fā)工作,負責Soc芯片BringUp及系統(tǒng)軟件開發(fā),喜歡閱讀內(nèi)核源代碼,在不斷的學習和工作中深入理解內(nèi)存管理,進程調(diào)度,文件系統(tǒng),設(shè)備驅(qū)動等內(nèi)核子系統(tǒng)。

正在努力加載...