linux启动方式

1:BIOS自检
    电脑开机后
,电脑会进入BIOS,、.BIOS的 第一个步骤是加电自检,BIOS的第二个步骤是检测本地设备。 ,侦测电脑周边配套设备是否工作正    常,如cpu的类型,速度,缓存等;主板类型,内存的速度,容量,硬盘的 大小,类型和工作模式,风扇速度等,主要是为了检查这些设备在开机的时候是否能正 常的工作.
2:载入启动程序
   主板的BIOS会读取硬盘的主引导记录(MBR),MBR中存放的是一段很小的程序,他的功能是从硬盘读取操作系 统核心文件并运行,因为这个小程序太小了,因此通常这个小程序不具备直接引导系统内核的能力,他先去引导另一个 稍微大一点的小程序,再由这个大一点的小程序去引导系统内核.
3:加载内核
    
LINUX内核一般是压缩保存的,因此,它首先要进行自身的解压缩。内核映象前面的一些代码完成解压 缩。解压 后将其放入高端内存中,如果有初 始RAM磁盘映像,就会将它移动到内存中,并标明以后使用,然后 内核映象前面的代码 调用内核,并开始启动内核引 导的过 程  
4:启动init服务
    这里的Init程序,一般放在/sbin下,(到这里会出现很多不同的启动方式,主要有:
SystemV, BSD ,upstart和systemd).
     
这里主要说 SystemV, init进程是所有进程的起点,也是Linux内核启动后的第一 个动作,所以这个程序的PID是永远是1, init进 程是所有进程的发起者和控制
    init进程有以下两个作用。
    一:扮演父进程的角色。因为init进程永远不会被终止,所以系统总是可以确 信它的存在,并在必要的时候以它      为参照。如果某个进程在它衍生出来的全部子进程结束之前被终止,就 会出现必须以init为参照的情况。此时那些失去了父进程的子进程    就都会以init作为它们的父进程。
    二:读取运行等级。init它会读取/etc/inittab里面定义的运行等级,来决定启动哪个等级的服务

   运行等级
run level可以从0到6分成7种,一般是为了执行不同的程序或环境而设置的
    run level 0:是作关机,所以不能设置在 /etc/inittab 中,否者一开机就会作关 机的动作。
    run level 1:是Single user mode模式,只允许root账号登录,主要是作一些系统维护的工作。
    run level 2:可以使所有的用户登录,但不会启用NFS working,也就是没有网络功能
    run level 3:可以使所有用户登录,并拥有完整的功能。包含run level 2没有的功能,但是开机后是用文 本模式
    run level 4 :使用者自己定义,但是默认情况下和run level 3完全相同,
    run level 5:和run level 3几乎一样,唯一的不同是开机后是图形界面,
    run level 6:重启。所以run level 6也不会设置在/etc/inittab中,否者开机后立刻重启
5:  执行run level对应目录中的脚本,例如:等级为5,则执行/etc/rc.d/rc5.d下面的脚本
    执行时按脚本的文件名  串行执行,这样就造成开机比较慢。目前systemd是以并行执行(号称最快2秒开机) 

注意:假如是以busybox的init作为第一个进程,它没有运行等级之分,直接会执行/etc/下的rcS,然后由rcS来启动其它的脚本 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值