好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Linux系統進程深入理解

Linux系統進程深入理解

熱門標簽:漳州外呼系統怎么樣 4s店如何在百度地圖標注 內蒙古電信外呼系統 哪個地圖標注更清晰 開封400電話辦理價格 地圖標注小區項目入駐 曲阜地圖標注app 天津人工電銷機器人費用 凱立德劇院地圖標注

1. 什么是進程

進程是處于執行期的程序以及它所包含的所有資源的總稱,包括虛擬處理器,虛擬空間,寄存器,堆棧,全局數據段等。

在Linux中,每個進程在創建時都會被分配一個數據結構,稱為進程控制塊(Process Control Block,簡稱PCB)。PCB中包含了很多重要的信息,供系統調度和進程本身執行使用。所有進程的PCB都存放在內核空間中。PCB中最重要的信息就是進程PID,內核通過這個PID來唯一標識一個進程。PID可以循環使用,最大值是32768。init進程的pid為1,其他進程都是init進程的后代。

除了進程控制塊(PCB)以外,每個進程都有獨立的內核堆棧(8k),一個進程描述符結構,這些數據都作為進程的控制信息儲存在內核空間中;而進程的用戶空間主要存儲代碼和數據。

2.進程的創建

進程是通過調用::fork(),::vfork()和::clone()系統調用創建新進程。在內核中,它們都是調用do_fork實現的。傳統的fork函數直接把父進程的所有資源復制給子進程。而Linux的::fork()使用寫時拷貝頁實現,也就是說,父進程和子進程共享同一個資源拷貝,只有當數據發生改變時,數據才會發生復制。通常的情況,子進程創建后會立即調用exec(),這樣就避免復制父進程的全部資源。

三者的區別如下

::fork():父進程的所有數據結構都會復制一份給子進程(寫時拷貝頁)。

::vfork():只復制task_struct和內核堆棧,所以生成的只是父進程的一個線程(無獨立的用戶空間)。

::clone():功能強大,帶了許多參數。::clone()可以讓你有選擇性的繼承父進程的資源,既可以選擇像::vfork()一樣和父進程共享一個虛擬空間,從而使創造的是線程,你也可以不和父進程共享,你甚至可以選擇創造出來的進程和父進程不再是父子關系,而是兄弟關系。

3. 進程的撤銷

進程通過調用exit()退出執行,這個函數會終結進程并釋放所有的資源。父進程可以通過wait4()查詢子進程是否終結。進程退出執行后處于僵死狀態,直到它的父進程調用wait()或者waitpid()為止。父進程退出時,內核會指定線程組的其他進程或者init進程作為其子進程的新父進程。當進程接收到一個不能處理或忽視的信號時,或當在內核態產生一個不可恢復的CPU異常而內核此時正代表該進程在運行,內核可以強迫進程終止。

4. 進程管理

內核把進程信息存放在叫做任務隊列(task list)的雙向循環鏈表中(內核空間)。鏈表中的每一項都是類型為task_struct,稱為進程描述符結構(process descriptor),包含了一個具體進程的所有信息,包括打開的文件,進程的地址空間,掛起的信號,進程的狀態等。

 

Linux通過slab分配器分配task_struct,這樣能達到對象復用和緩存著色(通過預先分配和重復使用task_struct,可以避免動態分配和釋放所帶來的資源消耗)。

內核把所有處于TASK_RUNNING狀態的進程組織成一個可運行雙向循環隊列。調度函數通過掃描整個可運行隊列,取得最值得執行的進程投入執行。避免掃描所有進程,提高調度效率。

5. 進程的內核堆棧

Linux為每個進程分配一個8KB大小的內存區域,用于存放該進程兩個不同的數據結構:thread_info和進程的內核堆棧。

進程處于內核態時使用不同于用戶態堆棧,內核控制路徑所用的堆棧很少,因此對棧和描述符來說,8KB足夠了。

標簽:南陽 開封 莆田 陽泉 武漢 綿陽 南京 黔南

巨人網絡通訊聲明:本文標題《Linux系統進程深入理解》,本文關鍵詞  Linux,系統,進程,深入,理解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux系統進程深入理解》相關的同類信息!
  • 本頁收集關于Linux系統進程深入理解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 禁忌5:偷欢| 爱爱成人免费视频mv| 泰剧在线观看| 午夜宅男在线永久免费观看网 | 婬色kkkkk55555免费| 免费人成XVIDEOS在线视频| 乱小说35部分怀孕| 3d双胆预测| 91狠狠做五月爱婷婷AⅤ| 欧美精产国品一二三区| 男女一起差差差免费视频30分钟| 坐在学长棒棒上做作业| 国产无套乱子伦精彩是白视频| 人人玩人人干| 成年美女毛片黄网站色**大全| 白洁公交车被挺进体内H| 进化狂潮漫画| 蜜臀精品综合国产二区小仙女在线| 丁香视频在线| 男男腐肉高能小说片段| 啊啊好深快点进| 粗一硬一长一进一爽一小说| 电车痴汉在线播放| 亚洲色久悠悠AV国产精品| 福利一区福利二区| 国产人妖TS重口系列网站观看| 天天躁夜夜躁狂躁2022| chinese男男性恋动漫网站| 男人j进女人屁网站免费| 久久国产精品国产精品| 公与媳系列第54部分阅读| 男友狂肉闺蜜H| 黄色片美国| 舞蹈室里强摁做开腿呻吟| 大胖子h粗污| 免费高清特级毛片| 和强壮公一晚一八次| 亚洲欧洲日产国码二区首页| 操外国女人| 色情大片AAAAAA视频性迷宫| 毛片娥罗丝A片|