日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 如何创建内核进程,Linux内核的进程创建和执行.pdf

發(fā)布時間:2024/9/19 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 如何创建内核进程,Linux内核的进程创建和执行.pdf 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Linux內核的進程創(chuàng)建和執(zhí)行

!"#$% 內核的進程創(chuàng)建和執(zhí)行

徐 煒

摘 要 詳細闡述了!"#$% 內核34 54 2 的進程創(chuàng)建和執(zhí)行過程,分析了相應的算法、數(shù)據

結構和關鍵的源代碼。

關鍵詞 67.+8 9%9*:9

()’+-’(.$*( 結構在頁塊底部,而核心堆棧則由頂部向下延伸,

一、概述

如圖& 所示。

&4 !"#$% 中的進程和線程

/01

從操作系統(tǒng)理論上說,進程是系統(tǒng)執(zhí)行程序和分配資源的 ’()*+

單位,而線程僅是系統(tǒng)執(zhí)行程序的單位。同一進程可以運行多

個線程,并且共享進程資源。!"#$% 內核實現(xiàn)了完善的進程機

制,但是并沒有真正的線程機制,即使有所謂的線程,也只是

指輕量級進程; !"<=( >9"<=( ?.7*9’’ ,簡稱!>? @ ,而它也是用

進程機制實現(xiàn)的。何謂輕量級進程呢?其實就是沒有自己獨立

的用戶空間的進程,這又可分為用戶態(tài)線程; 以下輕量級進程

簡稱為線程@ 和內核態(tài)線程。用戶態(tài)線程是父進程創(chuàng)建子進程 ,)’+-’(.$*( 2

時讓子進程共享父進程的用戶空間; 這是通過調用創(chuàng)建進程的

圖& 內核態(tài)堆棧分配

函數(shù)A7-67.+ 時參數(shù)中帶有B!CDE-FF 標志,讓父子進程共享

內存管理結構GG-’(.$*( 實現(xiàn)的@ ,從而實現(xiàn)了輕量級,但是共 在創(chuàng)建進程函數(shù)A7-67.+ ; @ 中,通過)LL7*-()’+-’(.$*( 宏分配

享也帶來了問題,典型的就是兩線程運行時的用戶堆棧也是共 進程的數(shù)據結構,它的定義在?.7*9’’7.4 = 中。

!

享的,如果線程間同步不好會影響堆棧,造成運行錯誤,解決 !"#$% ’(()*+,’-.+-,/0*, 1 2 1 1 -,/0*, ,’-.+-,/0*, 2

++3#,+$/##+4’3#- 1 567+89:;9<= >2 2

的辦法一是父進程創(chuàng)建子進程時指定子進程的新堆棧地址9’H

這個宏定義通過調用內存頁分配器獲得一個 /01 的頁

和父進程不同; 通常情況下父子進程的9’H 是相同的@ ;二是使

塊,()’+-’(.$*( 的地址在其起始部分。同時,根據以前對!"#$%

用 :67+ ; @ 函數(shù)創(chuàng)建子進程,該函數(shù)在調用 A7-67.+ 時會加上

內存管理中的頁分配器的分析可知,這個地址是相對于 /01

B!CDE-IJCK0 標志,而父進程在創(chuàng)建過程結束后將睡眠在信

對齊的。因此就不難理解下面的宏定義了。

號量上,等到子進程運行結束或者執(zhí)行新程序時; 從而不再共

總結

以上是生活随笔為你收集整理的linux 如何创建内核进程,Linux内核的进程创建和执行.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。