`

linux系统启动过程概述

阅读更多
注:以下是对Centos6中运行“man boot”的大致描述(翻译水平有限,多多包涵^_^),其它分支或许稍有不同。

linux系统启动过程大致可分以下五个步骤:
1、硬件启动。
2、系统引导。
3、启动内核。
4、运行init进程。
5、调用启动脚本。

现在就让咱们一起来追寻一下这个过程吧!
一、硬件启动(注:没讨论网络启动的情况)
    在通电或硬件重置后,系统最先运行的程序叫做BIOS,它存储在ROM中,主要做一些基本的机器自检测和从某些固定内存中读取启动参数的工作。它会执行固定在启动设备上系统引导程序,并把控制权移交给它。

二、系统引导
    系统引导程序一般位于启动设备上的第一个扇区,通常叫做MBR(Master Boot Record),不过它的大小是有限制的(包括文件分区表才512个字节),所以还有第二个引导程序,linux上通常为 lilo 或者 grub。它们的主要工作就是定位到磁盘上的内核,加载并运行它,允许交互使用。

三、启动内核
    内核加载后,它就会初始化驱动设备,启动swapper内核进程,挂载根文件系统,最后通过/sbin/init程序创建第一个用户进程(PID=1)。

四、运行init进程
    init进程启动时首先读取/etc/inittab文件以确定系统运行级别,最后会调用启动脚本,开启对应的管理服务。

五、调用启动脚本
    每个管理服务都以启动脚本的形式存储在/etc/init.d目录中,为了方便启动/停止各个运行级别下所对应的服务,在目录/etc/rc[0-6S].d中包含了针对各运行级别下各服务的符号链接脚本,其中以S开头的代表start该服务,而已K开头的则为stop该服务。另外,为了更好的设置启动参数,linux提供了/etc/sysconfig目录,里面包含了各服务启动脚本所需的参数配置文件。
分享到:
评论

相关推荐

    ARM Linux启动过程分析

    1. ARM Linux 启动过程概述 ARM Linux 启动过程可以分为四个部分:引导加载程序(bootloader),Linux 内核,文件系统,应用程序。其中 bootloader 是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器...

    Linux系统启动过程.pdf

    Linux系统启动过程是一个复杂而有序的序列,涉及多个组件和步骤。以下是详细的解析: 1. **启动流程概述** - Linux系统的启动始于计算机加电,BIOS(基本输入输出系统)进行自检(POST,Power-On Self Test)并...

    Linux启动过程分析

    1. Linux 启动过程概述 Linux 启动过程可以分为四个部分:引导加载程序(bootloader),Linux 内核,文件系统,应用程序。其中,bootloader 是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,...

    linux 2.6.22启动过程分析

    通过对Linux 2.6.22内核启动过程的详细解析,我们可以看到,整个启动流程涉及到了硬件初始化、内存管理和子系统初始化等多个方面。每一步都至关重要,确保了内核能够高效稳定地运行。虽然2.6.22版本已不再是最新的,...

    嵌入式LINUX 系统开发概述

    ### 嵌入式Linux系统开发概述 #### 一、嵌入式系统基本概念与特点 **1.1 嵌入式系统定义** 嵌入式系统是指将计算机硬件和软件集成在一个或多个处理器上,形成一个专用的计算机系统,用于实现特定功能的产品或设备...

    linux2.4的启动过程

    ### Linux 2.4 内核启动过程详解 #### 概述 本文旨在详细解析 Linux 2.4 内核的启动过程,从内核获取主机硬件控制权的那一刻起,直到内核准备好运行用户进程为止。在此过程中,将涵盖 Linux 在启动时所期望的编程...

    嵌入式linux文件系统启动脚本及分析 linuxrc init shell busybox 分析

    嵌入式Linux系统启动过程中涉及多个关键脚本和配置文件,它们共同协作完成了从内核初始化到用户应用程序启动的全过程。通过对这些脚本和配置的理解,可以帮助开发者更好地定制和优化嵌入式Linux系统。

    LINUX系统第三章--启动系统.pdf

    ### Linux系统启动过程详解 #### 一、引言 在深入了解Linux系统启动的过程之前,我们需要对几个关键概念有所了解:首先是8086汇编语言的基础知识,这对于我们理解bootsect.s、setup.s以及head.s这三个核心启动文件...

    linux内核启动过程——基于S3C2410

    Linux内核启动过程是操作系统运行的关键环节,尤其在嵌入式系统中,如S3C2410这样的微处理器平台上,理解这一过程对于开发者来说至关重要。S3C2410是由Samsung公司设计的一款ARM920T架构的处理器,广泛应用于各种...

    linux系统启动流程分析.docx

    #### 一、启动过程概述 Linux系统的启动流程是一个复杂而精细的过程,从硬件的上电自检开始,直至用户能够看到登录界面,涉及多个步骤和技术细节。本文旨在深入剖析这一过程,帮助初学者理解Linux系统的启动机制。 ...

    Linux概述,包括 安装、启动和关闭Linux

    启动和关闭Linux系统,可以通过传统的BIOS或UEFI引导方式,也可以利用现代的系统管理工具如Systemd来控制。 总的来说,Linux是一个强大且灵活的操作系统,它提供了一种经济高效的选择,特别是在服务器、嵌入式系统...

    基于嵌入式Linux系统的Qt Quick应用启动优化.pdf

    目前,缩短Linux系统启动时间的技术手段主要包括待机、休眠、常规启动优化等。待机技术是将信息保存在RAM中并在待机时对RAM及相关芯片持续供电,以便在下次启动时将信息快速恢复,功耗较高。休眠技术是将系统和应用...

    ARM Linux启动过程分析.txt

    3. **文件系统挂载**:挂载根文件系统(Root Filesystem),这是Linux系统启动的关键步骤之一。 4. **进程管理初始化**:初始化进程管理机制,包括调度策略等。 5. **网络初始化**:如果系统支持网络功能,则会...

    arm_linux内核启动过程分析

    ### ARM Linux内核启动过程分析 #### 一、概述 ARM Linux内核启动过程是嵌入式系统开发中一个非常重要...理解这一过程有助于我们更好地掌握ARM Linux系统的启动机制,从而在实际开发中更加高效地进行系统调试和优化。

    Linux系统启动顺序

    ### Linux系统启动顺序详解 #### 一、启动过程概述 Linux系统的启动是一个复杂而有序的过程,涉及多个关键步骤。从硬件层面的BIOS初始化到操作系统内核的加载,再到最终用户界面的呈现,每一个环节都是必不可少的...

    ARM_Linux_启动过程分析

    ARM Linux 启动过程是一个复杂的系统工程,涉及硬件初始化、Bootloader配置、内核加载等多个环节。本文将深入剖析ARM Linux启动过程,重点讨论内核的加载方式以及内核入口等关键知识点。 #### 二、ARM Linux 内核的...

    linux启动过程分析及dns服务器毕业论文设计.doc

    其中,bootloader 是系统启动或复位以后执行的第一个代码,它主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。根文件...

    深入理解linux启动过程

    Linux系统的启动过程是一个复杂且精细的操作序列,从硬件的最底层启动,直至用户可以操作系统的高级应用程序。这一过程不仅涉及到硬件的初始化,还包括操作系统内核的加载与解压缩,以及初始化内存盘等关键步骤。...

    对HP ThinClient上Linux的启动过程进行速度优化.pdf

    【标题】: "对HP ThinClient上Linux的启动过程进行速度优化" 【描述】: 本文主要探讨如何优化HP ThinClient上运行的Linux系统的启动速度,通过深入分析启动流程,提出各个阶段的优化建议,并给出实际测试结果。 ...

Global site tag (gtag.js) - Google Analytics