程序基礎知識
問題1:程序和程式的區別
程序是作業系統中正在執行的任務,是執行中的程式
程式是儲存在磁碟上包含有可執行機器**和指令的檔案
問題2:程序的類別
互動程序,批處理程序 和 守護程序
互動程序:由shell
啟動的程序,在執行過程中要求與使用者進行互動
批處理程序:乙個程序序列,負責按順序啟動其他的程序
問題3:程序的可用的記憶體是多大?
4gb,
linux
記憶體管理採用了虛擬記憶體的方法,每個執行的程序都有
4gb的可用記憶體空間
問題4:程序的記憶體分割槽?
**段,資料段,堆和棧(詳細解析請參閱記憶體四區相關的資料)
問題5:程序執行時通過什麼來區別呢?
linux通過使用程序
id來標識程序
問題6:
linux
中的程序狀態
一般來說,linux
中程序有三種程序狀態:阻塞、就緒和執行(關於
linux
程序狀態的詳細解析請參考相關的資料)
幾種特殊的程序
孤兒程序:當父程序早於子程序結束時,子程序變成了孤兒程序,該程序將被系統程序(init程序)
收養,init
程序變成子程序的父程序。
殭屍程序:由於子程序退出後,父程序沒有使用wait
函式收集子程序狀態,導致其任然戰中程序表中的位置。殭屍程序結束後,程序執行的資訊仍然沒有小時,可以給開發人員提供一些重要的程序資訊。
關於Linux程序的基礎知識
在計算機裡面,乙個程序通常指的是乙個執行程式的例項,它包含程式 和其活動。依賴於具體的作業系統,乙個程序啟動後通常由若干個執行緒組成,多個執行緒可以同時併發的執行程式的指令,程序裡面第乙個啟動的執行緒,通常稱為主線程。前台程序 通常也指互動程序,這些程序一般都是通過linux終端會話建立的,換句話說...
Linux基礎知識專欄 程序通訊
一 通訊原理及基礎知識 通訊原理 服務端建立乙個命名管道,並監控管道中是否存在內容。倘若有則讀取,或者根據內容進行相應的響應 客戶端判斷是否存在命名管道。往管道中輸入資料,服務端即可接收到資料。單向通訊實現 客戶端寫入,服務端讀取 server.c 建立命名管道 開啟命名管道 注意開啟的方式 監聽命...
UNIX基礎知識之程式和程序
程式 program 是存放在磁碟上 處於某個目錄中的乙個可執行檔案。使用6個exec函式中的乙個由核心將程式讀入儲存器,並使其執行。程式的執行例項被稱為程序 process 某些作業系統使用任務 task 表示正在執行的程式。unix系統確保每個程序都有乙個唯一的數字識別符號,稱為程序id pro...