Android init

Init

  init是一个进程,确切地说,它是Linux系统中用户空间的第一个进程。由于Android是基于Linux内核的,所以init也是Android系统中用户空间的第一个进程,它的进程号是1。作为 天字第一号的进程,init被赋予了很多极其重要的工作职责,本章将关注其中两个比较重要的职责

init进程负责创建系统中的几个关键进程,尤其是下一章要介绍的Zygote,它更是Java世界的开创者。

 init -> zygote -> 应用进程

init.c
main(){
   //解析init.rc配置文件
   parse_config_file("/init.rc");
   
   //初始化和属性相关的资源

   property_init();

   ..........

 }
   
init.rc
  import /init.${ro.zygote}.rc   
  init.zygote64.rc
  
   service zygote /system/bin/ app_process64 -Xzygote /system/bin --zygote --start-system-server
    class main
    socket zygote stream 660 root system
    onrestart write /sys/android_power/request_state wake
    onrestart write /sys/power/state on
    onrestart restart media
    onrestart restart netd

你可能感兴趣的:(Android)