程序是作業系統中最重要的概念,但是程序如何表示?通常的作業系統書籍都用了乙個詞:程序控制塊,簡稱:pcb。也就是在一塊連續的記憶體中包含了程序的各種資訊。這些資訊通常包含
1、標識資訊。主要是用於識別程序,常見的有程序名,程序id,使用者id等等。
2、排程資訊。像棧指標,cpu時間、程序狀態和一些排程相關引數。
3、資源資訊。例如開啟的檔案列表、已經開啟的核心物件列表等。
4、各類統計資訊。
具體到lenix,lenix使用乙個結構體來表示程序。具體的定義是這樣的
typedef struct _proc_t
proc_t;
這個只是初步的定義,隨著內容的深入,這個結構會慢慢變得龐大。
目前這個結構中,只是包含了最基本的資訊。各個欄位的用途在往後的內容中,慢慢進行說明。
Erlang中的程序表示
test1 pid spawn fun receive stop void end end pid stop.test2 register tut,spawn fun receive stop void end end tut stop.pid 的生成 pid表示為,可以通過list to pid ...
如何表示演算法的效率?初識大O表示
我們在比較演算法的時候經常說 演算法1 比 演算法2 快 2倍 之類的話,但實際上類似這種說法不具有說服力。因為當資料的個數發生變化時,對應的比例可能也會發生改變,有可能 當資料為10個時,演算法1比演算法2快2倍,但是當資料為100時,演算法1有可能比演算法2快3倍。因此需要乙個用來描述演算法的效...
如何表示演算法的效率?初識大O表示
我們在比較演算法的時候經常說 演算法1 比 演算法2 快 2倍 之類的話,但實際上類似這種說法不具有說服力。因為當資料的個數發生變化時,對應的比例可能也會發生改變,有可能 當資料為10個時,演算法1比演算法2快2倍,但是當資料為100時,演算法1有可能比演算法2快3倍。因此需要乙個用來描述演算法的效...