文章目錄
- 進程和程序
- 進程和應用程序
- 總結
- 參考資料
進程和程序
程序:程序是存放在硬盤中的可執行文件,主要包括代碼指令和數據。程序本身是一個靜態的文件,只有在被操作系統加載到內存中并執行時才會變成進程。
進程:進程是程序在操作系統中的執行實例。一個進程是一個程序的一次啟動和執行,是操作系統將程序裝入內存,給程序分配必要的系統資源,并且開始運行程序的指令
同一個程序可以多次啟動,對應多個進程。比如,多次打開Chrome 瀏覽器程序,在Process Explorer中可以看到多個Chrome瀏覽器進程。
進程和應用程序
應用程序:應用程序(application)是為用戶提供特定功能的程序(program)集合。應用程序在運行時會生成一個或多個進程。例如,一個Web瀏覽器(應用程序)可能啟動多個進程來處理不同的標簽頁或插件。
計算機的視角:對于計算機而言,一個進程就是一個程序。多個進程(比如一個瀏覽器的多個進程)對計算機而言就是多個獨立的程序,它不會把它們理解為一個完整的“程序”。
總結
程序與進程:程序是代碼和指令的集合,而進程是程序在執行時的實例。一個程序可以同時或在不同時間點啟動多個進程。
應用程序與程序:應用程序是更高層次的概念,通常包含多個程序模塊。一個復雜的應用程序可能由許多不同的程序和腳本組成。
應用程序與進程:應用程序在運行時會生成一個或多個進程。例如,一個Web瀏覽器(應用程序)可能啟動多個進程來處理不同的標簽頁或插件。
參考資料
線程和進程、程序、應用程序之間的關系 - 言止予思 - 博客園 (cnblogs.com)
《極致經典(卷2):Java高并發核心編程(卷2)》