進程學習理解

進程:一個正在執(zhí)行的程序的實例。當用戶啟動應用程序時,操作系統(tǒng)會將程序的代碼和數(shù)據(jù)從磁盤加載到內(nèi)存中,并開始執(zhí)行代碼。
通常,系統(tǒng)會同時運行許多進程(用戶啟動的程序、系統(tǒng)自動啟動的進程、不提示用戶而運行的進程)。同一程序可能有多個實例執(zhí)行,此時系統(tǒng)會將每個實例看做不同的進程。


image.png
image.png

進程的地址空間(動態(tài)的):系統(tǒng)為每個進程提供了一段可操作的內(nèi)存。
PID:ProcessID,是標識和區(qū)分進程的ID,它是一個全局唯一的正整數(shù),由系統(tǒng)隨機分配。
PPID:父進程ID,進程都是由父進程衍生出來的。實際上有個PID為1的進程由內(nèi)核創(chuàng)建的init進程,這個進程 是沒有PPID的。

用kill 命令可以殺掉對應PID的進程 。

進程的生命周期
頭文件里有相關的定義
#import <sys/proc.h>

image.png

image.png

iOS中的進程間通信的方式:

  • Port

    • NSMachPort : Foundation層

    • CFMachPort : Core Foundation層 ,使用方式

    • Mach Ports : mach 內(nèi)核層(線程、進程都可使用它進行通信)

  • scheme
    使用open URL 打開app的時候,可以帶參數(shù)。

  • key chain
    需要交互的數(shù)據(jù)存放在鑰匙串中,也可以實現(xiàn)不同的app進行數(shù)據(jù)傳遞。

  • 剪切板
    UIPasteboard

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 又來到了一個老生常談的問題,應用層軟件開發(fā)的程序員要不要了解和深入學習操作系統(tǒng)呢? 今天就這個問題開始,來談談操...
    tangsl閱讀 4,329評論 0 23
  • Linux 進程管理與程序開發(fā) 進程是Linux事務管理的基本單元,所有的進程均擁有自己獨立的處理環(huán)境和系統(tǒng)資源,...
    JamesPeng閱讀 2,604評論 1 14
  • 如果你看完書中的所有例子,你很可能已經(jīng)做完你的實驗和在已經(jīng)越獄的iPhone上的研究。因為和許多人一樣,幾乎所有的...
    fishmai0閱讀 17,425評論 2 42
  • My code: 這道題目自己硬是做完了。雖然很丑。我的思想是,DP把數(shù)塞進去。分組。比如dp[i] 對應了 一個...
    Richardo92閱讀 438評論 0 0
  • 有些人經(jīng)常說,沒有人陪我,我好孤獨??梢残┤苏f,即使很多人陪我,我依舊很孤獨。孤獨到底是什么? 有人說孤獨是一種感...
    yangzinm閱讀 287評論 0 1

友情鏈接更多精彩內(nèi)容