linux启动方式
2014-03-31 20:14
393 查看
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来启动其它的脚本
电脑开机后,电脑会进入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来启动其它的脚本
相关文章推荐
- 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- Linux 开机启动方式设置 inittab 详解,开机直接进入“命令行”模式
- linux下tomcat随系统自动启动,最简单的方式
- 关于Linux启动时挂载rootfs的几种方式
- Wildfly在Linux下以Service的方式启动 配置步骤
- Linux 启动、关闭、重启网络服务的两种方式
- 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- Linux 下memcached 启动/结束方式
- Linux 默认以命令行方式启动
- linux下memcached的启动/结束的方式
- Linux重启方式init 0 init1 init 3 init 5 init 6 这几个启动级别都代表什么意思?
- Linux Ramdisk启动方式下文件系统兼容性快速排查。
- Linux进程的启动方式及查看进程方法
- (转载) 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- 在 Linux 下用户空间与内核空间数据交换的方式,第 1 部分: 内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink
- linux启动时挂载rootfs的几种方式
- Linux 启动、关闭、重启服务的两种方式
- linux下memcached的启动/结束的方式
- Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务