進(jìn)程申請內(nèi)存

#include <iostream>
#include <windows.h>
using namespace std;

int main(int argc, char *argv[])
{
    char *data = (char *)malloc(1024*1024*800);
    //char *data  = new char[1024*1024*800];
   // memset(data, 0x01, 1024*1024*800);
    while(1);
    return 0;
}

如果完全不用的話,那這個其實內(nèi)核只是對這個進(jìn)程進(jìn)行了記賬,沒有真的直接給錢。這個開銷其實很小,小到大概實際支出只有十幾K而已,
你肯定要問,什么時候兌現(xiàn),這個就是在你讀或者寫到內(nèi)存的時候,而且是要用到多少才真的給,如你只用到20M的內(nèi)存,那其實真的分配的物理內(nèi)存也就比這個多一點(這當(dāng)然是虛擬內(nèi)存有管理的開銷)。這種模式在計算機領(lǐng)域很常見。如so加載,進(jìn)程啟動等等。
具體的內(nèi)容,你要看講虛擬內(nèi)存的書籍

malloc是用戶態(tài)的操作,內(nèi)核不知道的,內(nèi)核只提供了brk這種系統(tǒng)調(diào)用給你

malloc只分配虛擬內(nèi)存,只有到你用的時候才會有物理內(nèi)存給出來

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 操作系統(tǒng)對內(nèi)存的管理 沒有內(nèi)存抽象的年代 在早些的操作系統(tǒng)中,并沒有引入內(nèi)存抽象的概念。程序直接訪問和操作的都是物...
    Mr槑閱讀 16,973評論 3 24
  • 概述 我們都知道一個進(jìn)程是與其他進(jìn)程共享CPU和內(nèi)存資源的。正因如此,操作系統(tǒng)需要有一套完善的內(nèi)存管理機制才能防止...
    SylvanasSun閱讀 3,982評論 0 25
  • 操作系統(tǒng)概論 操作系統(tǒng)的概念 操作系統(tǒng)是指控制和管理計算機的軟硬件資源,并合理的組織調(diào)度計算機的工作和資源的分配,...
    野狗子嗷嗷嗷閱讀 12,487評論 3 34
  • 2017年末,手Q春節(jié)紅包項目期間,為保障活動期間服務(wù)正常穩(wěn)定,我對性能不佳的Ark Server進(jìn)行了改造和重寫...
    90后老碼農(nóng)閱讀 10,936評論 1 12
  • 1. 基礎(chǔ)知識 1.1、 基本概念、 功能 馮諾伊曼體系結(jié)構(gòu)1、計算機處理的數(shù)據(jù)和指令一律用二進(jìn)制數(shù)表示2、順序執(zhí)...
    yunpiao閱讀 5,814評論 1 22

友情鏈接更多精彩內(nèi)容