以下部分內容學習記錄, 部分為『lingdxuyan'的部落格《linux fork函式和vfork函式》
1. file operation 函式指標的集合
2.裝置新增:註冊->初始化->新增
3. fopen(c庫函式)->open(api對應的函式)->xx_open(kernel內裝置驅動的函式) 這是從應用到核心的經過
5. 資源鎖(計算訊號量 n)、**鎖(互斥訊號量 1)
6. 自旋鎖和訊號量的對比:自旋鎖只允許乙個持有者;訊號量允許有多個持有者。 自旋鎖適合保持時間非常短的情況(臨界區短);訊號量適合保持時間長的情況。同一程序的不同執行緒比較適合用自旋鎖,程序間的共享資源比較適合訊號量。
7. fork()函式通過系統呼叫建立乙個與原來程序幾乎完全相同的程序,相當於程序的轉殖。
pid_t fork(void);
正確返回:在父程序中返回子程序的程序號,在子程序中返回0
錯誤返回:-1
子程序是父程序的乙個拷貝。即,子程序從父程序得到了資料段和堆疊段的拷貝,這些需要分配新的記憶體;而對於唯讀的**段,通常使用共享記憶體的方式訪問。fork返回後,子程序和父程序都從呼叫fork函式返回處開始執行。
父程序與子程序的不同之處在於:fork的返回值不同——父程序中的返回值為子程序的程序號,而子程序為0
vfork()
7.1. 呼叫方法
與fork函式完全相同
#include
#include
pid_t fork(void);
正確返回:在父程序中返回子程序的程序號,在子程序中返回0
錯誤返回:-1
7.2. vfork函式呼叫的用途
用vfork建立的程序主要目的是用exec函式執行另外的程式,與fork的第二個用途相同
天書 碎片1
空間 時間 記憶 蘋果,兩個蘋果,兩個不同空間的蘋果,兩個不同時間的蘋果,何解?多維度空間生長 臨時模式生長,可以解決同一模式在不同時間的出現,從而區別出時間。模式的輸出 輸入即是另一模式空間的輸入。多模式空間的自指輸入。模式生成法 1.當前空間的活動模式總結產生信的模式。臨時模式?2.模式融合,清...
碎片化學習不是學習碎片,看這篇了解碎片化學習的真相
高效學習的定義 找到最適合自己的學習手法,在相對短的時間內集中注意力,以解決乙個工作生活當中的難題為目的著手學習,你需要勤加練習,有時候還需要向名師求助。許岑 為什麼會出現碎片化學習?隨著科技的進步 閱讀載體的變化 可可攜式裝置的普及還有人們的浮躁求快的心理,人們越來越關注碎片化學習,期望在短時間內...
日常知識碎片 1
sql express server sqlexpress database nhibernatedemo uid sa pwd nh nhibernate.driver.sqlclientdriver2.sql server compact edition data source firstsam...