The System Boot Process Explained:https://www.webopedia.com/DidYouKnow/Hardware_Software/BootProcess.asp

操作系统是怎么启动的?
BootLoader是在操作系统内核运行之前运行;->初始化硬件设备、建立内存空间映射图、将系统软硬件环境带到一个合适的状态;
BootLoader是基于特定硬件平台来实现的;不同的处理器架构有不同的Bootloader;虽然BootLoader有差异性,也有共性;
BootLoaser严重依赖硬件实现的;

操作模式:1、自启动
        2、交互模式

BootLoader启动过程:(主要分为两个阶段)
一、依赖于包含CPU体系结构硬件初始化的代码;通常用汇编语言来实现;
1、基本硬件设备初始化(屏蔽所有中断、关闭处理器内存指令/数据cache等);
2、为第二阶段准备RAM空间;
3、从某个固态存储媒质中,复制Bootloader第二阶段的代码到RAM中;
4、设置堆栈;

二、C语言完成,更复杂的功能,可读性和可移植性会更好:
初始化本阶段要用到的硬件设备;
检测系统内存映射;
将内核映像和根文件系统映像从Flash读到RAM;
为内核设置启动参数;
调用内核(跳转到内核的main函数)

嵌入式Linux系统从软件角度其运行可以分成四个层次:
1、引导加载程序
2、Linux内核
3、文件系统
4、用户应用程序

FreeNOS学习2——操作系统是如何启动的的更多相关文章

  1. FreeNOS学习1——系统安装和使用

    官网安装教程:http://www.freenos.org/doxygen/index.html 整体思路:在Ubuntu操作系统下,安装qemu虚拟机,然后用虚拟机运行FreeNOS的镜像.以下是详 ...

  2. Linux第二周学习总结——操作系统是如何工作的

    第二周学习总结--操作系统是如何工作的 作者:刘浩晨 [原创作品转载请注明出处] <Linux内核分析>MOOC课程http://mooc.study.163.com/course/UST ...

  3. (转)redis 学习笔记(1)-编译、启动、停止

    redis 学习笔记(1)-编译.启动.停止   一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先 ...

  4. Windows phone 8 学习笔记(4) 应用的启动

    原文:Windows phone 8 学习笔记(4) 应用的启动 Windows phone 8 的应用除了可以直接从开始菜单以及应用列表中打开外,还可以通过其他的方式打开.照片中心.音乐+视频中心提 ...

  5. springboot 学习之路 9 (项目启动后就执行特定方法)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  6. LINUX内核分析第二周学习总结——操作系统是如何工作的

    LINUX内核分析第二周学习总结——操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...

  7. zookeeper学习(零)_安装与启动

    zookeeper学习(零)_安装与启动 最近换了新的电脑,终于买了梦寐以求的macbook.最近也换了新的公司,公司技术栈用到了zookeeper.当然自己也要安装学习下.省的渣渣的我,被鄙视就麻烦 ...

  8. Linux操作系统之更改启动菜单的背景图实战案例

    Linux操作系统之更改启动菜单的背景图实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.制作图像并上传到服务器 1>.使用window 10操作系统自带的画图工具 ...

  9. CCNA学习笔记(1) IOS操作系统 路由器 交换机 启动 自检 以及部分命令

    注意:以下内容是以思科为学习环境 IOS操作系统启动: 路由和交换机和个人电脑启动没有区别,都会发送新号表示启动状态,也会进入系统自检.只得注意的是:1.一长两短的响声是显卡报警. 2.一声长鸣是内存 ...

随机推荐

  1. springboot thymeleaf【转】【补】

    thymeleaf模板 https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html 1.引入thymeleaf依赖 <!-- ...

  2. LeetCode112 Path Sum

    Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...

  3. 日志 5.27 关于AssetBundle

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zxsean/article/details/27228783 大概日志就这么写的吧.没什么太专业的东 ...

  4. @总结 - 12@ burnside引理与pólya定理

    目录 @0 - 参考资料@ @1 - 问题引入@ @2 - burnside引理@ @3 - pólya定理@ @4 - pólya定理的生成函数形式@ @0 - 参考资料@ 博客1 @1 - 问题引 ...

  5. H3C 使用命令视图

  6. @COCI 2016/2017 Round 3@ Meksikanac

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 在平面直角坐标系中,给定一个左下角为 (0, 0),右上角为 ( ...

  7. theadClasses设置Bootstrap Table表头样式

    通过theadClasses属性设置表头样式. thead-light设置灰色背景 //bootstrap table初始化数据 itxst.com $('#table').bootstrapTabl ...

  8. vue+vant 购物车的全选和反选

    https://blog.csdn.net/wjswangjinsheng/article/details/91392694

  9. Python--day21--异常处理

    初识try: except -->异常处理 万能异常的用法:except Exception as error:

  10. [全+转载] solaris 网络配置

    ===================== 较为重要的几个文件: /etc/nodename                      主机名(即 hostname命令的输出) /etc/defaul ...