def:我們將處於運行狀態的程序稱爲進程,由操作系統所調度的任務,是可執行文件的一個映射。進程與程序的關係可以類比於類和實例,一個程序可以產生多個進程。
def:被cpu所調度的任務,進程中的指令。一個進程可以有多個線程,若將進程視爲資源的集合,線程則爲計算資源。
進程可以視爲一個資源的集合,由操作系統調度。操作系統給每個進程分配大小爲4G的虛擬內存,高2G爲系統內核運行的空間,而低2G爲用戶程序運行的空間。每個進程的虛擬內存都是獨立的,這些虛擬內存在被執行到的時候會被映射到實際的內存中,這樣保證了進程間的內存資源的安全性。
除了內存資源外進程包括了以下資源:
windows定義了兩種訪問模式,用戶模式和內核模式。用戶模式只能執行用戶代碼,而內核模式可以執行所有指令和一下特權指令。當程序需要執行到到內核模式中的功能時通過調用系統服務來訪問系統內核,調用系統服務時進行了上下文切花,系統由用戶模式進入到內核模式。通常有int 2e和快速系統調用兩種方式來切換模式。
整個系統核心部件如下圖所示: