Android的init进程

1、当Linux内核加载后就会启动第一个应用程序–nit进程,它主要提供四大功能:
a:子进程的终止处理;
b:应用程序访问驱动时创建设备节点,提供属性服务并保存系统的环境变量;
c:分析init.rc脚本,执行相应的功能。

2、几种文件系统:
a、tmpfs:是一种虚拟内存的文件系统典型的tmpfs文件系统完全驻留在RAM中读写速度远远大于闪存或磁盘文件系统。
b、devpts:特殊虚拟终端文件系统
c、proc:一种虚拟文件系统,只存在于内存中,不占用外存。应用程序可以借助此文件系统与内核的数据结构进行交互。
d、sysfs:一种特殊的文件系统将系统中的设备组织成具有层次的结构。将proc、devfs、devpts三种文件系统统一起来。

3、在编译Android源码时,在根文件系统中并不存在/dev(用于挂载tmpfs文件系统)、/proc(挂载proc文件系统)、/sys(挂载sysfs文件系统)这些目录。它们是系统运行时由init进程动态产生,在系统终止时它们会消失。

4、#define ERROR(X…) log_write(3,“< 3 >init:”X)

5、由于udev是运行在用户空间的一个应用程序,它是一个守护进程。通过监听内核发出的uevevt事件,再查看注册在/sys目录下的设备信息,最后在/dev目录下相关位置创建设备节点文件。而在内核刚刚加载时,用户空间的udev并没有运行,无法处理内核启动过程中发生的uevevt。所以在内核加载时虽然内核中的设备驱动程序可以正常运行,但是由于没有udev创建驱动所对应的设备文件,所以会出现应用程序无法找到相关设备的现象,这是冷插拔机制所要处理的。

6、冷插拔:在Linux中,内核启动后冷插拔机制启动udev守护进程,从/sys目录下读取事先注册好的设备信息,再引发与各设备相对应的uevevt,从而创建设备节点文件。但是在Android中不同的是init进程来充当udev守护进程的角色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值