線程、進程、程序的根本區別與聯繫

進程與程序的區別:

程序是靜態的,進程是動態的

程序是永久的,進程是暫時存在的

程序是指令的集合,進程是包括了正文段、用戶數據段和進程控制塊的實體

程序是一個名詞。進程是一個動詞,是一段過程。

 

進程與程序的聯繫:

進程是程序的一次執行,進程總是對應至少一個特定的程序,執行程序的代碼

一個程序可以對應多個進程。同一個程序可以在不同的數據集合上運行,因而構成若干個不同的進程

 

線程與進程的區別:

進程是進行資源分配和獨立執行的基本單位,線程爲獨立調度和分派的單位。

系統在運行的時候會爲每個進程分配不同的內存空間;而對線程而言,除了CPU外,系統不會爲線程分配內存(線程所使用的資源來自其所屬進程的資源),線程組之間只能共享資源。

 

線程與進程的聯繫:

爲了進一步提高程序的併發性,減少系統開銷,在操作系統中引入線程的概念。

線程是進程中的一個實體,將進程的任務劃分爲更小、具有獨立功能的單位,以線程的形式來併發執行,以提高程序併發放執行的程度。

線程與進程一樣,也有就緒、阻塞和執行3種基本狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章