如何表示程序?

2021-09-30 09:03:08 字數 432 閱讀 3919

程序是作業系統中最重要的概念,但是程序如何表示?通常的作業系統書籍都用了乙個詞:程序控制塊,簡稱: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倍。因此需要乙個用來描述演算法的效...