Что такое BIOS и зачем он нам?

3

Я пытался читать о BIOS в Википедии и других сайтах, но я не мог понять многое. Может кто-нибудь сказать, пожалуйста, что такое BIOS и зачем он нам? Также присутствует ли BIOS в каждом электронном устройстве или только в компьютерах и смартфонах?

Пратик Сингхал
источник
Простой вопрос, требующий подробного ответа. Хм ... репутация сильна с этим .
Этот бразильский парень
Просто примечание (что текущие ответы, похоже, не рассматривают) - исходный BIOS и варианты IBM PC были в основном заменены UEFI. Это в основном новая спецификация с лучшей поддержкой нового оборудования и более расширяемая.
Боб
@ ps06756 Если вы хотите узнать немного больше о BIOS, последовательности загрузки и типах памяти, используемых в процессе загрузки, возможно, вы можете взглянуть на этот ответ о загрузке . Может быть полезно. Хороший вопрос, +1.
Varaquilex

Ответы:

8

ПК работают под управлением сложных программ, называемых операционными системами (ОС). Они хранятся в оперативной памяти, которая является энергозависимой , т. Е. Теряет свой контент при выключении питания.

Таким образом, возникает вопрос: при включении питания компьютера, поскольку ОЗУ будет пустым, как будет запускаться компьютер?

BIOS делает это возможным. Это очень маленькая программа, размещенная в постоянном запоминающем устройстве (= ПЗУ), которая является энергонезависимой, то есть не исчезает при отключении питания. Он автоматически загружается на ПК из ПЗУ с помощью специальной схемы, чтобы ПК мог начать процесс загрузки.

Поскольку объем ПЗУ невелик, это небольшая программа, которая может выполнять ограниченное количество действий, в основном три:

  1. Выполняет самотестирование;
  2. проверяет правильность работы периферийных устройств (диск, видео, клавиатура и т. д.) и инициализирует их;
  3. определяет список мест, где может находиться более продвинутая стадия инициализации (ваш жесткий диск, диск CD-ROM, USB-накопитель, сеть), и пытается передать управление на эту новую стадию. В случае успеха процесс запуска продолжается, в противном случае он останавливается с некоторыми сообщениями об ошибках, которые трудно понять.

Я был расплывчатым в отношении второго этапа: в основном, новый этап находится в специальном месте жесткого диска, или CD-ROM, или USB-накопителя, называемого Master Boot Record (MBR). Это крошечный (446 байт) раздел диска, например, который сообщает компьютеру, как диск разделен (разбит на разделы - технический термин) на слайсы, и на каком из этих слайсов следующий этап процесса включения питания. может быть найден. Этот последний этап является последним этапом, который будет отвечать за загрузку истинной операционной системы (Windows, Mac Os, Linux, Unix, ...) в оперативную память компьютера. И с тех пор, это обычный бизнес.

MariusMatutiae
источник
6

Хороший вопрос.

Когда в 1978 году я впервые занялся программированием, у нас был мини-компьютер размером с комнату. HP2100 . В случае его сбоя нам необходимо тщательно установить 16 переключателей на передней панели, затем переключить переключатель, чтобы загрузить это слово памяти, и повторить это примерно 20 раз. Если вы допустили даже малейшую ошибку, вам пришлось бы начинать все сначала.

То, что должно было быть запрограммировано вручную, было чрезвычайно простой программой, называемой загрузчиком . После загрузки мы нажимали переключатель запуска, чтобы выполнить этот код, и программа запускала устройство чтения бумажной ленты и считывала дырки в длинной бумажной ленте в память.

На этой бумажной ленте была еще одна более сложная программа, представляющая собой простой BIOS или базовую систему ввода / вывода . Эта программа знала, как получить доступ к жестким дискам, например, она была новой, как перемещать головку чтения и записи назад и как перемещать сектор данных, который содержал другую программу, более крупную, операционную систему. И если что-то пошло не так, у него был очень простой инструмент командной строки для опроса того, что было в памяти, и ручного редактирования.

Так что это трехэтапный процесс, который не изменился за все эти годы.

Теперь с этими ранними ПК BIOS на микрокомпьютерах немного отличался от сегодняшнего.

Когда вы вводите команду в командной строке, например, dir, чтобы вывести список файлов на диске, операционная система вычисляет, где искать, основываясь на файловой системе, но затем просит BIOS фактически выполнить работу, заставляя аппаратное оборудование двигаться и вращаться. диск, чтобы получить конкретный блок данных. Точно так же BIOS предоставлял интерфейс низкого уровня к последовательным портам, используемым для отображения информации на экране и получения нажатий клавиш, а также для отправки данных на принтер и т. Д. Таким образом, DOS (дисковая операционная система) будет работать с командной строкой, но один раз выяснилось, что символ должен быть отправлен на экран, эта работа была передана в BIOS, который знал, как управлять последовательной схемой ввода-вывода.

Таким образом, BIOS представлял собой уровень абстракции, который позволял запускать CPM и MSDos на разных аппаратных средствах, например разном размере и типе жестких и гибких дисков.

Сегодня BIOS похож, но как только ваша операционная система загружена, большинство операционных систем заменяют драйверы BIOS на драйверы, более плотно интегрированные в операционную систему. Это сделано для того, чтобы получить лучшую производительность, т.е. сделать то же самое быстрее.

IBM опубликовала исходный код своего BIOS для ПК IBM, чтобы инженеры могли изучить и изменить его. Однажды зимой я также разобрал MSDos, всю чертову операционную систему, а не то, на что у нас есть лицензия, чтобы посмотреть, как она работает. Потребовалось несколько месяцев, и некоторые умные базовые программы, чтобы разобрать его, и много головокружительных попыток, чтобы попытаться понять, что делает код, но в конце это дало мне твердое понимание того, что именно делает операционная система и как оно это делает Это не волшебство. Это просто набор тщательно написанных функций для получения команд высокого уровня и преобразования их в аппаратные действия. И BIOS не отличается. У него есть куча вещей, которые вы можете запросить, и способы его настройки для различного оборудования.

Я подумал, что небольшая история о том, откуда взялись все эти вещи, может помочь вам лучше понять эту современную магию. Сегодня этот код является частным, поэтому большинство инженеров не могут знать, как он работает.

Эллиптический вид
источник
+1 Спасибо! Чтобы поделиться своим опытом, Никогда не ожидал, что компьютеры будут такими сложными.
Пратик Сингхал
1
+1 Причина, по которой современные операционные системы заменяют драйверы BIOS, заключается в том, что сложно вызывать 16-разрядные драйверы BIOS из «защищенного режима» - 32-разрядного режима. Приветствия.
jpaugh
1

Итак, в нескольких словах.

BIOS означает «Базовая система ввода / вывода», это самая важная программа в программируемых устройствах, таких как материнские платы в компьютерах (ПК, ноутбуки, мейнфреймы и другие компьютеры, а также в телефонах и других электронных игрушках, таких как планшеты) и во всех других видах оборудования, как DVD, BD и т. д.

BIOS хранится непосредственно в устройстве и контролирует его поведение. Основная плата BIOS имеет простой интерфейс для настройки платы.

Декстер Маллинс
источник
BIOS в оптических дисках также называется прошивкой.
Декстер Маллинс