zoukankan      html  css  js  c++  java
  • linux 启动过程分析

    - 实模式只有 1MB 内存寻址空间(X86)
    - 加电, 重置 CS 为 0xFFFF , IP 为 0x0000, 对应 BIOS 程序
    - 0xF0000-0xFFFFF 映射到 BIOS 程序(存储在ROM中), BIOS 做以下三件事:
    - 检查硬件
    - 提供基本输入(中断)输出(显存映射)服务
    - 加载 MBR 到内存(0x7c00)
    - MRB: 启动盘第一个扇区(512B, 由 Grub2 写入 boot.img 镜像)
    - boot.img 加载 Grub2 的 core.img 镜像
    - core.img 包括 diskroot.img, lzma_decompress.img, kernel.img 以及其他模块
    - boot.img 先加载运行 diskroot.img, 再由 diskroot.img 加载 core.img 的其他内容
    - diskroot.img 解压运行 lzma_compress.img, 由lzma_compress.img 切换到保护模式

    -----------

    - 切换到保护模式需要做以下三件事:
    - 启用分段, 辅助进程管理
    - 启动分页, 辅助内存管理
    - 打开其他地址线
    - lzma_compress.img 解压运行 grub 内核 kernel.img, kernel.img 做以下四件事:
    - 解析 grub.conf 文件
    - 选择操作系统
    - 例如选择 linux16, 会先读取内核头部数据进行检查, 检查通过后加载完整系统内核
    - 启动系统内核
  • 相关阅读:
    python3读取chrome浏览器cookies
    python3 reqeuests给OSC全站用户刷积分
    批处理与python代码混合编程的实现方法
    python3 使用pyperclip读写剪贴板(windows)
    python3使用requests登录人人影视网站
    Flask form
    Flask session
    Flask 目录
    flask 源码剖析
    单例模式
  • 原文地址:https://www.cnblogs.com/w3liu/p/13423566.html
Copyright © 2011-2022 走看看