系统启动流程

centos5系统的启动流程

POST: 加电自检,检查硬件是否存在,通过ROM里COMS的BIOS(basic input and output system)

bootsequence(BIOS):按次查找各引导设备,选择第一个设备,加载里面的引导程序即为本次启动要用的程序即bootloader(MBR),这个bootloader(MBR)会把自身的第二阶段的代码加载到内存中,它不受MBR管理,它能提供一个提供一个菜单、背景图片、交换式接口,允许用户选择要启动的内核版本及其他设置;把用户选定的内核装载到RAM中的特定空间中,对其进行解压、展开,而后把系统控制权移交给内核。

注意:kernel只能放到基本分区上

kernel:kernel接到控制权后自身初始化: 探测可识别到的所有硬件设备。加载硬件驱动程序(有可能借助于randisk加载驱动),完成后以只读方式挂载文件系统,之后运行用户空间的第一个应用程序:/sbin/init

init程序的类型:

centos 5 :sysv init

配置文件:/etc/inittab

centos 6:upstart

配置文件:/etc/inittab或/etc/init/*.conf

centos 7 :systemd

配置文件:/usr/lib/systemd/system/, /etc/systemd/system

ramdisk介绍:

linux内核的特性之一:使用缓冲和缓存来加速对磁盘上的文件访问

需要把ramdisk换成ramfs那就不需要在次缓冲,用于提高效率

centos 5:initrd

可以用:mkinitrd

centos 6,7:initramfs

可以用:dracut,mkinitrd

/sbin/init:init会先根据/etc/inittab里的默认级别,运行系统初始化脚本完成对主机名的设置、欢迎信息的设置、激活udev和selinux、挂载/etc/fstab文件中定义的所有文件系统、检测根文件系统并以读写方式重新挂载根文件系统、设置系统时钟、根据/etc/sysctl.conf文件来设置内核参数、激活lvm及软raid设备、加载额外设备的驱动程序、清理操作,完成系统初始化,关闭与之对应级别下需要停止的服务,依次启动对应级别下需要开启的服务,设置登录终端。

时间: 2024-08-08 21:58:02

系统启动流程的相关文章

CentOS系统启动流程

POST(加电自检):检测硬件在CPU的控制下,将RAM芯片中的某个程序映射到ROM地址空间,并执行其中的指令完成系统硬件健康状况检查,例如存储设备.网卡.CPU.声卡等硬件设备是否完好.当检查完成后,所有硬件或基本硬件.核心硬件没有问题,则下一个启动流程BIOS BIOS(Boot Sequence):决定启动介质按照BIOS所设定的系统启动流程,根据引导次序(Boot Sequence)自上而下的寻找对应存储设备上操作系统的MBR(全称为Master Boot Record即硬盘的主引导记录

Linux系统启动流程分析与关机流程

Linux 系统启动流程分析 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导. 运行 init. 系统初始化. 建立终端. 用户登录系统. init程序的类型: SysV: init, CentOS 5之前, 配置文件: /etc/inittab. Upstart: init,CentOS 6, 配置文件: /etc/inittab, /etc/init/*.conf. Systemd: systemd, CentOS 7,配置文件: /usr/lib/

CentOS 5,6 系统启动流程详解

一.linux 组成介绍 1.linux 组成: Linux: kernel+rootfs(根文件系统) kernel: 进程管理.内存管理.网络管理.驱动程序.文件系统.安全功能 rootfs: 程序和glibc 库:函数集合, function, 调用接口(头文件负责描述) 过程调用: procedure,无返回值 函数调用: function 程序:二进制执行文件 2.内核设计流派: 单内核(monolithic kernel): Linux 把所有功能集成于同一个程序 微内核(micro

linux基础学习第十九天-系统启动流程(cenots6)以及配置系统服务(chkconfig)

内容:   CentOS 的启动流程   服务管理(chkconfig)   手动制定系统开机服务脚本 一.centos6系统启动流程 综述过程: POST-->BIOS(Boot Sequence)-->MBR(grub,446)-->Kernel-->initramfs(虚根文件)-->(ROOTFS)/sbin/init(/etc/inittab) 步骤详解: 1.POST: POST:Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分.负责完

马哥教育第十三天系统启动流程、grub、模块、bash函数

kernel的功能:进程管理.文件系统.硬件驱动.内存管理.安全功能:SELinux.网络子系统,标准库:glibc 进程是运行在cpu上但用户进程受控于内核,用户进程需要完成特权指令时将触发软中断由用户模式转为内核模式,由内核代为执行特权指令并把结果返回给用户进程. Linux为单内核体系结构但是它支持模块化,模块还可以动态装载或卸载,Linux内核:核心 + 外围模块 核心:/boot/vmlinux-VERSION-release 模块:/lib/modules/VERSION-relea

Linux系统启动流程分析

作者:郭孝星 微博:郭孝星的新浪微博 邮箱:[email protected] 博客:http://blog.csdn.net/allenwells Github:https://github.com/AllenWells 一 系统上电和启动ROM NOR Flash作为启动ROM的系统启动过程 NOR Flash开头处存放启动代码,程序从NOR Flash開始处启动. 配置EMI寄存器,设置好各存储器的地址和存取规则. 配置电源管理模块.各模块上电. 启动代码将位于NOR Flash中的正式运

Linux系统启动流程与内管管理(上)

在讲linux系统启动流程之前,来讲讲linux的组成,这样能能帮助我们深入了解系统的启动流程,废话不多说直接上系统启动流程图 linux组成 linux:kernel+rootfs kenrel的作用:进程管理.内存管理.网络管理.驱动程序.文件系统.安全管理等 rootfs:程序和glibc 库:函数结合,function,调用接口(头文件负责传输) 过程调用:procedure,无返回值 函数调用:function 程序:二进制执行文件 内核设计流派 单内核:把所有功能集成与一个程序 如:

Linux【NO.7】:系统启动流程

推荐连接: Linux[NO.7]:系统启动流程 必备知识点 Linux系统的组成部分 动态视角:内核+根文件系统 功能组成结构视角:硬件.内核(管理整个硬件功能).库(库调用:libcall).程序(特别的接口程序shell) 内核:进程管理.内存管理.网络协议栈.文件系统.驱动程序.安全功能 IPC:Inter Process Communication进程通信 运行中的系统环境可分为两层 用户空间:应用程序(进程或线程) 内核空间:内核代码(系统调用) 内核设计流派 单内核设计:把所有功能

【Android 系统开发】 Android 系统启动流程简介

Android 系统启动总结 : Android 系统启动分底层 Linux 内核启动 和 应用系统启动; -- 底层系统启动 : 系统上电, bootloader 启动, linux kernel 启动, init 进程启动; -- 应用系统启动 : init 进程启动关键的进程如 Zygote 进程 和 System Server 等系统服务, 之后进入 Home 界面; 一. Android 底层系统启动流程(Bootloader Kernel init) 1. 系统上电 执行 ROM 引

Android系统启动流程分析

随着Android版本的升级,aosp项目中的代码也有了些变化,本文基于Android 7.0分析Android系统启动流程. 简单来说Android系统启动大体如下: init进程 和所有Linux系统一样,Android系统的启动同样是从init进程启动.init进程会解析init.rc文件(关于init.rc中的语法,可以参见我之前写的深入分析AIL语言及init.rc文件),加载相关目录,并启动相关服务 init进程在/system/core/init/init.c init.rc文件在