程序的概念

2021-08-17 03:55:27 字數 1461 閱讀 2689

一、基本概念

·課本概念:程式的乙個執行例項,正在執行的程式等。

·核心觀點:擔當分配系統資源(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時間,記憶體 的實體 檢視程...