程序 虛擬記憶體概念與擴充套件

2021-07-23 05:30:19 字數 1285 閱讀 3619

程序執行緒

位址空間、全域性變數、開啟的檔案

程式計數器

子程序暫存器、堆疊

賬戶資訊

狀態程序維護乙個資料結構:包含程序所必須的先關資源(程序控制塊)

執行緒:核心態、使用者態、混合使用

訊息傳遞:kill -signal pid

套接字、共享記憶體、檔案、訊號量

cooperative threads-scheduling:程式自主控制

preemptive threads-scheduling:優先順序佇列

public

class

liftoff

implements

runnable

public

liftoff(int countdown)

public string status()

@override

public

void

run()

system.out.println(id);}}

public

final

static

void

main(string args)

system.out.println("waiting for liftoff.");

}

public

static

final

void

main(string args)

exec.shutdown();

system.out.println("waiting for liftoff.");

}

//解決併發程式設計的方案

2、將狀態變數修改為不可變的變數

3、在訪問狀態變數時使用同步鎖

關於linux系統的swap交換空間

LINUX擴充套件虛擬記憶體

1.檢查現有交換空間的大小 如果你想檢查你現有虛擬記憶體的大小,可以使用命令 free m root chenfancentos free m total used free shared buffers cached mem 988 164 823 0 26 48 buffers cache 90...

程序虛擬記憶體模型

以32位的作業系統為例,32位的作業系統每個程序對應的虛擬記憶體為4g 232 其中核心區1g,使用者區3g 程序控制塊pcb 1.pcb是程序存在的資料結構,系統通過pcb的存在而感知程序的存在 2.系統通過pcb對程序進行排程和管理 3.程序 pcb 與pid是一對一關係,而與程式檔案之間是多對...

程序的虛擬記憶體

程序屬性資訊的task struct結構體,其中包含程序使用的記憶體資訊。在32位的作業系統中,當程序建立的時候 程式執行時 系統會為每乙個程序分配大小為4gb的虛擬記憶體空間,用於儲存程序屬性資訊。c語言中的變數,通常使用 運算子來獲得其位址,那麼,這個位址就是虛擬位址,在簡單的微控制器中,編寫的...