在作業系統課本上看到「程序的映像」,不是太理解,在網上搜了一下,還是不理解~~~,只有問老師了
乙個程序的記憶體映像,從低位址開始分為五部分
正文段初始化資料段
未初始化資料段
堆區棧區
其中,堆區和棧區共享同一塊記憶體區域,棧由該區域的最高位址向低位址增長,而堆由該區域的低位址向高位址增長
映像和對映有何區別?
對映是乙個動詞,描述的是a到b的一種關係,b就稱為這種對映下a的映像
你要問的是記憶體對映檔案吧,它存在ram記憶體中,是磁碟上物理檔案的映像
這是用於物理儲存器(包括物理記憶體和頁面檔案或相當於頁面檔案的磁碟空間) 和
程式或資料檔案的虛擬空間之間相互對應的兩個概念。舉個例子,當一程式啟動執行的初期,並沒有(當然得是非dos作業系統,而是執行於保護模式下的os, 如win9x,2k)把所有程
序所需要的物理空間分配給它,而是只分配了滿足當時可以使之執行的幾個頁面。程式繼續執行。讀取新的頁面。發現不在
記憶體中,就要用一定的演算法分配一記憶體頁面給那個程序的虛擬位址空間中的頁面。這時記憶體中的這個物理頁面需要對應到該頁面所處的在程式中的邏輯位置或
位址,這個就叫做對映。而這個記憶體頁面的就是虛擬空間中那個對應頁面在記憶體中的映象,它們的「內容」是相同的。
程式的記憶體映像
一 程式的記憶體映像 乙個由c c 編譯的程式的記憶體分布分為以下幾個部分 1 棧 stack 也是我們所說的堆疊,是由編譯器自動分配釋放,用來存放函式引數值,函式的返回位址,非靜態區域性變數的值等。其操作方式類似於資料結構中的棧 後進先出 lifo 2 堆 heep 一般由程式設計師分配釋放,若程...
程式的記憶體映像
這幾天在看c語言的書籍,對c的記憶體映像有點疑惑,於是,查詢資料,查閱了龐麗萍編著的 作業系統原理 第四版中的第七章主存管理中的段式系統,此外還看了王元珍 曹忠生 韓忠芬編著的 80x86組合語言程式設計 得到了乙個自己對在80x86結構下的記憶體對映的理解。不過也許自己的理解是錯的或者有不到之處,...
linux c的記憶體映像
記憶體映像其實就是在記憶體中建立乙個和外存檔案完全相同的映像。使用者可以將整個檔案對映到記憶體中也可以部分對映到記憶體。系統會將對記憶體映像的改動如實的反映到外存檔案中。從而實現了通過記憶體映像對外存檔案的操作。記憶體映像的特點 1 可以加快對io的操作速度。2 使用者可以通過指針對檔案進行操作,間...