linux系统运行程序的流程-创新互联

首先我们来看下图:

创新互联公司是一家专注于成都网站设计、做网站与策划设计,沂源网站建设哪家好?创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:沂源等地区。沂源做网站价格咨询:18980820575

linux系统运行程序的流程

1、加电自检

固件:硬件和软件结合。加电自检是我们按下电源会检测硬件像cpu、内存、网卡等信息。(从硬件层次检测硬件是否可用)

2、自举程序

检测完之后跳转到mbr(主引导记录)里面读取一个很重要的数据bootloader(后续的所有工作都是bootloader完成)和partition table、magic number

linux系统运行程序的流程

3、bootloader载入内核

内核的概念: (linux是一堆源码,在开机的时候会看到booting the kernel,从软件层次检测硬件是否可用)

主要作用就两个:驱动硬件(所谓驱动就是系统识别硬件,让操作系统认识硬件,从软件识别硬件是否可用)、启动完init进程其任务就完成了。

linux系统运行程序的流程

4、启动init进程(linux启动的第一个进程

init进程的任务:

linux系统运行程序的流程

解释:

init进程的pid为1,其PPID为0,PPID就是父进程ID,其父进程是内核任务调度器。

linux是一个实时系统就是将处理时间按时间分配,如果你这次时间没有处理完下次继续给你分配时间的时候再处理,这就需要一个CPU时间调度器,也就是PID为0的内核调度器。

linux中由一个进程派生出的进程成为子进程。如果一个进程的父进程死了,其子进程也不能存在。linux中父进程死掉子进程存活的进程成为孤儿进程,在linux中不允许孤儿进程的存在。linux扫描到存在孤儿进程的时候会自动将这个孤儿进程的父进程设置为init进程(PID为1的进程)。

子进程死亡,父进程应该切换和子进程之间的联系,这个子进程成为僵尸进程,J进程,这种进程也不允许存在。

5、读取/etc/inittab文件

linux系统运行程序的流程

总结:

(1)fireware(固件)开机自检,检验硬件设备是否正常,如果正常则读取硬盘上面存放数据的第一个位置MBR(Master Boot Record)里面的bootloader

(2)BootLoader里面最重要的是存放了一个自举程序(GRUB)

(3)GRUB 载入内核(kernel)   驱动硬件、启动init进程

(4)init进程读取/etc/inittab

首先执行脚本:/etc/rc.d/rc.sysinit   (不管任何运行级别都会执行这个脚本),然后根据initdefault查到默认的运行级别并且去/etc/rc.d/rcN.d下执行脚本,以S开头的脚本是启动服务的脚本,以K开头是关闭服务的脚本

(5)最后会建立终端,等待用户登录。显示user、name。

以上就是linux系统引导流程的详细内容,更多请关注创新互联成都网站设计公司其它相关文章!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:linux系统运行程序的流程-创新互联
文章网址:http://abwzjs.com/article/jjhhj.html