色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙內(nèi)核進(jìn)程間為何要通訊?

鴻蒙系統(tǒng)HarmonyOS ? 來(lái)源:my.oschina ? 作者: 鴻蒙內(nèi)核源碼分析 ? 2021-04-24 11:28 ? 次閱讀

進(jìn)程間為何要通訊 ?

鴻蒙內(nèi)核默認(rèn)支持 64個(gè)進(jìn)程和128個(gè)任務(wù),由進(jìn)程池和任務(wù)池統(tǒng)一管理.內(nèi)核設(shè)計(jì)盡量不去打擾它們,讓各自過(guò)好各自的日子, 但大家畢竟在一口鍋里吃飯, 不可能不與外界聯(lián)系, 聯(lián)系就得有渠道,有規(guī)矩.

舉兩個(gè)應(yīng)用場(chǎng)景說(shuō)明下通訊的必要性:

一.被動(dòng)式廣為熟知的shell命令 kill 9 13 ,是通過(guò) shell任務(wù)給 13號(hào)進(jìn)程發(fā)送一個(gè)干掉它的信號(hào).

#define SIGKILL   9		//常用的命令 kill 9 13 

這是被動(dòng)式通訊的場(chǎng)景,至于為什么要干掉你,原因可能很多啊,很可能是檢測(cè)到13占用內(nèi)存太多了,也可能13太低調(diào)長(zhǎng)期不活躍,啟動(dòng)新進(jìn)程發(fā)現(xiàn)沒(méi)位置了,得先收了你.總之系統(tǒng)必須得有對(duì)付你的抓手,可以隨時(shí)登門查水電表.

二.主動(dòng)式的,比如要訪問(wèn)某些公共資源(全局變量,消息隊(duì)列),而資源有限或具有排他性,別人正在使用導(dǎo)致你不能用, 所以需統(tǒng)一管理,要用就必須要先申請(qǐng),按規(guī)矩辦事,畢竟和諧社會(huì)沒(méi)規(guī)矩不成方圓.如果申請(qǐng)失敗了就需要排隊(duì)了,同時(shí)還要讓出CPU給別人占用了,否則占著茅坑不辦事這樣對(duì)大家都不好撒.

大致有以下幾種通訊需求:

(1).數(shù)據(jù)傳輸:一個(gè)進(jìn)程需要將它的數(shù)據(jù)發(fā)送給另一個(gè)進(jìn)程,發(fā)送的數(shù)據(jù)量在一個(gè)字節(jié)到KB字節(jié)之間.(liteipc消息隊(duì)列默認(rèn)1K)

(2).共享數(shù)據(jù):多個(gè)進(jìn)程想要操作共享數(shù)據(jù),一個(gè)進(jìn)程對(duì)共享數(shù)據(jù)的修改,別的進(jìn)程應(yīng)該立刻看到。

(3).通知事件:一個(gè)進(jìn)程需要向另一個(gè)或一組進(jìn)程發(fā)送消息,通知它(它們)發(fā)生了某種事件(如進(jìn)程終止時(shí)要通知父進(jìn)程)。

(4).資源共享:多個(gè)進(jìn)程之間共享同樣的資源。為了做到這一點(diǎn),需要內(nèi)核提供鎖和同步機(jī)制。

(5).進(jìn)程控制:有些進(jìn)程希望完全控制另一個(gè)進(jìn)程的執(zhí)行(如Debug進(jìn)程),此時(shí)控制進(jìn)程希望能夠攔截另一個(gè)進(jìn)程的所有陷入和異常,并能夠及時(shí)知道它的狀態(tài)改變。

內(nèi)核目錄和系列篇更新

內(nèi)核有個(gè)專門的IPC目錄,詳見(jiàn)如下. 可直接點(diǎn)擊查看注解源碼.

pIYBAGCDj82AJApcAAC3HJ8TzdA474.png

進(jìn)程間九種通訊方式

1.管道pipe(fs_syscall.c)

管道是一種最基本的IPC機(jī)制,作用于有血緣關(guān)系的進(jìn)程之間,完成數(shù)據(jù)傳遞。 調(diào)用pipe系統(tǒng)函數(shù)即可創(chuàng)建一個(gè)管道。有如下特質(zhì):

其本質(zhì)是一個(gè)偽文件(實(shí)為內(nèi)核緩沖區(qū))

由兩個(gè)文件描述符引用,一個(gè)表示讀端,一個(gè)表示寫(xiě)端。

規(guī)定數(shù)據(jù)從管道的寫(xiě)端流入管道,從讀端流出。

管道的原理: 管道實(shí)為內(nèi)核使用環(huán)形隊(duì)列機(jī)制,借助內(nèi)核緩沖區(qū)(4k)實(shí)現(xiàn)。 管道的局限性: ① 數(shù)據(jù)自己讀不能自己寫(xiě)。 ② 數(shù)據(jù)一旦被讀走,便不在管道中存在,不可反復(fù)讀取。 ③ 由于管道采用半雙工通信方式。因此,數(shù)據(jù)只能在一個(gè)方向上流動(dòng)。 ④ 只能在有公共祖先的進(jìn)程間使用管道。 常見(jiàn)的通信方式有,單工通信、半雙工通信、全雙工通信。

這部分后系列篇文件相關(guān)篇中會(huì)重點(diǎn)講,敬請(qǐng)關(guān)注. 詳細(xì)看SysPipe函數(shù).

2.信號(hào)(los_signal.c)

信號(hào)思想來(lái)自Unix,在發(fā)展了50年之后,許多方面都沒(méi)有發(fā)生太大的變化.信號(hào)可以由內(nèi)核產(chǎn)生,也可以由用戶進(jìn)程產(chǎn)生,并由內(nèi)核傳送給特定的進(jìn)程或線程(組),若這個(gè)進(jìn)程注冊(cè)/安裝了自己的信號(hào)處理程序,則內(nèi)核會(huì)調(diào)用這個(gè)函數(shù)去處理信號(hào),否則則執(zhí)行默認(rèn)的函數(shù)或者忽略.信號(hào)分為兩大類:可靠信號(hào)與不可靠信號(hào),前32種信號(hào)為不可靠信號(hào),后32種為可靠信號(hào)。長(zhǎng)這樣:

#define SIGHUP    1	//終端掛起或者控制進(jìn)程終止
#define SIGINT    2	//鍵盤(pán)中斷(如break鍵被按下)
#define SIGQUIT   3	//鍵盤(pán)的退出鍵被按下
#define SIGILL    4	//非法指令
#define SIGTRAP   5	//跟蹤陷阱(trace trap),啟動(dòng)進(jìn)程,跟蹤代碼的執(zhí)行
#define SIGABRT   6	//由abort(3)發(fā)出的退出指令
#define SIGIOT    SIGABRT 
#define SIGBUS    7	//總線錯(cuò)誤 
#define SIGFPE    8	//浮點(diǎn)異常
#define SIGKILL   9		//常用的命令 kill 9 13 
#define SIGUSR1   10	//用戶自定義信號(hào)1 

信號(hào)為系統(tǒng)提供了一種進(jìn)程間異步通訊的方式,一個(gè)進(jìn)程不必通過(guò)任何操作來(lái)等待信號(hào)的到達(dá)。事實(shí)上,進(jìn)程也不可能知道信號(hào)到底什么時(shí)候到達(dá)。一般來(lái)說(shuō),只需用戶進(jìn)程提供信號(hào)處理函數(shù),內(nèi)核會(huì)想方設(shè)法調(diào)用信號(hào)處理函數(shù),處理過(guò)程如圖所示:

o4YBAGCDj-CAdh-kAAFsows6BkA259.png

個(gè)人把這種異步通訊過(guò)程理解為生產(chǎn)者(安裝和發(fā)送信號(hào))和消費(fèi)者(捕捉和處理信號(hào))兩個(gè)部分,分姊妹兩篇已完成

v48.xx (信號(hào)生產(chǎn)篇) | 如何安裝和發(fā)送信號(hào)?

v49.xx (信號(hào)消費(fèi)篇) | 用戶棧到內(nèi)核棧的兩次切換

3.消息隊(duì)列(los_queue.c)

基本概念

隊(duì)列又稱消息隊(duì)列,是一種常用于任務(wù)間通信的數(shù)據(jù)結(jié)構(gòu)。隊(duì)列接收來(lái)自任務(wù)或中斷的 不固定長(zhǎng)度消息,并根據(jù)不同的接口確定傳遞的消息是否存放在隊(duì)列空間中。

任務(wù)能夠從隊(duì)列里面讀取消息,當(dāng)隊(duì)列中的消息為空時(shí),掛起讀取任務(wù);當(dāng)隊(duì)列中有新消息時(shí), 掛起的讀取任務(wù)被喚醒并處理新消息。任務(wù)也能夠往隊(duì)列里寫(xiě)入消息,當(dāng)隊(duì)列已經(jīng)寫(xiě)滿消息時(shí), 掛起寫(xiě)入任務(wù);當(dāng)隊(duì)列中有空閑消息節(jié)點(diǎn)時(shí),掛起的寫(xiě)入任務(wù)被喚醒并寫(xiě)入消息。如果將 讀隊(duì)列和寫(xiě)隊(duì)列的超時(shí)時(shí)間設(shè)置為0,則不會(huì)掛起任務(wù),接口會(huì)直接返回,這就是非阻塞模式。

消息隊(duì)列提供了異步處理機(jī)制,允許將一個(gè)消息放入隊(duì)列,但不立即處理。同時(shí)隊(duì)列還有緩沖消息的作用。

隊(duì)列特性

消息以先進(jìn)先出的方式排隊(duì),支持異步讀寫(xiě)。 讀隊(duì)列和寫(xiě)隊(duì)列都支持超時(shí)機(jī)制。 每讀取一條消息,就會(huì)將該消息節(jié)點(diǎn)設(shè)置為空閑。 發(fā)送消息類型由通信雙方約定,可以允許不同長(zhǎng)度(不超過(guò)隊(duì)列的消息節(jié)點(diǎn)大小)的消息。 一個(gè)任務(wù)能夠從任意一個(gè)消息隊(duì)列接收和發(fā)送消息。 多個(gè)任務(wù)能夠從同一個(gè)消息隊(duì)列接收和發(fā)送消息。 創(chuàng)建隊(duì)列時(shí)所需的隊(duì)列空間,默認(rèn)支持接口內(nèi)系統(tǒng)自行動(dòng)態(tài)申請(qǐng)內(nèi)存的方式,同時(shí)也支持將用戶分配的隊(duì)列空間作為接口入?yún)魅氲姆绞健?/p>

詳細(xì)可前往查看:

v33.xx (消息隊(duì)列篇) | 進(jìn)程間如何異步解耦傳遞大數(shù)據(jù) ?

4.共享內(nèi)存(shm.c)

共享內(nèi)存是進(jìn)程間通信中最簡(jiǎn)單的方式之一。共享內(nèi)存允許兩個(gè)或更多進(jìn)程訪問(wèn)同一塊物理內(nèi)存,每個(gè)進(jìn)程都要單獨(dú)對(duì)這塊物理內(nèi)存進(jìn)行映射.當(dāng)一個(gè)進(jìn)程改變了這塊地址中的內(nèi)容的時(shí)候,該物理頁(yè)框?qū)⒈粯?biāo)記為臟頁(yè),如此其它進(jìn)程都會(huì)知道內(nèi)容發(fā)生了更改。

這部分后系列篇內(nèi)存相關(guān)篇中會(huì)重點(diǎn)講,內(nèi)存部分雖已寫(xiě)過(guò)幾篇,但是沒(méi)講透,要重新再梳理.

5.信號(hào)量(los_sem.c)

基本概念

信號(hào)量(Semaphore)是一種實(shí)現(xiàn)任務(wù)間通信的機(jī)制,可以實(shí)現(xiàn)任務(wù)間同步或共享資源的互斥訪問(wèn)。 一個(gè)信號(hào)量的數(shù)據(jù)結(jié)構(gòu)中,通常有一個(gè)計(jì)數(shù)值,用于對(duì)有效資源數(shù)的計(jì)數(shù),表示剩下的可被使用的共享資源數(shù)。

對(duì)信號(hào)量有個(gè)形象的比喻 停車場(chǎng)的停車位, 進(jìn)停車場(chǎng)前看下屏幕上實(shí)時(shí)顯示剩余車位,0表示不能進(jìn),只有大于0才能進(jìn)入,進(jìn)入后自動(dòng)減1,出口處也加了監(jiān)測(cè),出去后剩余車位增加1個(gè).

使用場(chǎng)景

在多任務(wù)系統(tǒng)中,信號(hào)量是一種非常靈活的同步方式,可以運(yùn)用在多種場(chǎng)合中,實(shí)現(xiàn)鎖、同步、資源計(jì)數(shù)等功能, 也能方便的用于任務(wù)與任務(wù),中斷與任務(wù)的同步中。常用于協(xié)助一組相互競(jìng)爭(zhēng)的任務(wù)訪問(wèn)共享資源。

詳細(xì)可前往查看:

v29.xx (信號(hào)量篇) | 信號(hào)量解決任務(wù)同步問(wèn)題

6.互斥鎖 (los_mux.c) :

基本概念

互斥鎖又稱互斥型信號(hào)量,是一種特殊的二值性信號(hào)量,用于實(shí)現(xiàn)對(duì)臨界資源的獨(dú)占式處理。 另外,互斥鎖可以解決信號(hào)量存在的優(yōu)先級(jí)翻轉(zhuǎn)問(wèn)題。 任意時(shí)刻互斥鎖只有兩種狀態(tài),開(kāi)鎖或閉鎖。當(dāng)任務(wù)持有時(shí),這個(gè)任務(wù)獲得該互斥鎖的所有權(quán), 互斥鎖處于閉鎖狀態(tài)。當(dāng)該任務(wù)釋放鎖后,任務(wù)失去該互斥鎖的所有權(quán),互斥鎖處于開(kāi)鎖狀態(tài)。 當(dāng)一個(gè)任務(wù)持有互斥鎖時(shí),其他任務(wù)不能再對(duì)該互斥鎖進(jìn)行開(kāi)鎖或持有。

詳細(xì)可前往查看:

v27.xx (互斥鎖篇) | 互斥鎖比自旋鎖可豐滿許多

v26.xx (自旋鎖篇) | 真的好想為自旋鎖立貞節(jié)牌坊!

7.快鎖 (los_futex.c)

futex 是Fast Userspace muTexes的縮寫(xiě)(快速用戶空間互斥體),是一種用戶態(tài)和內(nèi)核態(tài)混合的同步機(jī)制。首先,同步的進(jìn)程間通過(guò)mmap共享一段內(nèi)存,futex變量就位于這段共享的內(nèi)存中且操作是原子的,當(dāng)進(jìn)程嘗試進(jìn)入互斥區(qū)或者退出互斥區(qū)的時(shí)候,先去查看共享內(nèi)存中的futex變量,如果沒(méi)有競(jìng)爭(zhēng)發(fā)生,則只修改futex,而不用再執(zhí)行系統(tǒng)調(diào)用了。當(dāng)通過(guò)訪問(wèn)futex變量告訴進(jìn)程有競(jìng)爭(zhēng)發(fā)生,則還是得執(zhí)行系統(tǒng)調(diào)用去完成相應(yīng)的處理(wait 或者 wake up)。

注解版同步到官方最新源碼后,發(fā)現(xiàn)快鎖的部分改動(dòng)很大,這部分要重新注解,敬請(qǐng)留意.

8.事件 (los_event.c)

基本概念事件(Event)是一種任務(wù)間通信的機(jī)制,可用于任務(wù)間的同步。

多任務(wù)環(huán)境下,任務(wù)之間往往需要同步操作,一個(gè)等待即是一個(gè)同步。事件可以提供一對(duì)多、多對(duì)多的同步操作。 一對(duì)多同步模型:一個(gè)任務(wù)等待多個(gè)事件的觸發(fā)。可以是任意一個(gè)事件發(fā)生時(shí)喚醒任務(wù)處理事件,也可以是幾個(gè)事件都發(fā)生后才喚醒任務(wù)處理事件。 多對(duì)多同步模型:多個(gè)任務(wù)等待多個(gè)事件的觸發(fā)。

事件特點(diǎn)

任務(wù)通過(guò)創(chuàng)建事件控制塊來(lái)觸發(fā)事件或等待事件。 事件間相互獨(dú)立,內(nèi)部實(shí)現(xiàn)為一個(gè)32位無(wú)符號(hào)整型,每一位標(biāo)識(shí)一種事件類型。第25位不可用,因此最多可支持31種事件類型。 事件僅用于任務(wù)間的同步,不提供數(shù)據(jù)傳輸功能。 多次向事件控制塊寫(xiě)入同一事件類型,在被清零前等效于只寫(xiě)入一次。 多個(gè)任務(wù)可以對(duì)同一事件進(jìn)行讀寫(xiě)操作。 支持事件讀寫(xiě)超時(shí)機(jī)制。

事件可應(yīng)用于多種任務(wù)同步場(chǎng)景,在某些同步場(chǎng)景下可替代信號(hào)量。

使用場(chǎng)景

隊(duì)列用于任務(wù)間通信,可以實(shí)現(xiàn)消息的異步處理。同時(shí)消息的發(fā)送方和接收方不需要彼此聯(lián)系,兩者間是解耦的。

詳細(xì)可前往查看:

v30.xx (事件控制篇) | 任務(wù)間多對(duì)多的同步方案

9.文件消息隊(duì)列 (hm_liteipc.c)

基于文件實(shí)現(xiàn)的消息隊(duì)列,特點(diǎn)是隊(duì)列中消息數(shù)量多(256個(gè)),傳遞消息內(nèi)容大(可到1K)

#define IPC_MSG_DATA_SZ_MAX 1024	//最大的消息內(nèi)容 1K ,posix最大消息內(nèi)容 64個(gè)字節(jié)
#define IPC_MSG_OBJECT_NUM_MAX 256	//最大的消息數(shù)量256 ,posix最大消息數(shù)量 16個(gè)

文件消息隊(duì)列隱約感覺(jué)鴻蒙的分布式通訊,跨屏之類的功能是靠它實(shí)現(xiàn)的,分布式的代碼還沒(méi)研究,尚不清楚,如果有了解的請(qǐng)告知.后續(xù)要重點(diǎn)研究下跨應(yīng)用通訊的技術(shù)實(shí)現(xiàn).

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 進(jìn)程
    +關(guān)注

    關(guān)注

    0

    文章

    203

    瀏覽量

    13960
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2634

    瀏覽量

    66306
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙內(nèi)核源碼Task/線程技術(shù)分析

    、使用內(nèi)存空間等系統(tǒng)資源,并獨(dú)立于其它線程運(yùn)行。 鴻蒙內(nèi)核每個(gè)進(jìn)程內(nèi)的線程獨(dú)立運(yùn)行、獨(dú)立調(diào)度,當(dāng)前進(jìn)程內(nèi)線程的調(diào)度不受其它進(jìn)程內(nèi)線程的影響。
    的頭像 發(fā)表于 10-18 10:42 ?2207次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內(nèi)核</b>源碼Task/線程技術(shù)分析

    Linux內(nèi)核模塊通訊方法

    Linux內(nèi)核模塊通訊方法非常的多,最便捷的方法莫過(guò)于函數(shù)或變量符號(hào)導(dǎo)出,然后直接調(diào)用。默認(rèn)情況下,模塊與模塊之間、模塊與內(nèi)核之間的全局變量是相互獨(dú)立的,只有通過(guò)`EXPORT_SY
    發(fā)表于 06-07 16:23 ?2532次閱讀
    Linux<b class='flag-5'>內(nèi)核</b>模塊<b class='flag-5'>間</b><b class='flag-5'>通訊</b>方法

    鴻蒙內(nèi)核源碼分析(調(diào)度隊(duì)列篇):進(jìn)程和Task的就緒隊(duì)列對(duì)調(diào)度的作用

    為何單獨(dú)講調(diào)度隊(duì)列?鴻蒙內(nèi)核代碼中有兩個(gè)源文件是關(guān)于隊(duì)列的,一個(gè)是用于調(diào)度的隊(duì)列,另一個(gè)是用于線程通訊的IPC隊(duì)列。 本文詳細(xì)講述調(diào)度隊(duì)列
    發(fā)表于 11-23 11:09

    鴻蒙內(nèi)核源碼分析(進(jìn)程管理篇):進(jìn)程內(nèi)核的資源管理單元

    ProcessGroup *g_processGroup = NULL;// 進(jìn)程組以上是進(jìn)程模塊全局變量。注釋是筆者添加的,鴻蒙內(nèi)核的注釋很少,查看更多注釋前往以下倉(cāng)庫(kù)
    發(fā)表于 11-24 11:23

    為何將Linux操作系統(tǒng)劃分為用戶和內(nèi)核

    linux_C網(wǎng)絡(luò)編程概述嵌入式網(wǎng)絡(luò)編程==嵌入式Linux_C系統(tǒng)編程(文件、進(jìn)程進(jìn)程通信、多線程、網(wǎng)絡(luò)、大并發(fā)網(wǎng)絡(luò)服務(wù)器、數(shù)據(jù)庫(kù)、shell編程)1、嵌入式C開(kāi)發(fā) VS 嵌入式Linux_C
    發(fā)表于 12-15 08:35

    鴻蒙內(nèi)核實(shí)現(xiàn)用戶態(tài)快速互斥鎖Futex設(shè)計(jì)資料合集

    篇的末尾被提出來(lái)。鴻蒙內(nèi)核進(jìn)程池默認(rèn)上限是 64 個(gè),除去兩個(gè)內(nèi)核進(jìn)程外,剩下的都?xì)w屬用戶進(jìn)程
    發(fā)表于 03-23 14:12

    鴻蒙內(nèi)核源碼分析(百篇博客分析.挖透鴻蒙內(nèi)核)

    入研究實(shí)在是暴殄天物,于心不忍。堅(jiān)信鴻蒙大勢(shì)所趨,未來(lái)可期,其必定成功,也必然成功,誓做其堅(jiān)定的追隨者和傳播者。為何精讀內(nèi)核源碼?每位碼農(nóng)的學(xué)職生涯,都應(yīng)精讀一遍
    發(fā)表于 07-04 17:16

    為何選擇Cortex-M4內(nèi)核

    為何選擇Cortex-M4內(nèi)核
    發(fā)表于 10-09 08:38 ?3次下載
    <b class='flag-5'>為何</b><b class='flag-5'>要</b>選擇Cortex-M4<b class='flag-5'>內(nèi)核</b>

    淺談鴻蒙內(nèi)核代碼調(diào)度隊(duì)列

    鴻蒙內(nèi)核代碼中有兩個(gè)源文件是關(guān)于隊(duì)列的,一個(gè)是用于調(diào)度的隊(duì)列,另一個(gè)是用于線程通訊的IPC隊(duì)列。
    的頭像 發(fā)表于 10-23 11:00 ?2012次閱讀

    為何精讀鴻蒙內(nèi)核源碼?

    一個(gè)沒(méi)學(xué)過(guò)計(jì)算機(jī)知識(shí)的賣菜大媽就不可能知道內(nèi)核的基本運(yùn)作了嗎? 不一定!在系列篇中試圖用 鴻蒙內(nèi)核源碼分析(總目錄)之故事篇 去引導(dǎo)這一層級(jí)的認(rèn)知,希望能卷入更多的人來(lái)關(guān)注基礎(chǔ)軟件,尤其是那些資本大鱷,加大對(duì)基礎(chǔ)軟件的投入。
    的頭像 發(fā)表于 04-26 15:00 ?1890次閱讀
    <b class='flag-5'>為何</b><b class='flag-5'>要</b>精讀<b class='flag-5'>鴻蒙</b><b class='flag-5'>內(nèi)核</b>源碼?

    鴻蒙內(nèi)核源碼:進(jìn)程內(nèi)核的資源管理單元

    OpenHarmony內(nèi)核進(jìn)程模塊可以給用戶提供多個(gè)進(jìn)程,實(shí)現(xiàn)了進(jìn)程之間的切換和通信,幫助用戶管理業(yè)務(wù)程序流程。
    的頭像 發(fā)表于 04-24 10:58 ?1528次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內(nèi)核</b>源碼:<b class='flag-5'>進(jìn)程</b>是<b class='flag-5'>內(nèi)核</b>的資源管理單元

    鴻蒙內(nèi)核源碼分析:task是內(nèi)核調(diào)度的單元

    從系統(tǒng)的角度看,線程是競(jìng)爭(zhēng)系統(tǒng)資源的最小運(yùn)行單元。線程可以使用或等待CPU、使用內(nèi)存空間等系統(tǒng)資源,并獨(dú)立于其它線程運(yùn)行。 鴻蒙內(nèi)核每個(gè)進(jìn)程內(nèi)的線程獨(dú)立運(yùn)行、獨(dú)立調(diào)度,當(dāng)前進(jìn)程內(nèi)線程
    發(fā)表于 11-23 15:51 ?22次下載
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內(nèi)核</b>源碼分析:task是<b class='flag-5'>內(nèi)核</b>調(diào)度的單元

    鴻蒙內(nèi)核源碼分析:進(jìn)程和Task的就緒隊(duì)列對(duì)調(diào)度的作用

    鴻蒙內(nèi)核代碼中有兩個(gè)源文件是關(guān)于隊(duì)列的,一個(gè)是用于調(diào)度的隊(duì)列,另一個(gè)是用于線程通訊的IPC隊(duì)列。 鴻蒙
    發(fā)表于 11-23 15:48 ?31次下載
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內(nèi)核</b>源碼分析:<b class='flag-5'>進(jìn)程</b>和Task的就緒隊(duì)列對(duì)調(diào)度的作用

    鴻蒙內(nèi)核源碼分析:進(jìn)程內(nèi)核的資源管理單元

    從系統(tǒng)的角度看,進(jìn)程是資源管理單元。進(jìn)程可以使用或等待CPU、使用內(nèi)存空間等系統(tǒng)資源,并獨(dú)立于其它進(jìn)程運(yùn)行。OpenHarmony內(nèi)核進(jìn)程
    發(fā)表于 11-24 17:52 ?23次下載
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>內(nèi)核</b>源碼分析:<b class='flag-5'>進(jìn)程</b>是<b class='flag-5'>內(nèi)核</b>的資源管理單元

    常見(jiàn)的進(jìn)程通信方式

    關(guān)系的進(jìn)程間使用。進(jìn)程的親緣關(guān)系,通常指父子進(jìn)程關(guān)系。 有名管道: 有名管道也是,半雙工的通信方式,但是它允許無(wú)親緣關(guān)系進(jìn)程
    的頭像 發(fā)表于 10-08 15:48 ?1339次閱讀
    常見(jiàn)的<b class='flag-5'>進(jìn)程</b><b class='flag-5'>間</b>通信方式
    主站蜘蛛池模板: 97久久国产露脸精品国产| 国产人妻777人伦精品HD| 久久国产欧美日韩精品免费| 人与畜禽CROPROATION免费| 又粗又大又爽又黄的免费视频| 岛国在线无码免费观| 美国xaxwaswaskino| 亚洲另类中文字幕| 国产成久久免费精品AV片天堂 | 欧美日韩精品久久久免费观看 | 国产成人无码精品久久久免费69| 乱码国产丰满人妻WWW| 亚洲精品www久久久久久久软件| 成人无码精品1区2区3区免费看 | 丫鬟粗大狠狠贯穿h| 第一次处破女18分钟免费| 美女网站免费看| 印度12 13free| 国产专区_爽死777| 甜性涩爱在线播放| 把内衣脱了把奶露出来| 妙玉被肉干高H潮文| 在线自拍综合亚洲欧美| 黑人巨大交牲老太| 校花被扒衣吸乳羞羞漫画| 成人精品综合免费视频| 欧美激情视频在线观看一区二区三区| 中文人妻熟妇精品乱又伦| 娇妻被朋友玩得呻吟在线电影| 先锋影音 av| 国产精品自拍| 婷婷综合亚洲爱久久| 俄罗斯xxxxxbbbbb| 日本红怡院亚洲红怡院最新| a圾片目录大全| 内射人妻骚骚骚| 97午夜精品| 免费人妻无码AV不卡在线| 506070老熟肥妇bbwxx视频| 伦理电影v男人天堂| 坠落的丝袜美人妻|