程序是什麼?
程序:站在使用者角度,程序是執行中的程式。站在作業系統角度,程序好像c++中乙個乙個的類一樣。這些類中有各種各樣的描述程序的東西,當然還有各種各樣的方法用來去為使用者做事情。當然作業系統管理著這些類,讓這些類執行或者不執行。那麼這個類就叫做pcb,在linux下叫做task_struct,所以我們可以說task_struct就是乙個程序。所有task_struct都是以雙向鍊錶鏈結這進行組織。程序標識
#includepid_t getpid(void); //返回值:呼叫程序的程序id
pid_t getppid(void); //返回值:呼叫程序的父程序id
函式fork#includepid_t fork(void); //返回值:子程序返回0,父程序返回子程序id,出錯,返回-1
父子程序之間的區別
使fork 失敗的兩個主要原因是:
函式vfork
程序狀態
殭屍程序:子程序先於父程序退出,作業系統檢測到程序的退出,通知父程序,但是父程序這時候沒有管這個通知,這時候作業系統為了封鎖現場,不會釋放子程序資源,因為子程序的pcb中包含有退出原因。這時候因為既沒有執行也沒有完全退出,因此成為僵死狀態,成為殭屍程序。子程序不退出就是為了儲存退出原因給父程序看。會造成作業系統的資源洩露。
程序優先順序
uid : 代表執⾏行者的⾝身份
pid : 代表這個程序的代號
ppid :代表這個程序是由哪個程序發展衍⽣生⽽而來的,亦即⽗父程序的代號
pri :代表這個程序可被執⾏行的優先順序,其值越⼩小越早被執⾏行
ni :代表這個程序的nice值
Linux 程序的基本概念
在了解程序之前先要知道作業系統的基本原理。作業系統是管理計算機硬體與軟體資源的電腦程式,是計算機系統的核心與基石。簡單理解就是,作業系統包括核心與其他程式兩部分。設計作業系統就是方便使用者與硬體進行互動,幫助使用者管理軟硬體資源。那麼怎麼管理呢?例如 學生 班長 班主任,學生被班長管理,班長又受班主...
linux 程序 一 基本概念
1,程序的基本概念 簡單來說程序就是執行期的程式,但是同時程序也不至於此,它還包括了其它資源 如開啟的檔案,掛起的訊號等等 linux是乙個多工多使用者作業系統,乙個任務 task 就是乙個程序 process 即程序 任務,在linux系統中,程序和執行緒共享一系列的資源 位址空間,檔案,訊號,名...
程序基本概念
程式在計算機上的一次執行過程。即進行中的程式。程序 是活的,動態的。有生命週期。只能對應乙個程式。程式 是死的,靜態的。指令的集合。可以對應多個程序。就緒 程序已獲得除cpu以外的所有必要的資源 獲得cpu立即執行。執行 程式正在cpu上執行。阻塞 等待某個事件發生而無法執行時 放棄cpu。task...