什么是進程
進程是具有一定獨立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運行活動,進程是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位
有自己獨立的地址空間
進程的組成部分:
①程序。作用:描述進程要完成的功能。
②數(shù)據(jù)帚豪。作用:程序在執(zhí)行時所需要的數(shù)據(jù)和工作區(qū)尘吗。
③ PCB犁河。作用:包含進程的描述信息和控制信息健提。它是進程存在的唯一標志。 進程控制塊
什么是線程
線程是進程的一個實體,是CPU調(diào)度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統(tǒng)資源,只擁有一點在運行中必不可少的資源(如程序計數(shù)器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.沒有自己獨立的地址空間
兩者區(qū)別
1.線程無自己獨立地址空間共享進程的地址空間占拍,進程有
2.一個進程死了不會對其他進程產(chǎn)生影響,一個線程死了這個線程所在進程也就死了捎迫。
3.線程是處理器調(diào)度的基本單位,但進程不是.
4兩者都可以并發(fā)執(zhí)行
兩者優(yōu)缺點
線程執(zhí)行開銷小晃酒,但不利于資源的管理和保護;而進程正相反窄绒。同時贝次,線程適合于在SMP機器上運行,而進程則可以跨機器遷移彰导。