zoukankan      html  css  js  c++  java
  • FreeNOS学习2——操作系统是如何启动的

    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、用户应用程序

  • 相关阅读:
    c++实现执行脚本命令
    常用命令
    ssh2.cpp
    通过scp传输文件到多个主机
    启动和监控脚本
    centos 7.2 svn 安装
    SVN提交时必须填写备注信息 配置
    centos 7.2 配置mysql
    centos 7.2 配置Nginx
    js调试的时候用console.log("变量"+scrollTop+windowHeight)
  • 原文地址:https://www.cnblogs.com/grooovvve/p/11407877.html
Copyright © 2011-2022 走看看