您好,登錄后才能下訂單哦!
本篇文章為大家展示了Linux中怎么調(diào)用常見的函數(shù),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
Linux中常見的函數(shù)調(diào)用
一、 創(chuàng)建進(jìn)程
創(chuàng)建進(jìn)程的總結(jié):
1、Linux中父進(jìn)程調(diào)用fork創(chuàng)建子進(jìn)程。
2、父進(jìn)程調(diào)用fork時(shí),子進(jìn)程拷貝所有父進(jìn)程的數(shù)據(jù)接口和代碼過來。
3、當(dāng)前進(jìn)程是子進(jìn)程,fork返回0;當(dāng)前進(jìn)程是父進(jìn)程,fork返回子進(jìn)程進(jìn)程號(hào)
4、如果返回0,說明當(dāng)前進(jìn)程是子進(jìn)程,子進(jìn)程請(qǐng)求execve系統(tǒng)調(diào)用,執(zhí)行另一個(gè)程序。
5、如果返回子進(jìn)程號(hào),說明當(dāng)前進(jìn)程是父進(jìn)程,按照原父進(jìn)程原計(jì)劃執(zhí)行。
6、父進(jìn)程要對(duì)子進(jìn)程負(fù)責(zé),調(diào)用waitpid將子進(jìn)程進(jìn)程號(hào)作為參數(shù),父進(jìn)程就能知道子進(jìn)程運(yùn)行完了沒有,成功與否。
7、操作系統(tǒng)啟動(dòng)的時(shí)候先創(chuàng)建了一個(gè)所有用戶進(jìn)程的“祖宗進(jìn)程”,課時(shí)1,第3題A選項(xiàng):0號(hào)進(jìn)程是所有用戶態(tài)進(jìn)程的祖先
二、 內(nèi)存管理
1、每個(gè)進(jìn)程都有獨(dú)立的進(jìn)程內(nèi)存空間,互相之間不干擾。(隔離性)
2、進(jìn)程內(nèi)存空間,存放程序代碼的部分,稱為代碼段(Code Segment)。
3、存放進(jìn)程運(yùn)行中產(chǎn)生數(shù)據(jù)的部分,稱為數(shù)據(jù)段(Data Segment)。
4、進(jìn)程寫入數(shù)據(jù)的時(shí)候,現(xiàn)用現(xiàn)分物理內(nèi)存給進(jìn)程使用。
5、分配內(nèi)存數(shù)量比較小時(shí),使用brk調(diào)用,會(huì)和原來的堆數(shù)據(jù)連在一起。
6、需要分配的內(nèi)存數(shù)據(jù)量比較大的時(shí)候,使用mmap,重新劃分一塊內(nèi)存區(qū)域。
三、 文件管理
四、 信號(hào)處理(異常處理)
進(jìn)程執(zhí)行過程中一旦有變動(dòng),就可以通過信號(hào)處理服務(wù)及時(shí)處理。
五、 進(jìn)程間通信
六、 共享內(nèi)存方式
偽代碼: 假設(shè)信號(hào)量為1 signal = 1 sem_wait偽代碼 while True { if sem_wait == 1; signal -=1; break; } code.code; sem_post偽代碼 signal +=1;
七、 網(wǎng)絡(luò)通信
八、 glibc
上述內(nèi)容就是Linux中怎么調(diào)用常見的函數(shù),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。