总览:

在linux系统软件架构可以分为4个层次(从低到高分别为):
 
1.引导加载程序
        引导加载程序(Bootloader)是固化在硬件Flash中的一段引导代码,用于完成硬件的一些基本配置,引导内核启动。
        同时,Bootloader会在自身与内核分区之间存放一些可设置的参数(Boot parameters),比如IP地址,串口波特率,要传递给内核的命令行参数。
 
2.系统内核
        系统内核(Kernel)是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制、是否支持LVM或Quota等文件系统等等,如果内核不认识某个最新的硬件,那么硬件也就无法被驱动,你也就无法使用该硬件。计算机真正工作的东西其实是硬件,例如数值运算要使用到CPU、数据储存要使用到硬盘、图形显示会用到显示适配器、音乐发声要有音效芯片、连接Internet 可能需要网络卡等等。内核就是控制这些芯片如何工作。
 
3.文件系统
        Linux文件系统(File System)中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
        文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
 
4.用户程序
        用户应用程序(Application)为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序。
 
 

Linux启动过程

正常启动过程中,Bootloader首先运行,然后将内核复制到内存中(或者在固态存储设备上直接运行,但是效率较低),并在内存某个固定的地址(包括地址与参数的结构)设置好要传递给内核的参数,最后运行内核。内核启动后,挂载(mount)根文件系统(Root filesystem),启动文件系统中的应用程序。
 
上电 ——> Bootloader —[传递参数]—> 加载内核 ——> 内核挂载根文件系统 ——>执行应用程序
 
aaarticlea/png;base64,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" alt="" width="498" />
 
 

如何理解Bootloader与Kernel

操作系统内核本身就是一个裸机程序,和我们学的uboot和其他裸机程序没有本质的区别;事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序。如果我们去琢磨U-Boot源码的注释,便会轻易的发现这一情况。
 
区别就是操作系统运行起来后可以分为应用层(用户态)和内核层(内核态),分层后,两层的权限不同(实现的原理是基于CPU的模式切换),内存访问和设备操作的管理上更加精细(内核可以随便方位各种硬件,而应用程序只能被限制的访问硬件和内存地址)。
以ARM处理器为例,除用户模式外,其余6种工作模式都属于特权模式:

用户模式(USR):正常程序执行模式,不能直接切换到其他模式
系统模式(SYS):运行操作系统的特权任务,与用户模式类似,但具有可以直接切换到其他模式等特权
快中断模式(FIQ):支持高速数据传输及通道处理,FIQ异常响应时进入此模式
中断模式(IRQ):用于通用中断处理,IRQ异常响应时进入此模式
管理模式(SVC):操作系统保护模式,系统复位和软件中断响应时进入此模式(由系统调用执行软中断SWI命令触发)
中止模式(ABT):用于支持虚拟内存和/或存储器保护,在ARM7TDMI没有大用处
未定义模式(UND):支持硬件协处理器的软件仿真,未定义指令异常响应时进入此模式 Linux内核态是从ARM的SVC即管理模式下启动的,但在某些情况下、如:硬件中断、程序异常(被动)等情况下进入ARM的其他特权模式,这时仍然可以进入内核态(因为就是可以操作内核了);同样,Linux用户态是从ARM用户模式启动的,但当进入ARM系统模式时、仍然可以操作Linux用户态程序(进入用户态,如init进程的启动过程)。
即:Linux内核从ARM的SVC模式下启动,但内核态不仅仅指ARM的SVC模式(还包括可以访问内核空间的所有ARM模式);Linux用户程序从ARM的用户模式启动,但用户态不仅仅指ARM的用户模式。
直观来看:uboot的镜像是u-boot.bin,Linux系统的镜像是zImage,这两个东西其实都是裸机程序镜像。从系统启动的角度来讲,内核和uboot都是裸机程序。
 
 

文件系统

概念

Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。这种机制有利于用户和操作系统的交互。
尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件
 

虚拟文件系统、根文件系统和文件系统

VFS:

Linux支持多种文件系统类型,因为它将底层与应用层分隔开;而提供统一的接口支持应用层对于不同实现的文件系统的访问,这个统一的接口称为虚拟文件系统VFS。
kernel中以VFS去支持各种文件系统,如yaffs,ext3,cramfs等等。yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。在内核中以VFS来屏蔽各种文件系统的接口不同,以VFS向kernel提供一个统一的接口。

根文件系统:

文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。以“/”为顶级目录的文件系统称为根文件系统。
Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。系统正常挂载根文件系统之后可以自动或手动挂载其他的文件系统(根文件系统是其他文件的最终挂载点)。因此,一个系统中可以同时存在不同的文件系统。
也就是说:
根文件系统可以是任何kernel支持的文件系统类型(ext4,yaffs等)。
但它必须包含linux内核启动时所必需的文件(根文件系统必需存在的目录 /dev /bin /sbin 等等),不然系统启动会失败。
根文件系统是之所以有个根(/)字,是因为它是linux系统启动时挂载(mount,所谓挂载:就是在内存中创建一个虚拟的文件对应具体的存储空间分区的过程,挂载时不会保存信息,下次启动时得重新挂载)的第一个文件系统,启动完成后可以自动(配置etc/fstab)或者手动的方式将其它文件系统(分区)挂载到根文件系统中。

其他文件系统:

 不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为 RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk,initramfs, ramfs/tmpfs,ubifs等。
 
 

uboot与根文件系统的关系

早期的uboot没有分区的概念,uboot只知道应该将什么数据烧写到存储介质的什么区间中。
(也就是说,对于uboot来看,只有起始地址结束地址等,A~B地址放内核,C~D地址放文件系统,即:规定哪个地址区间放内核或者文件系统等)
 
虽然此后,uboot中渐渐也有了MTD等管理分区部分的功能。尽管如此,不影响我们的学习理解。

总结:

(以下是本人的理解)
cpu首先执行位于0地址的uboot,uboot启动以后初始化一些资源,告诉内核有关的参数并引导内核,内核通过事先添加对于某种文件系统类型的支持驱动(相当于一小段程序),读取uboot等boot loader在指定的区域烧写制作好的文件系统镜像,内核解析并挂载成根文件系统,并在此基础上,通过VFS再挂载不同的文件系统类型,完成启动以后,再去管理有关的资源(包括应用程序)
 
 
 

一文搞懂嵌入式uboot、kernel、文件系统的关系的更多相关文章

  1. 一文搞懂RAM、ROM、SDRAM、DRAM、DDR、flash等存储介质

    一文搞懂RAM.ROM.SDRAM.DRAM.DDR.flash等存储介质 存储介质基本分类:ROM和RAM RAM:随机访问存储器(Random Access Memory),易失性.是与CPU直接 ...

  2. 基础篇|一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

  3. 一文搞懂 Prometheus 的直方图

    原文链接:一文搞懂 Prometheus 的直方图 Prometheus 中提供了四种指标类型(参考:Prometheus 的指标类型),其中直方图(Histogram)和摘要(Summary)是最复 ...

  4. Web端即时通讯基础知识补课:一文搞懂跨域的所有问题!

    本文原作者: Wizey,作者博客:http://wenshixin.gitee.io,即时通讯网收录时有改动,感谢原作者的无私分享. 1.引言 典型的Web端即时通讯技术应用场景,主要有以下两种形式 ...

  5. 一文搞懂vim复制粘贴

    转载自本人独立博客https://liushiming.cn/2020/01/18/copy-and-paste-in-vim/ 概述 复制粘贴是文本编辑最常用的功能,但是在vim中复制粘贴还是有点麻 ...

  6. 三文搞懂学会Docker容器技术(中)

    接着上面一篇:三文搞懂学会Docker容器技术(上) 6,Docker容器 6.1 创建并启动容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] --na ...

  7. 三文搞懂学会Docker容器技术(下)

    接着上面一篇:三文搞懂学会Docker容器技术(上) 三文搞懂学会Docker容器技术(中) 7,Docker容器目录挂载 7.1 简介 容器目录挂载: 我们可以在创建容器的时候,将宿主机的目录与容器 ...

  8. 一文搞懂所有Java集合面试题

    Java集合 刚刚经历过秋招,看了大量的面经,顺便将常见的Java集合常考知识点总结了一下,并根据被问到的频率大致做了一个标注.一颗星表示知识点需要了解,被问到的频率不高,面试时起码能说个差不多.两颗 ...

  9. 一文搞懂 js 中的各种 for 循环的不同之处

    一文搞懂 js 中的各种 for 循环的不同之处 See the Pen for...in vs for...of by xgqfrms (@xgqfrms) on CodePen. for &quo ...

随机推荐

  1. Nut和nuTilda【翻译】

    翻译自:CFD-online 帖子地址:http://www.cfd-online.com/Forums/openfoam-solving/72176-nut-nutilda.html phile: ...

  2. linux服务器执行cd和ls等等命令都有卡顿现象问题记录

    一 执行命令free -gh 1. free 命令显示系统内存的使用情况,包括物理内存.交换内存(swap)和内核缓冲区内存. 2. -g 表示以G单位显示, -m以兆单位显示,    h会在数字后面 ...

  3. SpringCloud介绍及入门一

    springcloud是什么 基于spring boot实现的服务治理工具包,管理和协微服务 把别人的东西拿来组合在一起,形成各种组件 微服务协调者[service registtry注册中心 Eur ...

  4. 报错:Table 'sell.hibernate_sequence' doesn't exist

    错误信息:Table 'sell.hibernate_sequence' doesn't exist 错误原因:实体主键没有配置主键自增长 完整配置如下 /**主键id*/ @Id @Generate ...

  5. [转][C#]dll 引用

    本文转自:https://zhidao.baidu.com/question/1176198151354174139.html 首先,对应关系: C++ C#===================== ...

  6. JavaScript箭头函数(Lambda表达式)

    箭头函数也叫lambda表达式 据说其主要意图是定义轻量级的内联回调函数 栗有: 1 var arr = ["wei","ze","yang" ...

  7. 解析python 命令的-u参数

    在shell脚本中运行python 命令时后面加了-u 参数(python -u xx.py),这个-u表示什么? import sys sys.stdout.write("stdout1& ...

  8. vue.js 同级组件之间的值传递方法(uni-app通用)

    vue.js 兄弟组件之间的值传递方法 https://blog.csdn.net/jingtian678/article/details/81634149

  9. MHA集群搭建

    (1).简介 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开 ...

  10. Mysql常见索引介绍

    索引是一种特殊的文件,包含了对数据表中所有记录的引用指针.InnoDB引擎的数据库,其上的索引是表空间的一个组成部分. (1).索引的优缺点 优点:加快搜索速度,减少查询时间 缺点:索引是以文件的形式 ...