Android系統(tǒng)啟動——8 附錄2:相關(guān)守護(hù)進(jìn)程簡介

本次系列的內(nèi)容如下:

Android啟動流程——1 序言、bootloader引導(dǎo)與Linux啟動
Android系統(tǒng)啟動——2 init進(jìn)程
Android系統(tǒng)啟動——3 init.rc解析
Android系統(tǒng)啟動——4 zyogte進(jìn)程
Android系統(tǒng)啟動——5 zyogte進(jìn)程(Java篇)
Android系統(tǒng)啟動——6 SystemServer啟動
Android系統(tǒng)啟動——7 附錄1:Android屬性系統(tǒng)
Android系統(tǒng)啟動——8 附錄2:相關(guān)守護(hù)進(jìn)程簡介

init.rc中定義了很多系統(tǒng)的守護(hù)進(jìn)程,這里主要是做一些簡單的介紹

一、uevent

負(fù)責(zé)相應(yīng)uevent事件,創(chuàng)建設(shè)備節(jié)點(diǎn)文件:
代碼在init.rc 550行

550service ueventd /sbin/ueventd
551    class core
552    critical
553    seclabel u:r:ueventd:s0

二、console

包含常用的shell命令、如ls、cd等
代碼在init.rc 574行

574service console /system/bin/sh
575    class core
576    console
577    disabled
578    user shell
579    group shell log
580    seclabel u:r:shell:s0

三、adbd

abd的守護(hù)進(jìn)程:
代碼在init.rc 585行

585# adbd is controlled via property triggers in init.<platform>.usb.rc
586service adbd /sbin/adbd --root_seclabel=u:r:su:s0
587    class core
588    socket adbd stream 660 system system
589    disabled
590    seclabel u:r:adbd:s0

四、servicemanager

binder的服務(wù)總管,負(fù)責(zé)binder服務(wù)的注冊和查找
代碼在init.rc 602行

602service servicemanager /system/bin/servicemanager
603    class core
604    user system
605    group system
606    critical
607    onrestart restart healthd
608    onrestart restart zygote
609    onrestart restart media
610    onrestart restart surfaceflinger
611    onrestart restart drm

五、vold

負(fù)責(zé)完成系統(tǒng)USB存儲卡等擴(kuò)展存儲自動掛載的守護(hù)進(jìn)程
代碼在init.rc 613行

613service vold /system/bin/vold \
614        --blkid_context=u:r:blkid:s0 --blkid_untrusted_context=u:r:blkid_untrusted:s0 \
615        --fsck_context=u:r:fsck:s0 --fsck_untrusted_context=u:r:fsck_untrusted:s0
616    class core
617    socket vold stream 0660 root mount
618    socket cryptd stream 0660 root mount
619    ioprio be 2

六、netd

Android 網(wǎng)絡(luò)守護(hù)進(jìn)程
代碼在init.rc 621行

621service netd /system/bin/netd
622    class main
623    socket netd stream 0660 root system
624    socket dnsproxyd stream 0660 root inet
625    socket mdns stream 0660 root system
626    socket fwmarkd stream 0660 root inet

七、debuggerd

負(fù)責(zé)異常退出的診斷。如果偵測到程序崩潰,debuggerd將把崩潰時的進(jìn)程狀態(tài)信息輸出到文件和串口中,供開發(fā)人員分析和調(diào)試使用:
代碼在init.rc 628行

628service debuggerd /system/bin/debuggerd
629    class main
630    writepid /dev/cpuset/system-background/tasks
631
632service debuggerd64 /system/bin/debuggerd64
633    class main
634    writepid /dev/cpuset/system-background/tasks

八、ril-deamon

手機(jī)底層的通信系統(tǒng)的守護(hù)進(jìn)程
代碼在init.rc 636行

636service ril-daemon /system/bin/rild
637    class main
638    socket rild stream 660 root radio
639    socket sap_uim_socket1 stream 660 bluetooth bluetooth
640    socket rild-debug stream 660 radio system
641    user root
642    group radio cache inet misc audio log

九、surfaceflinger:

負(fù)責(zé)合成系統(tǒng)所有顯示圖層的服務(wù)進(jìn)程
代碼在init.rc 644行

644service surfaceflinger /system/bin/surfaceflinger
645    class core
646    user system
647    group graphics drmrpc
648    onrestart restart zygote
649    writepid /dev/cpuset/system-background/tasks

十、media:

系統(tǒng)多媒體部分的守護(hù)進(jìn)程,包含了audio、mediaplayer以及camera 等系統(tǒng)服務(wù)
代碼在init.rc 656行

656service media /system/bin/mediaserver
657    class main
658    user media
659    group audio camera inet net_bt net_bt_admin net_bw_acct drmrpc mediadrm
660    ioprio rt 4

十一、bootanim:

播放開機(jī)動畫的進(jìn)程
代碼在init.rc 644行

676service bootanim /system/bin/bootanimation
677    class core
678    user graphics
679    group graphics audio
680    disabled
681    oneshot

十二、installd:

Android的安裝服務(wù)守護(hù)進(jìn)程

687service installd /system/bin/installd
688    class main
689    socket installd stream 600 system system

上一篇文章 Android系統(tǒng)啟動——7 附錄1:Android屬性系統(tǒng)

官人[飛吻],你都把臣妾從頭看到尾了,喜歡就點(diǎn)個贊唄(眉眼)!!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容