Linux进程全解2——进程环境(环境变量、进程运行的虚拟地址空间)
生活随笔
收集整理的這篇文章主要介紹了
Linux进程全解2——进程环境(环境变量、进程运行的虚拟地址空间)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
以下內容源于朱有鵬《物聯網大講堂》課程的學習整理,如有侵權,請告知刪除。
1、環境變量
- 進程運行的環境中的變量。
(1)export命令查看環境變量;
(2)進程環境表
- 每一個進程中都有一份所有環境變量構成的一個表格,即當前進程可以直接使用這些環境變量。
- 進程環境表是一個字符串數組(char** ,或者char* str[ ]),如上圖所示。
- 可以用environ這個全局變量指向它。
(3)程序中通過environ全局變量,來使用環境變量;
#include <stdio.h>int main(void) {extern char **environ; // 聲明就能用,不用定義int i = 0;while (NULL != environ[i]){printf("%s\n", environ[i]);i++;}return 0; }(4)我們寫的程序中,可以無條件直接使用系統中的環境變量。
- 一旦程序中用到了環境變量,那么程序就和具體操作系統的環境有關了。
(5)獲取指定環境變量函數getenv,設置環境變量setenv。
- 只能設置、刪除當前進程的環境變量,而不是操作系統的環境變量。
2、進程運行的虛擬地址空間
(1)操作系統中的每個進程,都在獨立的地址空間中運行。
- 進程之間是彼此獨立,都以為自己是唯一的。
(2)對于32位系統,操作系統為每個進程分配了4GB的邏輯地址空間。
- 邏輯內存中,一般0~1G為OS,1~4G為應用。
- 實際上每個進程所占的物理內存并不多,于是我們可以在物理內存里分配一段內存空間給它。
(3)虛擬地址到物理地址空間的映射;
(4)意義:進程隔離,提供多進程同時運行。
總結
以上是生活随笔為你收集整理的Linux进程全解2——进程环境(环境变量、进程运行的虚拟地址空间)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杰魔(Geomagic Design)逆
- 下一篇: linux 其他常用命令