一、基本概念
·課本概念:程式的乙個執行例項,正在執行的程式等。
·核心觀點:擔當分配系統資源(cpu時間、記憶體)的實體。
二、描述程序
·程序資訊被放在乙個叫程序控制塊的資料結構中,可以理解為程序屬性的集合。
·課本上稱為pcb,linux作業系統下的pcb是:task_struct。
1、task_struct-pcb的一種
·在linux中描述程序的結構體叫task_struct。
·task_struct是linux核心的一種資料結構,它會被裝在到ram(記憶體)裡幷包含著程序的資訊。
2、task_struct分類
·識別符號:描述本程序的唯一識別符號,用於區別其他程序
·狀態:任務狀態、退出**、退出訊號等
·優先順序:相對於其它程序的優先順序
·上下文資料:程序執行時處理器的暫存器中的資料
·i/o狀態資訊:包括顯示i/o請求,分配給程序的i/o裝置和被程序使用的檔案列表
·記賬資訊:可能包括處理器時間總和、使用的時鐘數總和、時間限制、記賬號等
三、組織程序
可以在核心源**裡找到組織程序。所有執行在系統裡的程序都以task_struct鍊錶的形式存在在核心裡
四、檢視程序
程序的資訊可以通過/proc系統檔案來檢視
例:獲取pid為1的程序的資訊
五、通過系統呼叫獲取程序識別符號
·程序id(pid)
·父程序id(ppid)
六、通過系統呼叫建立程序(fork初識)
·執行man fork認識fork
·fork有兩個返回值
·父子程序共享**,資料各自開闢空間,私有乙份(採用寫時拷貝)
1 #include2 #include3 #include4
5 int main()
6
·fork之後通常要用if分流
1 #include2 #include3 #include4
5 int main()
6 12 else if(ret == 0)
15 else
18 sleep(2);
19 return 0;
20 }
程序的概念
程序是可以與其他程式併發執行的一次執行過程,是系統進行資源分配和呼叫度的基本單位。程序是乙個程式關於某個資料集的一次執行。也就是說,程序是執行中的程式,是程式的一次執行活動。相對於程式而言,程序是乙個動態的概念,而程式是乙個靜態的概念,是指令的集合。因此,程序是具有動態性和併發性的。從靜態的角度看,...
程序的概念
程序的概念 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展示...
程序的概念
一款純正的 高管理 的軟體 1.描述,用strcut結構體 pcb 在linux中是task struct 2.組織,通過雙向鍊錶 由作業系統提供的介面,就是系統呼叫 在使用上,功能比較基礎,對使用者的要求相對較高 概念 正在執行的乙個程式 核心 擔當分配系統資源 cpu時間,記憶體 的實體 檢視程...