操作係統

操作係統進程

操作係統進程

一個過程可以定義為一個正在執行的程序,它構成了所有計算的概念。這個方法和程序代碼按鈕不太一樣。過程是一個“主動的”實體,而程序是一個“被動的”實體。該方法持有的屬性包括硬件狀態、內存、CPU等。

為了高效工作,進程內存被分成四個部分:

  • Text部分由編譯後的程序代碼形成,在程序啟動時從非易失性存儲器讀入。
  • Data部分由全局變量和靜態變量組成,在執行最多之前分配和初始化。
  • Heap被用於動態內存分配,並通過調用new、delete、malloc、free等進行管理。
  • 堆棧用於局部變量。一旦局部變量被聲明,堆棧上的空間就會被維護。

各種進程狀態:

操作係統中的進程通常是給定狀態之一:

  • 新-方法正在建立。
  • READY-該方法期望被分配給處理器。
  • 正在執行的方向。
  • 等待——該方法正在等待一些事件的發生(例如I/O完成或接收信號)。
  • TERMINATED-方法已完成執行。

進程控製塊

每個過程都有一個過程控製塊,包含了關於方法的所有知識。它也被稱為任務控製塊。它是一個知識結構,包含以下內容:

  • 進程狀態:通常是運行、等待等狀態。
  • 進程ID,因此是父進程ID。
  • CPU寄存器和程序計數器。程序計數器保存該進程要執行的後續指令的地址。
  • CPU調度信息:像優先級信息和提示,可以調度隊列。
  • 內存管理信息:例如,頁表或段表。
  • 會計信息:用戶和內核CPU(中央處理器)花費的時間、賬號、限製等。
  • I/O狀態信息:已分配的設備、打開的文件列表等。
Baidu
map