嵌入式100題(005):進程的空間模型


進程的空間模型

Linux下使用虛擬內存空間給每一個進程,32位操作系統下,每個進程都有獨立的4G虛擬內存空間。
其中包括:

    1. 內核區:用戶代碼不可見的區域,頁表就存放在這個區域中。
    2. 用戶區:
      a、代碼段:只可讀,不可寫,程序代碼段。
      b、數據段:保存全局變量,靜態變量的區域。
      c、堆區:就是動態內存,通過malloc,new申請內存,有一個堆指針,可以通過brk系統調用調整堆指針。
      d、文件映射區域:通過mmap系統調用,如動態庫,共享內存等映射物理空間的內存區域。可以單獨釋放,不會產生內存碎片。
      e、棧區:用於維護函數調用的上下文空間,用ulimit -s 查看。一般默認為8M。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM