Я пытался читать о BIOS в Википедии и других сайтах, но я не мог понять многое. Может кто-нибудь сказать, пожалуйста, что такое BIOS и зачем он нам? Также BIOS присутствует в каждом электронном устройстве или только в компьютерах и смартфонах?
3 ответа
ПК работают под управлением сложных программ, называемых операционными системами (ОС). Они хранятся в оперативной памяти, которая является энергозависимой, т. Е. Теряет свой контент при выключении питания.
Таким образом, возникает вопрос: когда компьютер включится, так как оперативная память будет пуста, как компьютер запустится?
BIOS делает это возможным. Это очень маленькая программа, размещенная в постоянном запоминающем устройстве (= ПЗУ), которая является энергонезависимой, то есть не исчезает при отключении питания. Он автоматически загружается на ПК из ПЗУ с помощью специальной схемы, чтобы ПК мог начать процесс загрузки.
Поскольку объем ПЗУ невелик, это небольшая программа, которая может выполнять ограниченное количество действий, в основном три:
- Выполняет самотестирование;
- он проверяет, что периферия (диск, видео, клавиатура, ...) работает правильно, и инициализирует их;
- определяет список мест, в которых может находиться более продвинутая стадия инициализации (ваш жесткий диск, диск CD-ROM, USB-накопитель, сеть), и пытается передать управление на эту новую стадию. В случае успеха процесс запуска продолжается, в противном случае он останавливается с некоторыми сообщениями об ошибках, которые трудно понять.
Я был расплывчатым в отношении второго этапа: в основном, новый этап находится в специальном месте жесткого диска, CD-ROM или USB-накопителя, называемом Master Boot Record (MBR). Это крошечный (446 байт) раздел диска, например, который сообщает компьютеру, как диск разделен (разбит на разделы - это технический термин) на слайсы, и на каком из этих слайсов следующий этап процесса включения питания может быть найден. Этот последний этап является последним этапом, который будет отвечать за загрузку истинной операционной системы (Windows, Mac Os, Linux, Unix, ...) в оперативную память компьютера. И с тех пор, это обычный бизнес.
Хороший вопрос.
Когда в 1978 году я впервые занялся программированием, у нас был мини-компьютер размером с комнату. HP2100. В случае его сбоя нам нужно будет аккуратно установить 16 переключателей на передней панели, затем переключить переключатель, чтобы загрузить это слово памяти, и повторить это примерно 20 раз. Если вы допустили даже малейшую ошибку, вам придется начать все сначала.
То, что должно было быть запрограммировано вручную, было чрезвычайно простой программой, называемой загрузчиком. После загрузки мы нажимали переключатель запуска, чтобы выполнить этот код, и программа запускала устройство чтения бумажной ленты и считывала дырки в длинной бумажной ленте в память.
На этой бумажной ленте была еще одна более сложная программа, представляющая собой простой BIOS или базовую систему ввода / вывода. Эта программа знала, как получить доступ к жестким дискам, например, она была новой, как перемещать головку чтения и записи назад и как перемещать сектор данных, который содержал другую программу, более крупную, операционную систему. И если что-то пошло не так, у него был очень простой инструмент командной строки для опроса того, что было в памяти, и ручного редактирования.
Так что это трехэтапный процесс, который не изменился за все эти годы.
Теперь с этими ранними ПК BIOS на микрокомпьютерах был немного другим, чем сегодня.
Когда вы вводите команду в командной строке, например, dir, чтобы вывести список файлов на диске, операционная система вычисляет, где искать, основываясь на файловой системе, но затем просит BIOS фактически выполнить работу, заставляя аппаратное обеспечение двигаться и вращаться. диск, чтобы получить конкретный блок данных. Точно так же BIOS предоставлял интерфейс низкого уровня для последовательных портов, используемых для отображения информации на экране и получения нажатий клавиш, а также для отправки данных на принтер и т.д. Таким образом, DOS (дисковая операционная система) будет иметь дело с командной строкой, но как только выяснится, что символ должен быть отправлен на экран, это задание было передано BIOS, который знал, как управлять последовательной схемой ввода-вывода.
Таким образом, BIOS представлял собой уровень абстракции, который позволял запускать CPM и MSDos на различном оборудовании, например разном размере и типе жестких и гибких дисков.
Сегодня BIOS похож, но как только ваша операционная система загружена, большинство операционных систем заменяют драйверы BIOS на драйверы, более плотно интегрированные в операционную систему. Это сделано для того, чтобы получить лучшую производительность, т.е. сделать то же самое быстрее.
IBM опубликовала исходный код своего BIOS для ПК IBM, чтобы инженеры могли изучить и изменить его. Однажды зимой я также разобрал MSDos, всю чертову операционную систему, а не то, на что у нас есть лицензия, чтобы посмотреть, как она работает. Потребовалось несколько месяцев, и некоторые умные базовые программы, чтобы разобрать его, и много головокружительных попыток, чтобы попытаться понять, что делает код, но в конце это дало мне твердое понимание того, что именно делает операционная система и как оно это делает Это не волшебство. Это просто набор тщательно написанных функций для получения команд высокого уровня и преобразования их в аппаратные действия. И BIOS не отличается. У него есть куча вещей, которые вы можете запросить, и способы его настройки для различного оборудования.
Я подумала, что небольшая история того, откуда все это пришло, поможет вам лучше понять эту современную магию. Сегодня этот код является частным, поэтому большинство инженеров не могут знать, как он работает.
Итак, в нескольких словах.
BIOS означает Basic Input/Output System, это самая важная программа в программируемых устройствах, таких как материнские платы в компьютерах (ПК, ноутбуки, мэйнфреймы и другие компьютеры, также в телефонах и других электронных игрушках, таких как планшеты) и во всех других видах оборудования, как DVD, BD и т. д.
BIOS хранится непосредственно в устройстве и контролирует его поведение. Основная плата BIOS имеет простой интерфейс для настройки платы.