linux下的程序

2022-07-27 19:36:10 字數 1248 閱讀 9138

一、程序的基礎:

1、程式:程式是一些儲存在磁碟上的指令的有序集合;

2、程序:程序是程式的一次執行過程;

3、程序與程式的關係:①、程式是靜態的,程序是動態的;

②、乙個程式可以對應多個程序;

③、程式只有資料段和**段,程序除了有資料段和**段之外,還有堆和棧;

關於程序:

**段:存放程式**;

bss段:存放未初始化的全部變數和靜態變數;

資料段:存放初始化全域性和靜態變數;

4、程序的特徵:

①、動態的:程式的一次執行過程,在虛擬記憶體中執行,每時每刻都在變化;

②、併發的:「同時」執行;

③、獨立的:每乙個執行的程序都有獨立的4gb大小的虛擬記憶體空間,每個程序都獨佔系統資源;

程序是系統資源分配的最小單位;

執行緒是cpu排程的最小單位;

5、程序的生命週期(狀態)

6、程序的分類

①、互動程序

②、批處理程序

③、守護程序

7、程序的系統呼叫(api)

①、建立程序:

#include

pid_t fork(void);          

功能:建立程序;

特點:呼叫一次,返回兩次;

返回值:呼叫失敗:返回-1給呼叫的程序;呼叫成功:給父程序返回子程序的id,給子程序返回:0;

當呼叫fork後:

1)系統會對映虛擬記憶體空間給子程序;

2)拷貝父程序的堆、棧,資料段給子程序;

3)給父程序返回子程序id,給子程序返回0;

4)子程序共享父程序的**段;

5)fork返回後,父、子程序從fork函式呼叫的下一條語句同時往下執行;  

②、 exec函式族

③、結束程序:exit和_exit

④、使當前程序阻塞,給子程序收屍:wait、waitpid。 

linux下的程序

在我們linux的學習中,有乙個很重要的概念就是程序,程序就是 程式的乙個執行例項,是擔當分配資源的實體,是資源競爭的最小單位。簡單來說就是正在執行的程式。我們在學習linux的時候,會發現有乙個規律就是管理者先將被管理者進行描述在組織起來。對於程序來說,linux用一種來存放關於乙個程序的描述資訊...

Linux下的程序

由系統自動建立 執行在核心態,是唯一乙個沒有通過 fork 或者 kernel thread 產生的程序 由 idle 通過 kernel thread 建立,在核心空間完成初始化後,進入使用者空間 進入使用者空間後啟動其他系統程序,最後變為守護程序監視系統其他程序。它是系統中所有使用者程序的父程序...

linux下的deamon程序

設計乙個linux下的deamon程序,關鍵只有幾個 1.fork兩次。2.fork第一次和第二次之間成為程序組頭。3.改變工作目錄。4.忽略訊號。5.設定讀寫掩碼。一下是乙個從網路蒐集到的例程,非常好的演示了上述要點,存此備忘。上述程式在gcc4.0.1下編譯通過,在fc4 2.6.11下穩定執行...