一、程序(Process) ①定義:程序是程序實體的運作過程,是系統進行資源配置設定和排程的一個獨立機關。 ② 程序控制塊:配置一個專門的資料結構——程序控制塊(Process Control Block,PCB),系統利用PCB來描述程序的基本情況和運作狀态,進而控制和管理程序。(常駐記憶體) ③程序映像:由程式段、相關資料段和PCB三部分組成。(程序實體) ④所謂程序:所謂建立程序,實際上是建立程序映像中的PCB;而撤銷程序,實際上是撤銷程序的PCB ⑤程序狀态:1)運作狀态,2)就緒狀态,3)阻塞狀态,4)建立狀态,5)結束狀态。 ⑥程序特征:1)動态性,2)并發性,3)獨立性,4)異步性,5)結構性。 ⑦程序通信:1)共享存儲,2)消息傳遞,3)管道通信 應用連結:Java 應用 Process 二、線程(Thread) ①定義:是程序中的一個實體,是被系統獨立排程和配置設定的基本機關。 ②組成:是一個基本的CPU執行單元,也是程式執行流的最小單元,由線程ID 、程式計數器、寄存器集合和堆棧組成。 ③系統資源:線程自己不擁有系統資源,隻擁有一點在運作中必不可少的資源,但它可與同屬一個程序的其他線程共享程序鎖擁有的全部資源。 ④線程狀态:1)就緒,2)阻塞,3)運作。 ⑤線程實作:1)使用者級線程(User-Level Thread,ULT) ,2)核心級線程(Kernel-Level-Thread,KLT) 應用連結:Java 應用 Thread