程序的管理:(作業系統核心負責)
描述程序(pcb程序控制塊->就是乙個結構體(task_struct))
task_struct是乙個很大的結構體,包含很多的內容
{task_struct:
程序識別符號(pid)
記憶體指標(告訴程序**/資料都在記憶體哪個部分)
程序狀態
r 就緒狀態,程序在就緒佇列中,就會處於這個狀態
s 睡眠狀態,
d 深度睡眠狀態,密集得到進行io操作的時候(吐核)
t 暫停stop
t 跟蹤trace
x 程序已經結束,只是在linux原始碼中存在,真實是看不到的
z 殭屍程序:和父程序和子程序相關聯
getpid() :獲取程序識別符號
getppid() :獲取父程序的識別符號
#include#includeint main()
else if(ret==0)
}else
return 0;
}
程序的排程(讓少量的cpu能夠滿足大量的程序,並同時執行的需求)
並行:兩個cpu分別執行兩個程序
併發:乙個cpu分別執行兩個程序
2. 組織程序
雙向鍊錶進行組織,每個節點就是乙個task_struct
fork程序相關
include include include include include int main int argc,char argv if pid 0 else if pid 0 return 0 列印如下。i am father i am son i am father i am son i a...
Linux程序相關
下圖為ps命令各種字尾作用 uptime 了解計算機從啟動到現在已經多少時間 ps aux 檢視系統中正在執行的所有的程序 ps命令後面使用一下選項表示不同的含義 a 所有使用者 u 以面向使用者的形式顯示,即顯示擁有每個程序的使用者 x 顯示每個程序 f 提供完整的列表 僅僅執行ps aux,在預...
android 程序相關
getforegroundprocessname 獲取前台執行緒包名 cleanallbackgroundprocesses,cleanbackgroundprocesses 清理後台服務程序 public class processutils 獲取前台執行緒包名 需新增許可權 param cont...