2020 12 31 程序的建立過程

2021-10-13 15:19:03 字數 514 閱讀 7513

每個程序有4gb虛擬記憶體空間(實際只有2g:也就是低2g空間的使用者模式區)。

程序的使用者模式區低2g空間前64kb與後64kb是沒有使用的。

每個程序的核心空間是同乙份,是公用的。

分割槽x86 32位windows

空指標賦值區

0x00000000 - 0x0000ffff

使用者模式區(低2g)

0x00010000 - 0x7ffeffff

64kb禁入區

0x7fff0000 - 0x7fffffff

核心(高2g)

0x80000000 - 0xffffffff

對映exe檔案。

建立核心物件eprocess。

對映系統dll(ntdll.dll)。

建立執行緒核心物件ethread。

系統啟動執行緒:

對映dll(ntdll.ldrinitializethunk)。

執行緒開始執行。

2020 12 31 建立程序

bool createprocessa lpstr lpcommandline,指向乙個以null結尾的字串,該字串指定要執行的命令列。lpsecurity attributes lpprocessattributes,指向乙個security attributes結構體,這個結構體決定是否返回的控...

程序建立的過程

1.什麼是程序?程序提供程式所需的資源,如 資料 等等 空間上的概念 程序由一大堆pe格式檔案組成。3.程序的建立 1 任何程序都是別的程序建立的 createprocess 2 程序的建立過程 對映exe檔案 建立核心物件eprocess 對映系統dll ntdll.dll 建立執行緒核心物件et...

程序建立多少執行緒,程序建立的過程,執行緒建立的過程

程序能建立多少執行緒與程序邏輯位址空間 32位位址長度的話,就是4gb 更具體地說應該是有程序位址空間中記憶體對映區的大小有關,執行緒棧是通過mmap系統呼叫在記憶體對映區建立的。和執行緒棧 1mb 的大小有關。程序建立的過程 unix和linux採用另一種方式 它把建立程序分成兩步,fork 和e...