From book: После включения питания CPU
загрузите BIOS
, постройте таблицу векторов прерываний и запустите процедуры обслуживания прерываний в режиме реального адреса. К BIOS
, CPU
получает INT 0x19
. ISR
INT 0x19
загружает первый сектор (512B) в память. Этот сектор является загрузочной частью Linux, которая загружает другие части ОС в память.Загрузка ядра ОС Linux из BIOS
Первый сектор: bootsect.s
, который написан на сборке. Это первый системный код, который загружается в память. Я сомневаюсь, что инструкции по сборке загружены или скомпилированы машинные инструкции загружены в память. Есть ли у BIOS собственный assembler
для преобразования сборки в машинные инструкции?
Тогда я не смог бы загрузить двоичный файл, скомпилированный для 'x86' на' arm'. Поддерживает ли BIOS какую-либо независимую загрузку платформы? –
Нет. Почему вы ожидаете чего-то «независимого от платформы» в BIOS? Это самый базовый уровень, полностью зависящий от аппаратного обеспечения и т. Д. – i486
Manav: INT - это инструкция x86, и поэтому большая часть BIOS. Концепция BIOS - это PC/x86 (16-разрядная с 32-разрядными и 64-разрядными итерациями). –