Программное обеспечение BIOS встроено в ПК и является первым кодом, запускаемым ПК при включении («загрузка прошивки»). Когда компьютер запускается, первое задание для BIOS - это самопроверка при включении питания, которая инициализирует и идентифицирует системные устройства, такие как ЦП, ОЗУ, видеокарта, клавиатура и мышь, жесткий диск, привод оптических дисков и другое оборудование. Затем BIOS находит программное обеспечение загрузчика, хранящееся на периферийном устройстве (обозначаемом как «загрузочное устройство»), например на жестком диске или CD / DVD, и загружает и запускает это программное обеспечение, предоставляя ему контроль над ПК. [2] Этот процесс называется загрузкой или загрузкой, что означает сокращение для начальной загрузки.
Какие реквизиты определяют, что в компьютерной системе должен быть установлен BIOS?
Почему операционная система на самом деле не может работать в BIOS?
Ответы:
BIOS - это аппаратно-зависимый фрагмент кода, который хранится на самой материнской плате. Каждой отдельной материнской плате нужен собственный BIOS, написанный для нее, поэтому было бы невозможно иметь универсальный BIOS / OS «все в одном» (хотя BIOS технически представляет собой просто хранимый код, поэтому теоретически вы можете написать ОС для одной конкретной материнской платы). , Как вы упомянули, цель BIOS состоит в следующем:
Обратите внимание, что вы все равно можете запустить компьютер без какого-либо внешнего хранилища, поэтому BIOS является обязательным требованием для компьютера. Другими словами, BIOS предоставляет общий программный интерфейс, позволяющий хранимой компьютерной программе взаимодействовать с различными аппаратными устройствами, подключенными к материнской плате.
Например, если у меня две разные материнские платы с двумя разными контроллерами SATA, BIOS позволяет мне написать фрагмент кода, который может работать с обоими, без моего знания того, как материнская плата фактически отправляет команды на устройство SATA. Я просто должен сказать компьютеру «прочитать сектор X с этого устройства SATA», и BIOS отвечает за фактическую отправку этих команд аппаратному обеспечению.
Источником информации о «секторе чтения X» является хранимая программа, содержащаяся в BIOS, которая обычно указывает компьютеру начать чтение с загрузчика, хранящегося в общем месте. Эти общие местоположения согласованы различными разработчиками программного и аппаратного обеспечения и обычно предоставляются общественности для обеспечения большей совместимости между системами.
Как только базовый уровень взаимодействия (опять же, логический интерфейс через программное обеспечение) установлен, операционная система сама создает общий интерфейс с различными аппаратными устройствами (обычно с помощью «драйверов устройств»), и операционная система может управлять оборудованием.
Наконец, следует отметить, что BIOS также используется для внесения изменений в конфигурации аппаратного обеспечения компьютера и сохранения их во встроенной памяти EEPROM (поэтому ваш компьютер запоминает изменения при следующем запуске). Однако, как я уже говорил, после загрузки операционной системы она полностью контролирует компьютер.
Это позволяет производителям материнских плат разрабатывать программное обеспечение, позволяющее вам вносить эти изменения в вашей операционной системе, в отличие от необходимости перезагрузки в BIOS. Опять же, это очень зависит от аппаратного и программного обеспечения, но показывает, что все компьютерные интерфейсы являются относительными. BIOS - это именно то, что подразумевается под его названием - базовая система ввода / вывода, позволяющая использовать общий программный интерфейс для более продвинутой программы («операционной системы») для управления машиной.
источник
Ваша операционная система находится на вашем жестком диске, если вы включите компьютер, он волшебным образом не начнет читать с этого жесткого диска. Именно BIOS загружает загрузчик с жесткого диска , а также проводит некоторое тестирование и позволяет вам настраивать определенные параметры BIOS.
Ваша ОС не может этого сделать, потому что она находится на жестком диске, а не в вашем ПЗУ.
Следовательно, вам нужен BIOS или аналогичная (но другая) технология, такая как EFI ...
Возможно поместить часть ОС в ПЗУ (ответственную за загрузку загрузчика ОС) производителем; однако, это не широко применяется, и в любом случае есть BIOS или EFI.
источник
Нет реальной логической причины. Это больше вопрос наследия и истории.
Нет необходимости, чтобы на компьютере был установлен BIOS. Это наследие от IBM PC. Хотя это оказалось хорошей идеей
Если операционная система сделает это, это ничего не изменит, потому что она все равно будет делать то же, что и BIOS. Конечно, ОС должна быть в ПЗУ, а не на устройстве ввода-вывода. Проблема может возникнуть из-за монопольных проблем, когда сборщик ОС решает сделать свою ОС BIOS несовместимой с другими ОС. Отделение производителей BIOS от ОС улучшает свободу выбора программного обеспечения.
источник
Что-то требуется для запуска операционной системы. Если операционная система может уместиться в некоторой энергонезависимой памяти, то она может быть запущена напрямую, но с полнофункциональными операционными системами, такими как Windows, OSX или Linux, это невозможно.
Необходима небольшая облегченная «ОС», которая может быть загружена при включении питания, которая выполняет основные функции, такие как доступ к памяти и диску, а затем загружает операционную систему. Хотя это может быть частью самой ОС, а не отдельной сущностью, существуют другие причины, по которым вам может потребоваться запустить другой процесс первым:
Процесс известен как начальная загрузка .
источник
Концептуальный BIOS BIOS основывается на CP / M, операционной системе, популярной на 8-битных компьютерах с шиной Z-80 "S-100" до того, как IBM PC вступил во владение.
CP / M ожидает аппаратно-зависимые функции в ПЗУ (BIOS). Другой частью, загруженной с диска загрузчиком, было программное обеспечение, поддерживающее файловую систему CP / M (BDOS), а затем последний командный процессор или «оболочку» (CCP). Ожидается, что аппаратное обеспечение, которое CP / M будет поддерживать, было не очень большим: дисковод, дисплей, последовательный порт или два (порты COM или AUX), к которым могли быть подключены принтеры или модемы.
BIOS ПК выполнял базовую функцию начальной загрузки, подобную тому, как это делал CP / M, а DOS использовал функции BIOS для выполнения базового ввода-вывода, как и предполагалось. Программисты в конечном итоге обошли эти функции, поскольку они были медленными. Это привело к тому, что производители клонов ПК в середине 80-х годов воссоздали платформу в целом (это легко, поскольку IBM очень хорошо документировала исходный ПК изнутри и снаружи) вместо того, чтобы просто предоставлять BIOS с совместимыми интерфейсами, хотя они тоже должны были это делать.
На данный момент мы можем сказать, что для современной ОС BIOS на самом деле не нужен, кроме загрузки системы. Тем не мение ...
Начиная с начала 90-х годов, понятие управления питанием утвердилось, и BIOS был поставлен перед этим. APM хорошо работает с однозадачной ОС, такой как DOS, но не с настоящими многозадачными ОС, такими как Windows или Linux. Примерно в это же время 386 был в полную силу, процессор Intel, который поддерживал настоящую многозадачность. DOS и BIOS не были обновлены в ответ на новые возможности этого ЦП, главным образом потому, что все ЦП Intel по-прежнему будут работать в устаревшем 16-разрядном режиме совместимости, для которого был разработан оригинальный PC-BIOS. Поэтому современные операционные системы в значительной степени игнорируют / игнорируют все CP / M-подобные функции ввода / вывода BIOS, за исключением, возможно, ранних этапов загрузки.
В конце концов был разработан ACPI, в основном часть BIOS, которая поддерживала управление питанием и настройку (часто для ноутбука) вещей, специфичных для платформы. ACPI также обрабатывает конечное состояние переключения питания в режиме гибернации, сна или выключения.
Таким образом, в наши дни именно ACPI и его преемник, EFI, делают что-то вроде BIOS необходимостью для ПК. Общая концепция заключается в том, чтобы ACPI был интерфейсом между вещами, специфичными для платформы или материнской платы, и ОС, поэтому отдельная сборка ОС не должны быть сделаны для каждого типа материнской платы.
Проблемы с платами разработки, на которых размещены процессоры ARM под управлением Linux (а также оборудования для сотовых телефонов). Обычно они поставляются с микропрограммой только для загрузчика, такой как U-boot, но в значительной степени ОС должна поддерживать каждую плату как отдельную платформу.
источник
В некотором смысле вы правы. BIOS и ОС частично делают одно и то же. Разделение в BIOS и ОС исключительно для гибкости.
BIOS обычно создается производителем оборудования. Аппаратное обеспечение должно обеспечивать наличие основной функциональности, например, возможность считывания с жесткого диска и отображения основного дисплея для диагностики и ошибок. Таким образом, название «Базовая система ввода-вывода».
Это может быть сделано, в некоторой степени, без дальнейшего знания фактических компонентов, реально присутствующих в конкретной системе, поскольку все они должны поддерживать определенный небольшой стандарт BIOS. Это позволяет поставщикам создавать полную систему на заказ. BIOS просто должен сделать достаточно, чтобы запустить ОС. Есть некоторые соглашения о том, где находятся эти начальные точки, поэтому он просто пытается один за другим. Это также позволяет использовать разные операционные системы на одном и том же оборудовании. (опять же есть гибкость)
Как только операционная система (или, по крайней мере, ее загрузчик) найдена и запущена BIOS, сама BIOS становится в значительной степени устаревшей. Современные ОС практически не используют BIOS после загрузки.
Если вы хотите, чтобы ОС выполняла всю работу, вам нужно было бы разместить ОС там, где к ней может получить доступ аппаратное обеспечение без предварительной помощи программного обеспечения (ПЗУ). Это может быть возможно для некоторых закрытых систем, где гибкость не имеет значения. Если вы думаете о том, чтобы встроить поддержку аппаратного обеспечения в какое-то другое аппаратное обеспечение, вы снова создаете своего рода BIOS ...
Другая проблема - размер и стоимость памяти. Полнофункциональные операционные системы велики, и попытка вставить многогигабайтную операционную систему в ПЗУ стоит дорого, помимо последующих проблем с ее исправлением и обновлением.
Так что нет, технических причин нет, но много практических, особенно для гибкой платформы ПК.
источник
Чтобы запустить программу на современном ПК, у вас уже должна быть запущенная программа, которая знает, как управлять оборудованием и загружать программы в память. Эта проблема курицы и яйца решается путем внедрения базовой программы в само оборудование.
Эта базовая система ввода / вывода (BIOS) очень мала и очень ограничена по объему, но обеспечивает достаточную основу для загрузки и запуска загрузчиков второго уровня, таких как GRUB или NTLDR . Эти загрузчики второго уровня являются более сложными, чем программа BIOS, что позволяет им обеспечить более надежную основу для загрузки операционной системы и получения контроля над ней.
источник
Если у ЦП была возможность обращаться к жесткому диску напрямую, не полагаясь на BIOS, EFI или другой код в ПЗУ (или NVRAM, или что у вас есть), то теоретически такой ЦП мог бы загрузить ОС с диска в ОЗУ и начать выполняя это.
На самом деле, теоретически, такой процессор может даже выполнять инструкции, не загружая их в оперативную память. Нет теоретической причины, по которой компьютер не может использовать жесткий диск в качестве основного хранилища. Но это будет очень, очень медленно.
Это будет означать наличие дополнительного кода в ЦП для доступа к диску и жесткую привязку некоторых понятий о дисках, таких как таблицы разделов и файловые системы, к ЦП. В наши дни процессоры достаточно велики, чтобы сделать это, но это не будет очень гибким или эффективным подходом к проектированию процессора.
источник
Это не нужно!
То, что часто называют BIOS, представляет собой набор из 3 вещей.
источник