在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)內(nèi)存的基本知識(shí)詳細(xì)說明

Wildesbeast ? 來源:今日頭條 ? 作者:小二歲zzzz ? 2020-02-07 13:54 ? 次閱讀

介紹完內(nèi)存類別,內(nèi)存的基本結(jié)構(gòu),分段尋址原理,我們?cè)賮砜次覀兂绦蚴窃趺词褂脙?nèi)存。

內(nèi)存中的程序

BSS段

通常是指用來存放程序中未初始化的全局變量的一塊內(nèi)存區(qū)域。BSS是英文Block Started by Symbol的簡稱。BSS段屬于靜態(tài)內(nèi)存分配。【存儲(chǔ)全局未初始化的變量】

數(shù)據(jù)段

數(shù)據(jù)段通常是指用來存放程序中 已初始化 的 全局變量 的一塊內(nèi)存區(qū)域。數(shù)據(jù)段屬于靜態(tài)內(nèi)存分配。 【存儲(chǔ)全局已初始化的變量】

代碼段

代碼段通常是指用來存放 程序執(zhí)行代碼 的一塊內(nèi)存區(qū)域。這部分區(qū)域的大小在程序運(yùn)行前就已經(jīng)確定,并且內(nèi)存區(qū)域通常屬于 只讀 , 某些架構(gòu)也允許代碼段為可寫,即允許修改程序。在代碼段中,也有可能包含一些 只讀的常數(shù)變量 ,例如字符串常量等。程序段為程序代碼在內(nèi)存中的映射.一個(gè)程序可以在內(nèi)存中多有個(gè)副本.【存儲(chǔ)的是二進(jìn)制后的程序代碼】

堆是用于存放進(jìn)程運(yùn)行中被動(dòng)態(tài)分配的內(nèi)存段,它的大小并不固定,可動(dòng)態(tài)擴(kuò)張或縮減。當(dāng)進(jìn)程調(diào)用malloc/free等函數(shù)分配內(nèi)存時(shí),新分配的內(nèi)存就被動(dòng)態(tài)添加到堆上(堆被擴(kuò)張)/釋放的內(nèi)存從堆中被剔除(堆被縮減)【存儲(chǔ)初始化的局部變量】

棧又稱堆棧, 存放程序的 局部變量 (但不包括static聲明的變量, static 意味著 在數(shù)據(jù)段中 存放變量)。除此以外,在函數(shù)被調(diào)用時(shí),棧用來傳遞參數(shù)和返回值。由于棧的先進(jìn)先出特點(diǎn),所以棧特別方便用來保存/恢復(fù)調(diào)用現(xiàn)場。儲(chǔ)動(dòng)態(tài)內(nèi)存分配,需要程序員手工分配,手工釋放【儲(chǔ)存的動(dòng)態(tài)未初始化變量】

cat /proc/maps 進(jìn)程內(nèi)存映射

C語言文件編譯成a.out文件,并執(zhí)行該文件#./a.out,查看執(zhí)行該文件對(duì)應(yīng)的進(jìn)程#ps au,可以看到2200就2200就是我們需要的pidut文件,并執(zhí)行該文件#./a.out查看執(zhí)行該文件對(duì)應(yīng)的進(jìn)程#ps au,可以看到2200就2200就是我們需要的pid,#cat /proc/2200/maps 。

#a.out #include #include int q[200]; int main(void) { int i, n, *p; p = (int *) malloc(sizeof(int)); scanf("%d", &n); for (i=0; i<200; i++) q[i]=i; printf("%x %x %x %x %x ", main, q, p, &i, scanf); return 0; }

進(jìn)程使用內(nèi)存狀況

參數(shù)解釋

#cat /proc/2200/maps

address: 0085d000-00872000 虛擬內(nèi)存區(qū)域的起始和終止地址文件所占的地址空間

perms:rw-p 權(quán)限:r=read, w=write, x=execute, s=shared, p=private(copy on write)

offset: 00000000 虛擬內(nèi)存區(qū)域在被映射文件中的偏移量

dev: 03:08 文件的主設(shè)備號(hào)和次設(shè)備號(hào)

inode: 設(shè)備的節(jié)點(diǎn)號(hào),0表示沒有節(jié)點(diǎn)與內(nèi)存相對(duì)應(yīng)

name: /lib/ld-2.2.12.so 被映射文件的文件名

#cat /proc/2200/statm

size:任務(wù)虛擬地址空間大小

ident:正在使用的物理內(nèi)存大小

Shared:共享頁數(shù)

Trs:程序所擁有的可執(zhí)行虛擬內(nèi)存大小

Lrs:被映像倒任務(wù)的虛擬內(nèi)存空間的庫的大小

Drs:程序數(shù)據(jù)段和用戶態(tài)的棧的大小

dt:臟頁數(shù)量

UNIX/LINUX系統(tǒng)進(jìn)程情況

c語言在UNIX/LINUX系統(tǒng)內(nèi)存使用圖示

左邊的是UNIX/LINUX系統(tǒng)的執(zhí)行文件,右邊是對(duì)應(yīng)進(jìn)程邏輯地址空間的劃分情況。

堆棧區(qū)(stack),堆棧是由編譯器自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。棧的申請(qǐng)是由系統(tǒng)自動(dòng)分配,如在函數(shù)內(nèi)部申請(qǐng)一個(gè)局部變量 int h,同時(shí)判別所申請(qǐng)空間是否小于棧的剩余空間,如若小于的話,在堆棧中為其開辟空間,為程序提供內(nèi)存,否則將報(bào)異常提示棧溢出。

堆(heap),堆一般由程序員分配釋放, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收 。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表。堆的申請(qǐng)是由程序員自己來操作的,在C中使用malloc函數(shù),而C++中使用new運(yùn)算符,但是堆的申請(qǐng)過程比較復(fù)雜:當(dāng)系統(tǒng)收到程序的申請(qǐng)時(shí),會(huì)遍歷記錄空閑內(nèi)存地址的鏈表,以求尋找第一個(gè)空間大于所申請(qǐng)空間的堆結(jié)點(diǎn),然后將該結(jié)點(diǎn)從空閑結(jié)點(diǎn)鏈表中刪除,并將該結(jié)點(diǎn)的空間分配給程序,此處應(yīng)該注意的是有些情況下,新申請(qǐng)的內(nèi)存塊的首地址記錄本次分配的內(nèi)存塊大小,這樣在delete尤其是delete[]時(shí)就能正確的釋放內(nèi)存空間。

全局?jǐn)?shù)據(jù)區(qū)(靜態(tài)區(qū)) (static),全局變量和靜態(tài)變量的存儲(chǔ)是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域。 另外文字常量區(qū),常量字符串就是放在這里,程序結(jié)束后有系統(tǒng)釋放。

程序代碼區(qū),放著函數(shù)體的二進(jìn)制代碼。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11469

    瀏覽量

    212923
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7636

    瀏覽量

    90286
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3111

    瀏覽量

    75033
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    了解計(jì)算機(jī)內(nèi)部結(jié)構(gòu)

    本帖最后由 eehome 于 2013-1-5 10:08 編輯 很好的一本學(xué)習(xí)計(jì)算機(jī)內(nèi)知識(shí)的書
    發(fā)表于 07-27 11:11

    計(jì)算機(jī)控制基本知識(shí)

    `計(jì)算機(jī)控制基本知識(shí).ppt[hide][/hide]`
    發(fā)表于 08-05 20:03

    求推薦關(guān)于計(jì)算機(jī)內(nèi)存知識(shí)的入門書籍

    年后需要接觸到有關(guān)于計(jì)算機(jī)內(nèi)存條方面的測試工作,有沒有哪位大神能夠推薦下有關(guān)于計(jì)算機(jī)內(nèi)存條的書籍,是在不行文章鏈接也是可以的。多多益善,謝謝大家。
    發(fā)表于 01-23 14:37

    計(jì)算機(jī)內(nèi)部總線,計(jì)算機(jī)內(nèi)部總線是什么意思

    計(jì)算機(jī)內(nèi)部總線,計(jì)算機(jī)內(nèi)部總線是什么意思    由于計(jì)算機(jī)內(nèi)部的主要工作過程是信息傳送和加工的過程,因此在機(jī)器內(nèi)部各部件之間的數(shù)據(jù)傳送非常頻繁。為了
    發(fā)表于 04-13 10:31 ?7521次閱讀

    計(jì)算機(jī)基礎(chǔ)知識(shí)介紹

    計(jì)算機(jī)基礎(chǔ)知識(shí)計(jì)算機(jī)基礎(chǔ)知識(shí)計(jì)算機(jī)基礎(chǔ)知識(shí)
    發(fā)表于 12-03 16:13 ?0次下載

    計(jì)算機(jī)通信網(wǎng)基本知識(shí)

    一些關(guān)于計(jì)算機(jī)通信網(wǎng)的基本知識(shí),應(yīng)付一下考試的
    發(fā)表于 01-05 17:21 ?4次下載

    計(jì)算機(jī)控制基本知識(shí)

    計(jì)算機(jī)控制基本知識(shí)對(duì)初學(xué)者很有用的ppt教學(xué)
    發(fā)表于 12-09 15:30 ?0次下載

    計(jì)算機(jī)網(wǎng)絡(luò)的基本知識(shí)詳細(xì)資料總結(jié)

    本文檔的主要內(nèi)容詳細(xì)介紹的是計(jì)算機(jī)網(wǎng)絡(luò)的基本知識(shí)詳細(xì)資料總結(jié)包括了:1 概述2 網(wǎng)絡(luò)分類3 數(shù)據(jù)傳輸4 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)5 網(wǎng)絡(luò)體系結(jié)構(gòu)6 網(wǎng)絡(luò)互連7 網(wǎng)絡(luò)操作系統(tǒng)8 Internet基礎(chǔ)
    發(fā)表于 09-27 17:00 ?14次下載
    <b class='flag-5'>計(jì)算機(jī)</b>網(wǎng)絡(luò)的<b class='flag-5'>基本知識(shí)</b><b class='flag-5'>詳細(xì)</b>資料總結(jié)

    微機(jī)原理與接口技術(shù)教程之計(jì)算機(jī)基本知識(shí)詳細(xì)資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是微機(jī)原理與接口教程之計(jì)算機(jī)基本知識(shí)詳細(xì)資料概述主要內(nèi)容包括了:計(jì)算機(jī)的發(fā)展概況和微型
    發(fā)表于 01-09 08:00 ?16次下載
    微機(jī)原理與接口技術(shù)教程之<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>基本知識(shí)</b>的<b class='flag-5'>詳細(xì)</b>資料概述

    微型計(jì)算機(jī)的基礎(chǔ)知識(shí)詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是微型計(jì)算機(jī)的基礎(chǔ)知識(shí)詳細(xì)資料說明主要內(nèi)容有:1.微型計(jì)算機(jī)的組成及工
    發(fā)表于 05-09 08:00 ?0次下載
    微型<b class='flag-5'>計(jì)算機(jī)</b>的基礎(chǔ)<b class='flag-5'>知識(shí)</b><b class='flag-5'>詳細(xì)</b>資料<b class='flag-5'>說明</b>

    如何去優(yōu)化計(jì)算機(jī)內(nèi)存

    大多數(shù)計(jì)算和存儲(chǔ)部署如今面臨的情況是,計(jì)算機(jī)內(nèi)存空間都受到了上限的限制。
    發(fā)表于 11-28 17:48 ?1302次閱讀
    如何去優(yōu)化<b class='flag-5'>計(jì)算機(jī)內(nèi)存</b>

    光纖的基本知識(shí)詳細(xì)說明

    計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)進(jìn)入千兆時(shí)代,把我們的電腦和Internet連接起來的網(wǎng)線也在逐步變成光纖。這篇文章帶大家普及一下光纖的基本知識(shí)
    的頭像 發(fā)表于 02-07 15:39 ?1w次閱讀

    計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)詳細(xì)說明

    通常由用戶用高級(jí)語言編寫程序,然后講它和數(shù)據(jù)一起送入計(jì)算機(jī)內(nèi),再由計(jì)算機(jī)將其翻譯成機(jī)器能識(shí)別的機(jī)器語言程序,機(jī)器自動(dòng)運(yùn)行該機(jī)器語言程序,并將其計(jì)算結(jié)果輸出。
    的頭像 發(fā)表于 02-22 16:44 ?7202次閱讀

    計(jì)算機(jī)的海明校驗(yàn)及其實(shí)現(xiàn)詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是計(jì)算機(jī)的海明校驗(yàn)及其實(shí)現(xiàn)詳細(xì)說明
    發(fā)表于 04-30 08:00 ?5次下載
    <b class='flag-5'>計(jì)算機(jī)</b>的海明校驗(yàn)及其實(shí)現(xiàn)<b class='flag-5'>詳細(xì)說明</b>

    一圖詳細(xì)講解計(jì)算機(jī)預(yù)備知識(shí)

    一圖詳細(xì)講解計(jì)算機(jī)預(yù)備知識(shí)
    發(fā)表于 04-19 09:14 ?2次下載
    主站蜘蛛池模板: 狠狠摸狠狠操 | 天天影视欧美综合在线观看 | 午夜寂寞视频在线观看 | 91大神精品全国在线观看 | 91大神大战高跟丝袜美女 | 久久国产精品网 | 2021av网站| 国产成在线人视频免费视频 | 精品免费久久久久久成人影院 | 亚洲区免费 | 丁香婷婷六月天 | 九九热在线精品 | 国产女人18毛片水真多18精品 | 天天草夜夜操 | 久久久久九九精品影院 | 午夜爱爱免费视频 | 亚色成人| 一级片在线观看视频 | 日本午夜大片免费观看视频 | 四虎影视免费观看 | 亚洲综合香蕉 | 午夜大片男女免费观看爽爽爽尤物 | 天天操天天干天天做 | 中日韩欧美在线观看 | 欧美国产黄色 | 人人插人人干 | 好大好硬好长好爽a网站 | 日本免费在线视频 | 狠狠色噜噜综合社区 | 国产精品美女久久久久网 | 日韩三级中文 | 五月婷婷爱 | 亚洲三级网址 | 国模欢欢大尺度 | 色偷偷888欧美精品久久久 | bt天堂新版中文在线地址 | 激情综合网婷婷 | 1024你懂的国产欧美日韩在 | 啪啪在线视频 | 奇米网在线观看 | 欧美色图28p |