1. 程序是什麼?
乙個程序就是出於執行期的程式, 包括:可執行程式**(**段), 開啟的檔案, 掛起的訊號, 核心內部資料, 處理器狀態, 位址空間, 乙個或多個執行執行緒, 當然還包括用來存放全域性變數的資料段, 等等.
2. 什麼是執行緒?它和程序的關係是什麼樣的? 執行緒在linux中具體是怎麼樣實現的?
是在程序中活動的物件, 對linux而言, 執行緒只不過是一種特殊的程序.
執行緒之間可以共享虛擬記憶體, 但擁有各自的虛擬處理器.
3. 程序在核心中的表示.
3.1 通過大約1.7k(在32位的機器上)的程序描述符task_struct來表示, 所有這些結構體組成乙個雙向的迴圈列表(被稱為task list).
3.2 這個task_struct包含了核心管理乙個程序所需的所有資訊.
3.3. 在2.6以前的核心中,各個程序的task_struct存放在它們核心棧的尾端; 現在是用slab分配器來動態生成的, 只需在棧底(對於向下增長的棧來說)或棧頂(對於向上增長的棧來說)建立乙個新的結構struct_thread_info.
task_struct結構體:
struct_thread_info結構體:
3.4 程序有下面這些狀態:
4. 程序的建立
5. 程序的終結過程
一些大的概念:
1. unix作業系統的兩個基本抽象: 程序和檔案.
2. 在現代作業系統中, 程序提供兩種虛擬機制: 虛擬處理器和虛擬記憶體.
linux程序管理
程序的監控 使用ps aux 檢視當前所有程序。可以使用top檢視當前程序自動更新列表,在top中m 按記憶體大小排列,p 按cpu佔用率排列 終止和管理程序 程序之間通過訊號來進行通訊 top和kill都用於向程序傳送訊號。kill l顯示訊號編號表。kill 9 pid kill pid 向pi...
Linux 程序管理
1.linux程序管理工具,包括ps pgrep top kill killall pkill 等 常用 ps aux 或lax輸出的解釋 user 程序的屬主 pid 程序的id ppid 父程序 cpu 程序占用的cpu百分比 mem 占用記憶體的百分比 ni 程序的nice值,數值大,表示較少...
Linux程序管理( )
一 程序的型別 可以將執行在linux系統中的程序分為三種不同的型別 互動程序 由乙個shell啟動的程序。互動程序既可以在前台執行,也可以在後台 執行。二 程序的啟動方式 手工啟動 前台啟動 是手工啟動乙個程序的最常用的方式。一般地,使用者鍵入乙個命令 ls l 這就已經啟動了乙個程序,而且是乙個...