linux进程映像由哪些构成,Linux编程开发进程映像类型分析
進程與線程問題是程序員在學習編程開發語言需要重點掌握的編程知識之一,而今天我們就一起來了解一下,Linux編程開發中進程映像的執行標準。
什么是進程映像呢?進程映像是執行程序時所需要的可執行文件,通常會包括下面這些東西
代碼段(codesegment/textsegment)
又稱文本段,用來存放指令,運行代碼的一塊內存空間
此空間大小在代碼運行前就已經確定
內存空間一般屬于只讀,某些架構的代碼也允許可寫
在代碼段中,也有可能包含一些只讀的常數變量,例如字符串常量等。
數據段(datasegment)
可讀可寫
存儲初始化的全局變量和初始化的static變量
數據段中數據的生存期是隨程序持續性(隨進程持續性)
隨進程持續性:進程創建就存在,進程死亡就消失
bss段(bsssegment):
可讀可寫
存儲未初始化的全局變量和未初始化的static變量
bss段中的數據一般默認為0
Data段
是可讀寫的,因為變量的值可以在運行時更改。此段的大小也固定。
棧(stack):
可讀可寫
存儲的是函數或代碼中的局部變量(非static變量)
棧的生存期隨代碼塊持續性,代碼塊運行就給你分配空間,代碼塊結束,就自動回收空間
堆(heap):
可讀可寫
存儲的是程序運行期間動態分配的malloc/realloc的空間
堆的生存期隨進程持續性,從malloc/realloc到free一直存在
【免責聲明】本文系本網編輯部分轉載,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與管理員聯系,我們會予以更改或刪除相關文章,以保證您的權益!更多內容請在707945861群中學習了解。
總結
以上是生活随笔為你收集整理的linux进程映像由哪些构成,Linux编程开发进程映像类型分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 解释 游标赋值_Mysql_
- 下一篇: jq如何在打开新的页面 关闭之前同链接的