Wordpress網(wǎng)站調(diào)用代碼2024年新冠疫情最新消息今天
目錄
1.內(nèi)存里的幾個區(qū)域
2.示意圖
3.解釋
1.內(nèi)存里的幾個區(qū)域
除了耳熟能詳?shù)臈^(qū),堆區(qū),靜態(tài)區(qū),還有內(nèi)核空間,內(nèi)存映射段,數(shù)據(jù)段,代碼段
2.示意圖
3.解釋
棧區(qū)(stack area):局部變量,函數(shù)參數(shù),返回數(shù)據(jù),返回地址
內(nèi)存映射段:將文件映射到內(nèi)存
映射的含義:
如果看過李忠老師的 《x86匯編語言 從實(shí)模式到保護(hù)模式 第二版》,其中寫到了可以操作B800:0000~BFFF:000F的虛擬地址來向80*25的顯示屏寫入可視的文字
可以這樣做的原因是:
(以下摘抄自P67~P68)
????? 為了給出要顯示的字符,處理器需要訪問顯存,把字符的ASCI碼寫進(jìn)去。但是,顯存是位于顯卡上的,訪問顯存需要和顯卡這個外圍設(shè)備打交道。同時,多一道手續(xù)自然是不好的,這當(dāng)中最重要的考量是速度和效率。想想看,你讓人傳話給父母,和自己親自往家里打電話,花費(fèi)的時間是不一樣的。為了實(shí)現(xiàn)一些快速的游戲動畫效果,或者播放高碼率的電影,不直接訪問顯在是辦不到的。
????? 為此,計算機(jī)系統(tǒng)的設(shè)計者們,這些敢想敢干的人,決定把顯存映射到處理器可以直接訪問的地址空間里,也就是內(nèi)存空間里
--------------------------------------------------------------------------------------------------------------------------
即處理器-->顯卡-->顯存變成處理器-->內(nèi)存(含映射的顯存)
堆區(qū)(heap area):動態(tài)內(nèi)存管理(malloc函數(shù),realloc函數(shù),calloc函數(shù),free函數(shù))
數(shù)據(jù)段(data? segment)(靜態(tài)區(qū)):全局變量(如全局變量),靜態(tài)數(shù)據(jù)(如靜態(tài)變量(由static修飾))
代碼段(code segment):存放函數(shù)體(類成員函數(shù)和全局函數(shù))的二進(jìn)制代碼和只讀常量(如常量字符串)