首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android init 启动

Android是基于Linux系统的,所以Android启动将由Linux Kernel启动并创建init进程。该进程是所有用户空间的鼻祖。...在init进程启动过程中,会相继启动servicemanager(binder服务管理者)、Zygote进程(java进程)。而Zygote又会创建system_server进程以及app进程。...下面我尝试来分析Android启动过程中关于init进程的创建过程。 此次分析过程基于Android 10.0 init init进程是Android启动过程中在Linux系统中用户空间的第一个进程。...关于Zygote的启动后续再分析。 今天主要尝试分析了一下Android在Linux系统下的init启动涉及的主要流程。...可见init启动主要涉及的工作是: 创建与挂载启动所需要的文件系统 初始化属性服务 创建single句柄,来监听子进程,防止僵尸进程的产生 开启属性服务 解析.rc文件并启动Zygote进程

2.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

linux启动过程解析

Linux中,Boot Loader通常安装在硬盘的MBR (Master Boot Record)或EFI系统分区。...当Boot Loader加载内核后,内核会开始初始化硬件设备和文件系统,并启动第一个用户空间进程——init进程。...内核初始化的过程包括以下几个步骤: 加载驱动程序:内核会加载与硬件设备对应的驱动程序,并初始化这些设备。驱动程序通常存储在内核模块中,可以在运行时加载和卸载。...启动init进程:内核会在用户空间启动第一个进程——init进程。init进程是所有进程的祖先进程,它负责启动和管理所有其他进程和服务。...用户空间初始化阶段: 在init进程启动后,它会执行一系列初始化脚本,如/etc/inittab、/etc/init.d等等,以初始化各种服务和进程。

1.3K30

Linux 系统启动过程

Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。...---- 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...init 程序首先是需要读取配置文件 /etc/inittab。 运行级别 许多程序需要开机启动。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。...但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。

2.7K00

Linux 系统启动过程

linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...---- 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。...但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。...---- 建立终端 rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。 init接下来会打开6个终端,以便用户登录系统。

2.6K30

Linux 系统启动过程

IOS/UEFI阶段计算机通电,BIOS或UEFI启动。进行硬件初始化、POST(Power-On Self-Test)自检,检查设备的可用性。BIOS/UEFI查找启动设备,并加载引导加载程序。...内核启动阶段内核被加载到内存中,解压缩,并进行初始化。内核初始化系统硬件、建立内存管理、设置中断服务等。内核创建第一个用户空间进程(init或者其他初始化管理器如systemd)。...用户空间初始化阶段初始化管理器接管控制,启动系统服务和守护进程。系统初始化阶段可能包括加载共享库、配置网络、挂载文件系统。...用户输入凭据,登录管理器验证身份,启动用户会话。用户登录阶段登录后,系统加载用户配置文件、启动用户级别的进程。图形界面或命令行界面最终,系统进入用户的桌面环境或命令行终端。

12121

Linux 系统启动过程

linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...---- 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。...但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。...---- 建立终端 rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。 init接下来会打开6个终端,以便用户登录系统。

2.6K20

Linux系统启动过程

原文:https://www.runoob.com/linux/linux-system-boot.html Linux 系统启动过程 linux 启动时我们会看到许多启动信息。...linux 启动时我们会看到许多启动信息。 Linux 系统的启动过程并不是大家想象中的那么复杂,其过程可以分为 5 个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。...运行 init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动init 程序首先是需要读取配置文件 /etc/inittab。...init 进程的一大任务,就是去运行这些开机启动的程序。 但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动 Apache,用作桌面就不需要。...建立终端 rc 执行完毕后,返回 init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。 init 接下来会打开 6 个终端,以便用户登录系统。

3.3K30

Linux学习笔记之Linux启动引导过程

尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化。 让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了。...完成这些操作之后启动第一个用户空间程序(init),并执行高级系统初始化工作。 这就是 Linux 引导的整个过程。...现在让我们深入挖掘一下这个过程,并深入研究一下 Linux 引导过程的一些详细信息。 系统启动 系统启动阶段依赖于引导 Linux 系统上的硬件。...Init 当内核被引导并进行初始化之后,内核就可以启动自己的第一个用户空间应用程序了。这是第一个调用的使用标准 C 库编译的程序。在此之前,还没有执行任何标准的 C 应用程序。...在桌面 Linux 系统上,第一个启动的程序通常是 /sbin/init。但是这不是一定的。

10.4K41

Linux 系统启动过程(一)

linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...linux1.png 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...init 程序首先是需要读取配置文件 /etc/inittab。 linux2.png 运行级别 许多程序需要开机启动。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。...linux4.png 建立终端 rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。 init接下来会打开6个终端,以便用户登录系统。

2.4K20

Linux 系统启动过程

linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...初始化init系统 init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...init进程的一大任务,就是去运行这些开机启动的程序。 但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。...Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。 ?...建立终端 rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。 init接下来会打开6个终端,以便用户登录系统。

2.8K20

基于Linux的pc启动过程

要了解Android手机启动过程,我们先来了解一下基于linux系统的电脑从按下电源键的那一刻起,发生了什么,这样类比可以更好的理解Android手机的启动过程。...基于Linux的pc启动过程 我们都知道,所有的程序软件包括操作系统都是运行在内存中的,然而我们的操作系统一般是存放在硬盘上的,当我们按下开机键的时候,此时内存中什么程序也没有,因此需要借助某种方式,将操作系统加载到内存中...Android手机的启动过程 Android系统虽然也是基于linux系统的,但是由于Android属于嵌入式设备,并没有像pc那样的BIOS程序。取而代之的是Bootloader——系统启动加载器。...当linux内核启动后会初始化各种软硬件环境,加载驱动程序,挂载根文件系统,并开始执行根文件系统的init程序,init程序是Android启动过程中最重要的核心程序。...init进程是Android系统中用户进程的鼻祖进程。init进程会启动各种系统本地服务,如:Media Server、Service Manager、bootanim(开机动画)等。

1.9K00

linux生成initramfs,Linux启动过程与initramfs

Linux启动过程概述 这里先简单列一下 Linux 操作系统启动的全过程: 按下电脑的电源键后,电脑通电,BIOS启动; BIOS读取硬盘的MBR,运行启动扇区中的代码,旧系统往往需要自己写启动扇区,...而新系统基本上由专用的启动软件接管了,在 Linux 世界中,目前都是用的 Grub2。...; 内核进行初始化,内核的初始化过程结束后,就会把控制权交给/init程序,从此进入用户空间; 因为内核先是将 initramfs 文件挂在为根文件系统,所以刚开始运行的/init程序其实是 initramfs...程序负责挂载硬盘上的文件系统,然后再把根文件系统切换到硬盘上的根分区,再运行/sbin/init程序,这时所有程序、配置文件、脚本都是使用的硬盘上的了,当然,网络文件系统也是同理。...可以看出 init 程序的运行也是一个分阶段的过程; /sbin/init程序负责系统的初始化、各种服务的运行、用户的登陆等等; 如果需要运行图形界面,则/sbin/init程序会运行 Display

3.5K20

Linux 系统启动过程分解

Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导。 运行 init。 系统初始化。...---- 运行init init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程的一大任务,就是去运行这些开机启动的程序。...但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。...---- 建立终端 rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。 init接下来会打开6个终端,以便用户登录系统。

2.5K00

linux_init_and_systemd

一个问题 今天在重启 nginx 服务的时候,注意到有这样一条输出 还有在设置 nginx 开机启动,一般的做法是 把脚本放在 /etc/init.d/ 下然后 用 chkconfig 管理 不过这些都是...System V Release 4,或者称为SVR4,是最成功的版本,成为一些UNIX共同特性的源头, 例如“SysV 初始化脚本”(/etc/init.d),用来控制系统启动和关闭, System...其开发目标是提供更优秀的框架以表示 系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动, 同时达到降低Shell的系统开销的效果,最终代替现在常用的System V与BSD风格init程序。...自带启动脚本兼容用的systemd启动脚本包以方便用户,使用户能“开箱即用” Chakra GNU/Linux,在2012.10的光盘映像档发布后默认使用systemd。...Ubuntu 15.04及后续版本[17] 发展的过程 发展的过程引用一片文章,讲的非常细,收藏 LINUX PID 1 和 SYSTEMD

1.9K10
领券