init 进程启动过程 面试 笔记

面试总结

init进程做了很多工作,总的来说主要做了以下三件事:

1、创建和挂载启动所需的文件目录

2、初始化和启动属性服务

3、解析 init.rc 配置文件并启动Zygote 进程

//#################################分割线 #################################################

android 系统启动流程前几步

1、启动电源以及系统启动

2、引导程序BootLoader

3、Linux 内核启动

4、init进程启动

//#################################分割线 #################################################

init进程的入口函数

Linux 内核加载完成后,首先在系统文件中寻找init.rc文件,并启动init进程

为了防止僵尸进程的出现,系统会在子进程暂停和终止的时候触发SIGCHLD信号

在UNIX/Linux 中,父进程使用fork创建子进程

//#################################分割线 #################################################

属性服务

windows平台上有一个注册表管理器,注册表的内容采用键值对的形式来记录用户、软件的一些使用信息。即使系统或者软件重启,其还能够根据之前注册表中的记录,进行相应初始化工作,Android也提供了一个类似的机制,叫做属性服务

属性服务最多可以同时为8个试图设置属性的用户提供服务

在linux新内核中,epoll用来替换select,epoll内部用于保存事件的数据类型是红黑树,查找速度快,select采用的数组保存信息,查找速度很慢,只有当等待少量文件描述符时,epoll和select的效率才会差不多

系统属性氛围两种类型:一种是普通属性;还有一种是控制属性,控制属性用来执行一些命令,比如开机动画就使用了这种属性。

//#################################分割线 #################################################

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值