美文网首页
Linux开机启动(一):BIOS启动

Linux开机启动(一):BIOS启动

作者: yanyuanfen | 来源:发表于2018-10-15 22:25 被阅读14次

本文参考 《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》(新设计团队著)

        BIOS程序被固化在计算机主机板上的ROM芯片里。设计成加电即进入16位实模式状态运行。同时,还有一点非常关键的是,将CPU硬件逻辑设计为加电瞬间强行将CS的值置0xF000、IP的值置为0xFFF0,这样CS:IP就指向0xFFFF0这个地址位置。

        这是一个纯硬件完成的动作!BIOS程序的入口地址恰恰就是0xFFFF0,即BIOS程序第一条指令就设计在这个位置。

        BIOS程序在内存最开始的位置(0x00000)用1KB的内在空间(0x0000 - 0x003FF)构建中断向量表,在紧挨着它的位置用256字节的内存空间构建BIOS数据区(0x00400-0x004FF),并在大约57KB以后的位置(0x0E05B)加载了8KB左右的与中断向量表相应的若干中断服务程序。

        从现在开始,就要执行真正的boot操作了,即把软盘中的操作系统程序加载至内存。对于Linux0.11操作系统而言,计算机分三批逐次加载操作系统的内核代码。第一批由BIOS中断int 0x19把第一扇区bootsect的内容加载到内存;第二批、第三批在bootsect的指挥下, 分别把其后的4个扇区和随后的240个扇区的内容加载到内存中。

相关文章

  • Linux开机启动(一):BIOS启动

    本文参考 《Linux内核设计的艺术:图解Linux操作系统架构设计与实现原理》(新设计团队著) BIOS...

  • Linux 启动过程

    1,内核引导 bios开机自检,按照其上设置的启动设备来启动,启动设备上的grub程序开始引导linux.linu...

  • Linux

    Linux开机启动流程 加载BIOS 读取MBR Boot Loader/GRUB 加载kernel init R...

  • linux开机启动过程

    仅供个人参考 概述 Linux 的开机引导和启动过程: BIOS(Basic Input / Output Sys...

  • 常用命令

    、linux启动过程 开启电源 --> BIOS开机自检 --> 引导程序lilo或grub--> 内核的引导(k...

  • linux系统启动流程

    linux(CentOS6)系统启动流程说明(重点) 开机BIOS自检 读MBR引导 加载GRUB菜单 加载内核(...

  • 安装 Windows 虚拟机 Time Out EFI Netw

    我记得应该是选择 BIOS 启动,要是 UEFI 的话可能出现这个情况 要么选择 BIOS 启动 要么开机时,在 ...

  • Linux(18)系统启动详解

    系统启动流程 BIOS 开机后BIOS启动进行一些自检 MBR:Boot Code 磁盘分区,同时包含了引导代...

  • Linux 知识总结3

    Linux 开机启动过程? 1、主机加电自检,加载 BIOS 硬件信息。 2、读取 MBR 的引导文件(GRU...

  • 第八节、linux相关系统的面试题目

    一、系统的开机启动流程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息...

网友评论

      本文标题:Linux开机启动(一):BIOS启动

      本文链接:https://www.haomeiwen.com/subject/dfztzftx.html