C++/java操作系統常見題目1_進程與線程

進程與線程

  1. 進程:資源分配的基本單位。線程:獨立運行和調度的基本單位。
  2. 進程由程序、數據和進程控制塊(PCB)三部分組成。線程由程序、數據和線程控制塊(TCB)三部分組成。
  3. 一個線程只能屬於一個進程,而一個進程可以有多個線程,但至少有一個線程。
  4. 資源:同一進程的所有線程共享該進程的所有資源。 同一進程中的多個線程共享代碼段(代碼和常量),數據段(全局變量和靜態變量),擴展段(堆存儲)。但是每個線程擁有自己的棧段,棧段又叫運行時段,用來存放所有局部變量和臨時變量。
  5. 通信:進程間通信--IPC方法包括管道(PIPE)、消息排隊、旗語、共用內存以及套接字(Socket)。線程間可以直接讀寫進程數據段(如全局變量)來進行通信——需要進程同步和互斥手段的輔助,以保證數據的一致性。
  6. 調度:在同一進程中,線程的切換不會引起進程的切換,在由一個進程中的線程切換到另一個進程中的線程時,將會引起進程的切換。同時線程上下文切換比進程上下文切換要快得多。
  7. PCB:進程標識符信息(唯一的標識符),處理機狀態信息(通用寄存器,指令寄存器,程序狀態字PSW,用戶棧指針),進程調度信息(進程狀態,進程優先級)
  8. TCB:用於指示被執行指令序列的程序計數器、保留局部變量、少數狀態參數和返回地址等的一組寄存器和堆棧。
  9. 控制:進程控制是進程管理中最基本的功能。它用於創建一個新進程,終止一個已完成的進程,或者去終止一個因出現某事件而使其無法運行下去的進程,還可負責進程運行中的狀態轉換。

本系列文章目的爲個人準備面試的簡單總結,文中多有不足,敬請批評指正!

參考:

https://www.cnblogs.com/losing-1216/p/5083097.html

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