bios的功能是什么?
what is the functionality of bios?
我对引导加载程序有一些了解,但我必须知道 bios 代码如何跳转到引导加载程序以及它何时初始化 I/O 设备以及 bios 有哪些功能?
BIOS 是否负责 select 引导扇区以及它如何 select 引导扇区?
另外请告知重置向量如何直接指向bios区域?
I am having some knowledge on boot-loader but i have to know how bios code jumps to boot-loader
从硬盘启动时,BIOS 从硬盘第一个扇区的主引导记录中读取引导加载程序,并将其加载到内存中 0000:7C00(或可能 07C0:0000 -- in real mode, these refer to the same address).
and when does it initialize the I/O devices and what are the functionality does the bios does ?
Minimal Intel Architecture Boot Loader 简要概述了 BIOS 在初始化系统时执行的基本功能。推荐的初始化顺序中的主要要点如下:
Power-Up (Reset Vector) Handling
Mode Selection
Preparation for Memory Initialization
Memory Initialization
Post Memory Initialization
Miscellaneous Platform Enabling
Interrupt Enabling
Processor Interrupt Modes
Interrupt Vector Table (IVT)
Interrupt Descriptor Table (IDT)
Timers
Memory Caching Control
Processor Discovery and Initialization
I/O Devices
PCI Device Discovery
Booting a Legacy OS
Memory Map
Non-Volatile (NV) Storage
注意:Memory Map 和 Non-Volatile Storage 部分在 Booting a 之后的大纲中列出遗留 OS 部分,但如文档中所述,正如您所期望的那样,映射系统内存发生在移交给引导加载程序并引导 OS 之前。此外,一些对非易失性存储器的访问也会在 BIOS 初始化期间发生。 (例如,BIOS 可以读取存储在 CMOS 中的设置以确定主引导设备)
and is bios responsible for selecting the boot sector and how will it select the boot sector?
BIOS根据设备类型定位引导扇区。
In most circumstances (except for CDs/DVDs) the bootsector will be LBA 0 of the device (or equivalently, CHS 0,0,1) -- see the specs of the particular device to find out what addressing mode it uses. For CDs/DVDs, the bootsector is LBA 17.
有关详细信息,请参阅 OSDev.
上的 the quoted article
and also please inform me how the reset vector will directly point to bios region ?
CPU就是这样设计的。在复位信号有效时,CPU 设置其寄存器,包括指向已知值的指令指针。例如,on most x86 systems, this is FFFFFFF0h, and this address maps into the BIOS ROM. This answer 提供了更详尽的解释。
我对引导加载程序有一些了解,但我必须知道 bios 代码如何跳转到引导加载程序以及它何时初始化 I/O 设备以及 bios 有哪些功能?
BIOS 是否负责 select 引导扇区以及它如何 select 引导扇区?
另外请告知重置向量如何直接指向bios区域?
I am having some knowledge on boot-loader but i have to know how bios code jumps to boot-loader
从硬盘启动时,BIOS 从硬盘第一个扇区的主引导记录中读取引导加载程序,并将其加载到内存中 0000:7C00(或可能 07C0:0000 -- in real mode, these refer to the same address).
and when does it initialize the I/O devices and what are the functionality does the bios does ?
Minimal Intel Architecture Boot Loader 简要概述了 BIOS 在初始化系统时执行的基本功能。推荐的初始化顺序中的主要要点如下:
Power-Up (Reset Vector) Handling
Mode Selection
Preparation for Memory Initialization
Memory Initialization
Post Memory Initialization
Miscellaneous Platform Enabling
Interrupt Enabling
Processor Interrupt Modes
Interrupt Vector Table (IVT)
Interrupt Descriptor Table (IDT)
Timers
Memory Caching Control
Processor Discovery and Initialization
I/O Devices
PCI Device Discovery
Booting a Legacy OS
Memory Map
Non-Volatile (NV) Storage
注意:Memory Map 和 Non-Volatile Storage 部分在 Booting a 之后的大纲中列出遗留 OS 部分,但如文档中所述,正如您所期望的那样,映射系统内存发生在移交给引导加载程序并引导 OS 之前。此外,一些对非易失性存储器的访问也会在 BIOS 初始化期间发生。 (例如,BIOS 可以读取存储在 CMOS 中的设置以确定主引导设备)
and is bios responsible for selecting the boot sector and how will it select the boot sector?
BIOS根据设备类型定位引导扇区。
In most circumstances (except for CDs/DVDs) the bootsector will be LBA 0 of the device (or equivalently, CHS 0,0,1) -- see the specs of the particular device to find out what addressing mode it uses. For CDs/DVDs, the bootsector is LBA 17.
有关详细信息,请参阅 OSDev.
上的 the quoted articleand also please inform me how the reset vector will directly point to bios region ?
CPU就是这样设计的。在复位信号有效时,CPU 设置其寄存器,包括指向已知值的指令指针。例如,on most x86 systems, this is FFFFFFF0h, and this address maps into the BIOS ROM. This answer 提供了更详尽的解释。