Почему компьютеры не начинают загружать ОС раньше в процессе загрузки?

3

Я читал статью, на которую ссылались на меня из другого потока о процессе загрузки ОС Windows, и во время чтения я не мог не задаться вопросом -

Когда компьютер включается, почему он не может начать загрузку ОС раньше в процессе загрузки?

Что касается постепенного развертывания процессов загрузки компьютера при включении питания -> ОС, почему в процессе загрузки приходится прыгать так много «скачков»? Кажется, что BIOS должен указывать на это местоположение, это местоположение может затем прочитать это местоположение, это местоположение может затем загрузить это местоположение, это местоположение запускает это, чтобы загрузить это местоположение и т. Д., Постепенно увеличивая и повышая уровень. Даже при доступе к жесткому диску кажется, что существует множество воплощений «драйверов», которые необходимо использовать, пока драйверы самого высокого уровня в ОС не смогут вступить во владение.

Я могу в некотором роде понять, почему безжизненному механизму необходимо переходить от беспомощной, очень низкоуровневой функциональности и подниматься по лестнице к более высокой функциональности (с аналогиями, такими как необходимость запуска на пониженных передачах для повышения скорости до более высокой механизмы), но что касается компьютеров, я не особенно понимаю особенности того, почему это не может быть сделано за меньшее количество «обручей». Я предполагаю, что это большая часть того, для чего нужен переход BIOS-> UEFI - высокоуровневый посредник между бессильным низкоуровневым оборудованием и высокопроизводительными возможностями ОС ...?

Я думаю, что могу уловить дрейф по аналогии, но если кто-то может предоставить конкретную информацию, это будет высоко ценится.

Coldblackice
источник
1
Он загружает загрузчик так быстро, как может. Мы уже почти мгновенно загружаемся с Windows 8 и устройствами ssd
Ramhound
2
Я думаю, что многие из этих слоев начинаются с низкого уровня и очень совместимы с вещами в целом. Затем перейдем к более сложному и «быстрому» и заполненному функционалу и все. Я бы не хотел, чтобы все было по-другому, потому что, когда вещи не работают правильно, вещи все еще «работают», что намного лучше, чем они не могут работать, пока все не работает вместе и правильно.
Psycogeek
Взгляните на этот канал9.msdn.com/Shows/Going+Deep/…
Дэвид Маршалл
@Ramhound Это все еще прыгает через все эти обручи. Просто прыгает через них быстрее сейчас.
Milind R

Ответы:

1

Потому что ваша ОС хранится на диске.

Вы должны прочитать это и поместить в память. Взаимодействовать с оборудованием не легко. Взаимодействовать с ними с высокой производительностью сложно . Таким образом, вы делаете это неловко и медленно с помощью сервисов BIOS, затем загружаете свои собственные драйверы для доступа к диску, а затем настраиваете все остальное содержимое вашей ОС в памяти. Тем временем вам НУЖЕН дисплей, чтобы увидеть, что происходит, и устранить любые проблемы. Так что для этого вам нужно использовать сервисы BIOS. То же самое для клавиатуры. И сеть, если вы хотите загрузиться с установочного образа в сети. И контроллер SCSI, если ваш загрузочный диск подключен к нему. И ваш CD / DVD привод, если вы хотите загрузиться с него. И так далее....

Если бы был способ напрямую поместить ядро ​​+ драйверы в память, то загрузка немедленно стала бы реликвией. И этот день не за горами, так как у нас теперь энергонезависимая оперативная память .

С UEFI у нас есть более стандартная платформа для построения. Нетрудно иметь энергонезависимую оперативную память в первом слоте и обычную DDR SDRAM во всех остальных. Процессор может быть перенаправлен в любую область памяти для выполнения встроенным программным обеспечением. Код инициализации ядра может храниться в определенном месте. Вся установка регистров, прерываний и драйверов займет долю секунды, если она уже находится в памяти.

Я жду этого дня.

Milind R
источник