天天看點

作業系統的程序與線程

  1. 程序是系統進行資源配置設定和排程的基本機關,線程是任務排程和執行的基本機關,也被稱為輕型程序。作業系統能同時運作多個程序(程式);同一個程序能同時有多個程序同時執行。
  2. 在建立或撤銷程序時,系統都要為之配置設定和回收記憶體空間和I/O裝置等資源。而線程作為輕型程序,占用的資源少,對系統的負擔小。且程序切換時涉及到程序的上下文切換,線程切換,同步,通信不需要作業系統核心的幹預,其代價遠小于程序切換。
  3. 程序有自己獨立的位址控件,每啟動一個程序,系統都會為其配置設定位址空間,建立資料表來維護代碼段,堆棧段和資料段,而線程沒有獨立的位址空間,它使用相同的位址空間共享資料,線程所屬的資源來自其所屬程序的資源,程序的所有資源被該程序的線程共享。
  4. 每個程序有它的程序控制塊PCB,主要是管理程序的。每個線程擁有自己的線程控制塊TCB,裡面有辨別符,寄存器,線程運作狀态,堆棧指針等。
  5. 子程序不對其他程序施加控制,程序的線程可以對同一程序的其他線程加以控制。子程序不能對父程序施加控制,程序中的所有線程都可以對主線程施加控制。

繼續閱讀