下载此文档

Android -- Android Init进程的处理流程分析.doc


文档分类:IT计算机 | 页数:约39页 举报非法文档有奖
1/39
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/39 下载此文档
文档列表 文档介绍
最近在看AndroidInit进程的处理流程,现记录如下。在Android中,Init进程是Linux内核启动后创建的第一个用户进程,地位非常重要。Init进程的可执行文件在/system/core/init/目录下,我们直接看Init进程的main()函数,该函数的代码处理流程较长,我们分两大段来分析。首先看第一大段:[cpp]viewplaincopy在CODE上查看代码片派生到我的代码片intmain(intargc,char**argv){//检测启动程序的文件名,如果是ueventd或者watchdogd,则执行相应守护进程的主函数,然后退出if(!strcmp(basename(argv[0]),"ueventd")){returnueventd_main(argc,argv);}if(!strcmp(basename(argv[0]),"watchdogd")){returnwatchdogd_main(argc,argv);}//(0);//umask设置用户创建文件的默认属性;默认情况下文件的属性是022,这里参数为0,意为该进程创建的文件的属性值将为0777add_environment("PATH",_PATH_DEFPATH);boolis_first_stage=(argc==1)||(strcmp(argv[1],"--second-stage")!=0);//Getthebasicfilesystemsetupweneedputtogetherintheinitramdisk//on/andthenwe'(is_first_stage){//创建一些基本的目录,并将一些文件系统mount到对应的目录上.//tmpfs、devpts、proc和sysfs都是文件系统mount("tmpfs","/dev","tmpfs",MS_NOSUID,"mode=0755");mkdir("/dev/pts",0755);mkdir("/dev/socket",0755);mount("devpts","/dev/pts","devpts",0,NULL);mount("proc","/proc","proc",0,NULL);mount("sysfs","/sys","sysfs",0,NULL);}//Wemusthavesomeplaceotherthan/tocreatethedevicenodesfor//kmsgandnull,otherwisewewon'tbeabletoremount/read-only//,wecanactuallytalk//();//把标准输入、标准输出、标准错误重定向到空设备文件"/dev/__null__"klog_init();//创建/dev/__kmsg__设备节点,让进程可以使用kernel的log系统来输出logklog_set_level(KLOG_NOTICE_LEVEL);//设置log等级NOTICE("init%sstarted!\n",is_first_stage?"":"secondstage");if(!is_first_stage){//Indicatethatbootingisinprogresstobackgroundfwloaders,etc.//在/,表示初始化正在进行;is_booting()函数会依靠这个文件判断进程是否正在初始化//进程初始化结束后,.booting文件将会被删除close(open("/dev/.booting",O_WRONLY|O_CREAT|O_CLOEXEC,0000));property_init();//初始化Android属性系统,Android中的属性系统在各个进程间都可以访问,这里创建了一块共享区域来存储属性值//mandlineandinDT,//mand-();process_kernel_cmdline();//解析/proc/cmdline文件,获得kernel的启动参数,将结果保存到几个属性中//Propogatethekernelvariablestointernalvariables//();//将一些系统

Android -- Android Init进程的处理流程分析 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数39
  • 收藏数0 收藏
  • 顶次数0
  • 上传人tmm958758
  • 文件大小209 KB
  • 时间2019-05-25