本文内容很短,主要为方便梳理知识而写。本文站在linux系统平台启动的完整周期的角度出发,描述其整个的启动周期。

一、开篇

linux系统平台完整的启动周期大致可分为四个阶段:

(1)引导加载程序

当系统(硬件和软件组成的完整系统)上电后,引导加载程序立刻会获得整个系统的控制权,一般引导加载程序存储在系统的非易失性内存(闪存或ROM)中。引导加载程序主要用于处理器底层的初始化、linux系统镜像的加载和系统诊断。然后会将系统的控制权转交给linux操作系统。

(2)启动加载程序

启动加载程序(见《【linux kernel】启动加载程序的总结》)在linux编译构建过程中,会被拼接到linux内核镜像中,形成最终的linux内核镜像。启动加载程序主要用于:创建合适的linux运行环境,解压并重新部署linux内核,并将控制权转交给linux内核的入口(head)。小生将此过程称之为linux启动的前半程

(3)start_kernel()

启动加载程序的一个重要功能就是,将系统的控制权转交给linux内核的入口(head)(见《【linux kernel】linux内核入口:head.o》),在入口模块中,会调用linux内核的启动主线函数start_kernel()。此后,linux内核就完整运行起来了。小生将由start_kernel()代表的后续启动过程称为linux启动的后半程

(4)根文件系统

在linux内核启动的后半程,会尝试挂载用户指定的根文件系统。最终形成一个完整的linux内核启动周期的闭环。根文件系统部分的内容可见以下三篇文章:
1、《【linux kernel】挂载根文件系统之rootfs》
2、《【linux kernel】linux内核如何挂载根文件系统》
3、《【linux kernel】mount系统调用剖析》

二、结尾

搭载linux内核的系统平台的完整启动周期可以用下图来表示:


搜索关注【嵌入式小生】wx公众号获取更多精彩内容>>>>

【linux】一文总结linux系统平台完整的启动周期相关推荐

  1. 红旗linux培训文档,Linux基本应用培训-红旗Linux.ppt

    Linux基本应用培训-红旗Linux 红旗Linux应用技术 Traing Dept. Huai Jinyang 硬盘分区技术 IDE设备: /dev/hdx SCSI设备: /dev/sdx 最多 ...

  2. linux系统内核文百科,Linux之内核中的文件系统 -电脑资料

    文件描述符 一般说起文件和文件系统的时候,都会下意识的想到它们存在于磁盘上,管理各种文件呢?即运行时文件系统在内核中的表示. 我们知道,进程是操作系统分配资源的基本单位,文件也是在进程中被处理的.比如 ...

  3. linux高级文档,linux高级文件数据操作

    cat :显示切割数据 -f:选择显示切割列: -s:比现实没有分割的行 -d:自定义分隔符 cut -d '  '-f 1,3  a.txt : 以空格为分隔符显示第一列和第三列:这种情况不能分隔的 ...

  4. step by step 构建嵌入式Linux系统平台

    前些日子写的一些文章,大家可以看看... 为了适应目前嵌入式系统操作平台在性能.成本.可靠性等各方面的要求,论述了以Linux作为操作系统平台的优势,分析了以PC104卡和CompactFlash卡构 ...

  5. linux sleeping进程多_一文掌握Linux实战技能系统管理篇

    linux 安装包-yum 的使用 linux 进程管理 ps pstree top 指令的使用 linux 进程之间的通信 linux 守护进程 linux 内存以及硬盘使用查看 linux 防火墙 ...

  6. linux小型游戏系统设计,Linux平台下基于JAVA小游戏_设计文档.doc

    Linux课程设计报告 课题名称:<Linux平台下基于java小游戏设计> 专 业:2011级计算机科学与技术 组 长:043佘清泉 组 员:007陈威达 008陈学仁 026赖华标 0 ...

  7. 深度实践嵌入式linux系,深度实践嵌入式Linux系统移植 完整pdf_操作系统教程_源雷技术空间...

    资源名称:深度实践嵌入式Linux系统移植 完整pdf 第1章嵌入式系统架构与移植环境搭建2 第2章u-boot工程与编译系统14 第3章u-boot启动流程分析41 第4章ARM9/S3C2440 ...

  8. linux是专业的gis系统,首款支持红旗Linux操作系统的GIS基础平台问世

    由国家"863"信息获取与处理技术主题资助的"面向网络海量空间信息的大型GIS"项目,自2002年1月启动以来,在资源与环境信息系统国家重点实验室的主持下,联合 ...

  9. linux复现数据库,基于嵌入式Linux系统平台并可应用于监控组态软件实时数据库的设计方案详解...

    1 引言 实时数据库(real-me database, RTDB)作为组态软件设计与实现的核心内容解决了其所 应对的现代工业生产现场环境中生产数据与控制数据类型复杂多样,数据处理与事件调度时 间约束 ...

最新文章

  1. 2017年中国自动驾驶最全产业研究报告 99页
  2. 指定域的名称或安全标识(SID)与该域的信任信息不一致.
  3. 帝国cms75商城包含电脑端手机端h5微信小程序的界面功能演示
  4. mac下MongoDB数据库安装
  5. java 解析csv 乱码_Java采用opencsv解析csv文件以及解析中文乱码问题
  6. c语言 异或_编程入门:C语言基础知识全网超全不用到处找了!(文末附清单)
  7. OrionX Panel for Mac(ps摄影自动化工作流插件)支持ps2021 big sur11 汉化版
  8. C++ opengl 纹理过滤之GL_NEAREST
  9. Struts2知识点总结大全
  10. CentOS系统Tomcat 8.5/9部署SSL证书
  11. 解析接口中的JSON数据
  12. 用xslt 把xml转换成html的几个实例(1)
  13. 2017-本命年总结
  14. 双线性映射(密码学常用算法)
  15. 潮流能模型matlab,基于matlab的yalmip最优潮流建模的Infeasible problem
  16. matlab 短时傅立叶变换,Matlab中短时傅里叶变换 spectrogram和stft的用法
  17. linux进程间通信——netlink
  18. 酒店管理系统——界面设计
  19. 二级下拉菜单布局(纵向、横向)
  20. 现代互联网的TCP拥塞控制(CC)算法评谈

热门文章

  1. 【自用】华南师范大学918c++程序设计选填错题
  2. 【机器学习实战】第7章 集成方法 ensemble method
  3. pytorch转caffe的一些经历
  4. 算法 二叉树 BST树
  5. 2017-2018 CTU Open Contest
  6. 【ManageEngine卓豪】移动终端管理解决方案,助力中州航空产业数字化转型
  7. 谷歌要求员工少讨论政治
  8. android EasyLink给wifi模块配网
  9. 快速集成融云SDK– Android Studio
  10. RNN语音分类-普通话广东话分类