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

  • 相关阅读:
    mybatis入门-1
    try-with-resources 在捕获异常之后自动释放资源 try(){}
    mybatis配置logback
    使用原生的jdbc连接数据库进行查询
    java中的反射
    ajax实现搜索自动补全
    java IO-1 File 2019-07-24
    VMware历史版本
    Centos8.3-NIS
    用户管理
  • 原文地址:https://www.cnblogs.com/grooovvve/p/11407877.html
Copyright © 2011-2022 走看看