stringtranslate.com

БИОС

В вычислительной технике BIOS ( / ˈ b ɒ s , -oʊ s / , BY -oss , -⁠ohss ; базовая система ввода/вывода , также известная как системный BIOS , ROM BIOS , BIOS ROM или PC BIOS ) — это прошивка, используемая для предоставления служб времени выполнения для операционных систем и программ, а также для выполнения инициализации оборудования во время процесса загрузки (запуск при включении питания). [1] Микропрограмма BIOS предварительно установлена ​​на системной плате IBM PC или IBM PC-совместимой системы и существует в некоторых системах на базе UEFI для обеспечения совместимости с операционными системами, которые не поддерживают собственную работу UEFI. [2] [3] Название происходит от базовой системы ввода-вывода, использовавшейся в операционной системе CP/M в 1975 году. [4] [5] BIOS, изначально являвшийся собственностью IBM PC, был реконструирован некоторыми компаниями (например, как Phoenix Technologies ), стремящиеся создать совместимые системы. Интерфейс этой оригинальной системы служит стандартом де - факто .

BIOS в современных ПК инициализирует и тестирует аппаратные компоненты системы ( самотестирование при включении питания ), а также загружает загрузчик с запоминающего устройства, которое затем инициализирует ядро . В эпоху DOS BIOS обеспечивал вызовы прерываний BIOS для клавиатуры, дисплея, хранилища и других устройств ввода-вывода (I/O), что стандартизировало интерфейс для прикладных программ и операционной системы. Более поздние операционные системы не используют вызовы прерываний BIOS после запуска. [6]

Большинство реализаций BIOS специально разработаны для работы с конкретной моделью компьютера или материнской платы путем взаимодействия с различными устройствами, особенно с системным чипсетом . Первоначально прошивка BIOS хранилась в микросхеме ПЗУ на материнской плате ПК. В более поздних компьютерных системах содержимое BIOS хранится во флэш-памяти , поэтому его можно перезаписать, не снимая чип с материнской платы. Это позволяет конечным пользователям легко обновлять прошивку BIOS, чтобы можно было добавлять новые функции или исправлять ошибки, но это также создает возможность заражения компьютера руткитами BIOS . Кроме того, неудачное обновление BIOS может привести к поломке материнской платы. Последней версией Microsoft Windows , официально поддерживающей работу на компьютерах с устаревшей прошивкой BIOS, является Windows 10, поскольку для Windows 11 требуется система, совместимая с UEFI.

Унифицированный расширяемый интерфейс прошивки (UEFI) является преемником устаревшего BIOS ПК и призван устранить его технические ограничения. [7]

История

/* CP/MBASICI/ОСИСТЕМА (BIOS) АВТОРСКИЕ ПРАВА (C) ГЭРИ А. КИЛДАЛЛ ИЮНЬ 1975 ГОДА */[…]/* BASICDISKOPERATINGSYS TEM (BDOS) АВТОРСКИЕ ПРАВА (C) ГЭРИ А. КИЛДАЛЛ ИЮНЬ 1975 ГОДА */
-  Отрывок из заголовка файла BDOS.PLM в исходном коде PL/M CP/M 1.1 или 1.2 для Lawrence Livermore Laboratories (LLL) [4]

Термин BIOS (базовая система ввода/вывода) был создан Гэри Килдаллом [8] [9] и впервые появился в операционной системе CP/M в 1975 году, [4] [5] [9] [10] [11] [ 12] , описывающую машинно-зависимую часть CP/M, загружаемую во время загрузки и напрямую взаимодействующую с аппаратным обеспечением . [5] (Машина CP/M обычно имеет в своем ПЗУ только простой загрузчик .)

Версии MS-DOS , PC DOS или DR-DOS содержат файл, называемый по-разному « IO.SYS », « IBMBIO.COM », «IBMBIO.SYS» или «DRBIOS.SYS»; этот файл известен как «DOS BIOS» (также известный как «Система ввода-вывода DOS») и содержит аппаратную часть операционной системы нижнего уровня. Вместе с базовым аппаратно-зависимым, но независимым от операционной системы «Системным BIOS», который находится в ПЗУ , он представляет собой аналог « CP/M BIOS ».

BIOS, изначально являвшийся собственностью IBM PC, был реконструирован некоторыми компаниями (например, Phoenix Technologies ), стремившимися создать совместимые системы.

С появлением машин PS/2 IBM разделила системный BIOS на части для реального и защищенного режима. Часть реального режима предназначалась для обеспечения обратной совместимости с существующими операционными системами, такими как DOS, и поэтому называлась «CBIOS» (от «Совместимость BIOS»), тогда как «ABIOS» (от «Расширенный BIOS») предоставляла новые интерфейсы, в частности подходит для многозадачных операционных систем, таких как OS/2 . [13]

Пользовательский интерфейс

BIOS исходных IBM PC и XT не имел интерактивного пользовательского интерфейса. На экране отображались коды ошибок или сообщения, либо генерировались закодированные серии звуков, сигнализирующие об ошибках, когда самотестирование при включении питания (POST) не дошло до точки успешной инициализации адаптера видеодисплея. Опции на IBM PC и XT устанавливались переключателями и перемычками на основной плате и на картах расширения . Примерно с середины 1990-х годов для ПЗУ BIOS стало типичным включать «утилиту настройки BIOS» (BCU [14] ) или «утилиту настройки BIOS», доступ к которой осуществляется при включении системы с помощью определенной последовательности клавиш. Эта программа позволяла пользователю устанавливать параметры конфигурации системы, которые раньше устанавливались с помощью DIP-переключателей , через систему интерактивного меню, управляемую с помощью клавиатуры. В промежуточный период IBM-совместимые ПК, включая IBM AT , хранили параметры конфигурации в ОЗУ с батарейным питанием и использовали загрузочную программу конфигурации на дискете, а не в ПЗУ, для установки параметров конфигурации, содержащихся в этой памяти. Дискета входила в комплект поставки компьютера, и в случае ее утери изменить настройки системы было невозможно. То же самое относилось в целом к ​​компьютерам с шиной EISA , для которых программа настройки называлась EISA Configuration Utility (ECU).

Современный Wintel -совместимый компьютер обеспечивает процедуру установки, по существу не отличающуюся от утилит настройки BIOS, находящихся в ПЗУ, конца 1990-х годов; пользователь может настроить параметры оборудования с помощью клавиатуры и видеодисплея. Современная машина Wintel может хранить настройки конфигурации BIOS во флэш-ПЗУ, возможно, в том же флэш-ПЗУ, в котором хранится сам BIOS.

Операция

Запуск системы

Ранние процессоры Intel начинались с физического адреса 000FFFF0h. Системы с более поздними процессорами предоставляют логику для запуска BIOS из системного ПЗУ . [15]

Если система только что была включена или была нажата кнопка сброса (« холодная перезагрузка »), запускается полное самотестирование при включении питания (POST). Если было нажато сочетание клавиш Ctrl+Alt+Delete (« горячая перезагрузка »), значение специального флага, хранящееся в энергонезависимой памяти BIOS (« CMOS »), проверенное BIOS, позволяет обойти длительную проверку POST и обнаружение памяти.

POST идентифицирует, тестирует и инициализирует системные устройства, такие как процессор , набор микросхем , ОЗУ , материнская плата , видеокарта , клавиатура , мышь , жесткий диск , привод оптических дисков и другое оборудование , включая встроенные периферийные устройства .

На ранних компьютерах IBM в POST была процедура, которая загружала программу в ОЗУ через порт клавиатуры и запускала ее. [16] [17] Эта функция предназначена для заводских испытаний или диагностики.

Процесс загрузки

Процесс загрузки

После завершения сканирования дополнительных ПЗУ и вызова всех обнаруженных модулей ПЗУ с действительными контрольными суммами или сразу после POST в версии BIOS, которая не сканирует дополнительные ПЗУ, BIOS вызывает INT 19h, чтобы начать обработку загрузки. После загрузки загруженные программы также могут вызывать INT 19h для перезагрузки системы, но они должны быть осторожны, чтобы отключить прерывания и другие асинхронные аппаратные процессы, которые могут помешать процессу перезагрузки BIOS, иначе система может зависнуть или выйти из строя во время перезагрузки. .

При вызове INT 19h BIOS пытается найти программное обеспечение загрузчика на «загрузочном устройстве», таком как жесткий диск , дискета , компакт-диск или DVD . Он загружает и запускает первое найденное загрузочное программное обеспечение , предоставляя ему контроль над ПК. [18]

BIOS использует загрузочные устройства, установленные в энергонезависимой памяти BIOS ( CMOS ) или, в самых ранних ПК, DIP-переключатели . BIOS проверяет каждое устройство, чтобы определить, является ли оно загрузочным, пытаясь загрузить первый сектор ( загрузочный сектор ). Если сектор не может быть прочитан, BIOS переходит к следующему устройству. Если сектор прочитан успешно, некоторые BIOS также проверяют подпись загрузочного сектора 0x55 0xAA в последних двух байтах сектора (длиной 512 байт), прежде чем принять загрузочный сектор и считать устройство загрузочным. [б]

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

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

Благодаря стандарту загрузки оптических носителей El Torito оптический привод фактически эмулирует 3,5-дюймовую дискету высокой плотности в BIOS для целей загрузки. Чтение «первого сектора» компакт-диска или DVD-ROM — это не просто определенная операция. как на дискете или жестком диске.Кроме того, сложность носителя затрудняет запись полезной загрузочной программы в одном секторе.Загрузочная виртуальная дискета может содержать программное обеспечение, обеспечивающее доступ к оптическому носителю в его родном виде. формат.

Приоритет загрузки

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

В большинстве современных BIOS порядок приоритета загрузки может быть настроен пользователем. В старых версиях BIOS можно выбрать ограниченные параметры приоритета загрузки; в самых ранних BIOS была реализована схема с фиксированным приоритетом: сначала дисководы гибких дисков, затем фиксированные диски (т. е. жесткие диски), и обычно другие загрузочные устройства не поддерживались, при условии изменения этих правил установленными дополнительными ПЗУ. BIOS ранних ПК также обычно загружался только с первого флоппи-диска или первого жесткого диска, даже если было установлено два диска.

Ошибка загрузки

На исходных IBM PC и XT, если загрузочный диск не был найден, ROM BASIC запускался вызовом INT 18h. Поскольку лишь немногие программы использовали BASIC в ПЗУ, производители ПК-клонов исключили его; тогда компьютер, которому не удалось загрузиться с диска, отобразит «Нет ROM BASIC» и остановится (в ответ на INT 18h).

Более поздние компьютеры отображали сообщение типа «Загрузочный диск не найден»; некоторые предлагали вставить диск и нажать клавишу, чтобы повторить процесс загрузки. Современный BIOS может ничего не отображать или может автоматически войти в утилиту настройки BIOS в случае сбоя процесса загрузки.

Загрузочная среда

Среда для программы загрузки очень проста: ЦП находится в реальном режиме, а регистры общего назначения и сегментные регистры не определены, за исключением SS, SP, CS и DL. CS:IP всегда указывает на физический адрес 0x07C00. Какие значения CS и IP на самом деле имеют, точно не определено. Некоторые BIOS используют CS:IP, 0x0000:0x7C00а другие могут использовать 0x07C0:0x0000. [19] Поскольку загрузочные программы всегда загружаются по этому фиксированному адресу, нет необходимости перемещать загрузочную программу. DL может содержать номер диска загрузочного устройства , используемый с INT 13h . SS:SP указывает на действительный стек, который предположительно достаточно велик для поддержки аппаратных прерываний, но в противном случае SS и SP не определены. (Стек должен быть уже настроен для обслуживания прерываний, а прерывания должны быть включены для прерывания системного таймера, которое BIOS всегда использует, по крайней мере, для поддержания счетчика времени суток и которое он инициализирует. во время POST, чтобы клавиатура была активной и клавиатура работала.Клавиатура работает, даже если служба клавиатуры BIOS не вызывается; нажатия клавиш принимаются и помещаются в 15-символьный буфер опережающего ввода, поддерживаемый BIOS.) Программа загрузки должна установить создать свой собственный стек, поскольку размер стека, установленный BIOS, неизвестен и его расположение также является переменным; хотя загрузочная программа может исследовать стек по умолчанию, проверив SS:SP, проще и короче просто безоговорочно настроить новый стек. [20]

Во время загрузки все службы BIOS доступны, а память под адресом 0x00400содержит таблицу векторов прерываний . BIOS POST инициализирует системные таймеры, контроллеры прерываний, контроллеры DMA и другое оборудование материнской платы/набора микросхем, необходимое для перевода всех служб BIOS в состояние готовности. Обновление DRAM для всей системной DRAM в обычной и расширенной памяти, но не обязательно в расширенной памяти, настроено и запущено. Векторы прерываний , соответствующие прерываниям BIOS, были установлены так, чтобы указывать на соответствующие точки входа в BIOS, векторы аппаратных прерываний для устройств, инициализированных BIOS, были установлены так, чтобы указывать на ISR, предоставляемые BIOS, и некоторые другие прерывания, в том числе которые BIOS генерирует для перехвата программ, установлены фиктивные ISR по умолчанию, которые немедленно возвращаются. BIOS поддерживает зарезервированный блок системной оперативной памяти по адресам 0x00400–0x004FFс различными параметрами, инициализированными во время POST. Вся память по адресу и выше 0x00500может использоваться загрузочной программой; он может даже перезаписать себя. [21] [22]

Расширения (дополнительные ПЗУ)

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

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

Для карты расширения требуется дополнительное ПЗУ, если карта не поддерживается BIOS материнской платы и карту необходимо инициализировать или сделать доступной через службы BIOS перед загрузкой операционной системы (обычно это означает, что она требуется в процессе загрузки). ). Дополнительным преимуществом ПЗУ на некоторых ранних компьютерных системах (в частности, на IBM PCjr) было то, что ПЗУ было быстрее, чем ОЗУ основной системы. (В современных системах ситуация прямо противоположная: код ПЗУ BIOS обычно копируется («затеняется») в ОЗУ, чтобы он работал быстрее.)

Процедура загрузки

Если ПЗУ расширения желает совместно изменить способ загрузки системы (например, с сетевого устройства или адаптера SCSI), оно может использовать API спецификации загрузки BIOS (BBS) , чтобы зарегистрировать свою способность сделать это. После регистрации ПЗУ расширения с помощью API BBS пользователь может выбирать доступные варианты загрузки из пользовательского интерфейса BIOS. Вот почему большинство реализаций BIOS ПК, совместимых с BBS, не позволяют пользователю войти в пользовательский интерфейс BIOS до тех пор, пока ПЗУ расширения не завершат выполнение и не зарегистрируются в BBS API. [ нужна цитата ]

Кроме того, если ПЗУ расширения желает изменить способ загрузки системы в одностороннем порядке, оно может просто перехватить INT 19h или другие прерывания, обычно вызываемые из прерывания 19h, например INT 13h, дисковую службу BIOS, чтобы перехватить процесс загрузки BIOS. Затем он может заменить процесс загрузки BIOS своим собственным или просто изменить последовательность загрузки, вставив в нее свои собственные действия по загрузке, запретив BIOS определять определенные устройства как загрузочные, или и то, и другое. До того, как была обнародована спецификация загрузки BIOS, это был единственный способ для ПЗУ расширения реализовать возможность загрузки устройств, не поддерживаемых для загрузки собственным BIOS материнской платы. [ нужна цитата ]

Инициализация

После того, как BIOS материнской платы завершает POST, большинство версий BIOS ищут дополнительные модули ПЗУ, также называемые ПЗУ расширения BIOS, и выполняют их. BIOS материнской платы сканирует дополнительные ПЗУ в части « верхней области памяти » (часть адресного пространства реального режима x86 с адресом 0xA0000 и выше) и запускает каждое найденное ПЗУ по порядку. Чтобы обнаружить дополнительные ПЗУ, отображенные в памяти, реализация BIOS сканирует адресное пространство реального режима от 0x0C0000границ 0x0F0000до 2  КБ (2048 байт) в поисках двухбайтовой подписи ПЗУ : 0x55, за которой следует 0xAA. В действительном ПЗУ расширения за этой сигнатурой следует один байт, указывающий количество 512-байтовых блоков, которые ПЗУ расширения занимает в реальной памяти, а следующий байт является точкой входа дополнительного ПЗУ (также известной как его «смещение входа»). . Если ПЗУ имеет действительную контрольную сумму, BIOS передает управление адресу входа, который в обычном ПЗУ расширения BIOS должен быть началом процедуры инициализации расширения.

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

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

Физическое размещение

Микросхемы BIOS в Dell 310, которые были обновлены путем замены микросхем.

Дополнительные ПЗУ обычно находятся на платах адаптеров. Однако исходный ПК и, возможно, также ПК XT имеют запасной разъем ПЗУ на материнской плате («системная плата» в терминах IBM), в который можно вставить дополнительное ПЗУ, а четыре ПЗУ, содержащие интерпретатор BASIC, могут быть вставлены. также быть удалены и заменены пользовательскими ПЗУ, которые могут быть дополнительными ПЗУ. IBM PCjr уникален среди компьютеров тем, что имеет два разъема для картриджей ПЗУ на передней панели. Картриджи в этих слотах отображаются в той же области верхней области памяти, которая используется для дополнительных ПЗУ, и картриджи могут содержать дополнительные модули ПЗУ, которые распознает BIOS. Картриджи также могут содержать другие типы модулей ПЗУ, например программы BASIC, которые обрабатываются по-разному. Один картридж PCjr может содержать несколько модулей ПЗУ разных типов, возможно, хранящихся вместе в одной микросхеме ПЗУ.

Службы операционной системы

ПЗУ BIOS настраивается под аппаратное обеспечение конкретного производителя, что позволяет стандартизированным образом предоставлять низкоуровневые услуги (такие как чтение нажатия клавиши или запись сектора данных на дискету) программам, включая операционные системы. Например, IBM PC может иметь либо монохромный, либо цветной адаптер дисплея (с использованием разных адресов памяти дисплея и аппаратного обеспечения), но для отображения символа в указанной позиции на экране может быть вызван один стандартный системный вызов BIOS. текстовый режим или графический режим .

BIOS предоставляет небольшую библиотеку основных функций ввода-вывода для работы с периферийными устройствами (такими как клавиатура, элементарные функции отображения текста и графики и т. д.). При использовании MS-DOS доступ к службам BIOS может быть получен прикладной программой (или MS-DOS), выполнив команду прерывания INT 13h для доступа к функциям диска или выполнив один из ряда других документированных вызовов прерываний BIOS для доступа к видео. дисплей , клавиатура , кассета и другие функции устройства.

Операционные системы и исполнительное программное обеспечение, предназначенные для замены этой базовой функциональности встроенного ПО, предоставляют заменяющие программные интерфейсы для прикладного программного обеспечения. Приложения также могут предоставлять эти услуги самим себе. Это началось еще в 1980-х годах под MS-DOS , когда программисты заметили, что использование видеосервисов BIOS для отображения графики происходит очень медленно. Чтобы увеличить скорость вывода на экран, многие программы обходили BIOS и программировали аппаратное обеспечение видеодисплея напрямую. Другие графические программисты, особенно, но не исключительно, на демосцене , заметили, что существуют технические возможности видеоадаптеров ПК, которые не поддерживаются IBM BIOS и ими нельзя воспользоваться, не обойдя их. Поскольку AT-совместимый BIOS работал в реальном режиме Intel , операционным системам, работающим в защищенном режиме на процессорах 286 и более поздних версиях, требовались драйверы аппаратных устройств, совместимые с работой в защищенном режиме, для замены служб BIOS.

На современных ПК под управлением современных операционных систем (таких как Windows и Linux ) вызовы прерываний BIOS используются только во время загрузки и первоначальной загрузки операционных систем. Прежде чем отобразится первый графический экран операционной системы, ввод и вывод обычно обрабатываются через BIOS. Меню загрузки, такое как текстовое меню Windows, которое позволяет пользователям выбирать операционную систему для загрузки, загрузку в безопасном режиме или использование последней удачной конфигурации, отображается через BIOS и принимает ввод с клавиатуры через BIOS. [6]

Многие современные ПК по-прежнему могут загружать и запускать устаревшие операционные системы, такие как MS-DOS или DR-DOS, которые в значительной степени полагаются на BIOS для консольного и дискового ввода-вывода, при условии, что система имеет BIOS или прошивку UEFI с поддержкой CSM.

Обновления микрокода процессора

Процессоры Intel имеют перепрограммируемый микрокод начиная с микроархитектуры P6 . [23] [24] [25] Процессоры AMD имеют перепрограммируемый микрокод, начиная с микроархитектуры K7 . BIOS содержит исправления микрокода процессора, исправляющие ошибки в исходном микрокоде процессора; микрокод загружается в SRAM процессора , поэтому перепрограммирование не является постоянным, поэтому загрузка обновлений микрокода выполняется при каждом включении системы. Без перепрограммируемого микрокода потребовалась бы дорогостоящая замена процессора; [26] например, ошибка Pentium FDIV стала дорогостоящим фиаско для Intel, поскольку потребовала отзыва продукта , поскольку дефектный микрокод исходного процессора Pentium не мог быть перепрограммирован. Операционные системы также могут обновлять микрокод главного процессора . [27] [28]

Идентификация

Некоторые BIOS содержат таблицу описания лицензирования программного обеспечения (SLIC), цифровую подпись, помещенную в BIOS производителем оригинального оборудования (OEM), например Dell . SLIC вставляется в таблицу данных ACPI и не содержит активного кода. [29] [30]

Производители компьютеров, распространяющие OEM-версии Microsoft Windows и прикладного программного обеспечения Microsoft, могут использовать SLIC для аутентификации лицензирования на OEM-установочном диске Windows и диске восстановления системы , содержащем программное обеспечение Windows. Системы с SLIC можно предварительно активировать с помощью ключа продукта OEM, и они сверяют сертификат OEM в формате XML с SLIC в BIOS в качестве средства самоактивации (см. Предварительная установка с блокировкой системы , SLP). Если пользователь выполняет новую установку Windows, ему потребуется иметь как ключ OEM (SLP или COA), так и цифровой сертификат для своего SLIC, чтобы обойти активацию. [29] Этого можно достичь, если пользователь выполнит восстановление с использованием предварительно настроенного образа, предоставленного OEM-производителем. Опытные пользователи могут скопировать необходимые файлы сертификатов из образа OEM, декодировать ключ продукта SLP, а затем выполнить активацию SLP вручную.

Разгон

Некоторые реализации BIOS допускают разгон — действие, при котором процессор настраивается на более высокую тактовую частоту , чем его номинальная производительность, для гарантированной производительности. Однако разгон может серьезно подорвать надежность системы на недостаточно охлаждаемых компьютерах и в целом сократить срок службы компонентов. Неправильное выполнение разгона также может привести к настолько быстрому перегреву компонентов, что они механически разрушатся. [31]

Современное использование

Некоторые старые операционные системы , например MS-DOS , используют BIOS для выполнения большинства задач ввода-вывода на ПК. [32]

Прямой вызов служб BIOS реального режима неэффективен для операционных систем с защищенным режимомдлинным режимом ). Вызовы прерываний BIOS не используются современными многозадачными операционными системами после их первоначальной загрузки.

В 1990-х годах BIOS предоставлял некоторые интерфейсы защищенного режима для Microsoft Windows и Unix-подобных операционных систем, такие как Advanced Power Management (APM), Plug and Play BIOS , интерфейс управления рабочим столом (DMI), расширения VESA BIOS (VBE), e820 и Спецификация мультипроцессора (MPS). Начиная с 2000 года большинство BIOS предоставляют интерфейсы ACPI , SMBIOS , VBE и e820 для современных операционных систем. [33] [34] [35] [36] [37]

После загрузки операционной системы код режима управления системой все еще работает в SMRAM. С 2010 года технология BIOS находится в процессе перехода к UEFI . [7]

Конфигурация

Утилита настройки

Исторически сложилось так, что BIOS IBM PC и XT не имел встроенного пользовательского интерфейса. Версии BIOS на более ранних ПК (класс XT) не настраивались программно; вместо этого пользователи устанавливают параметры с помощью DIP-переключателей на материнской плате. Более поздние компьютеры, включая все IBM-совместимые с процессорами 80286, имели энергонезависимую память BIOS с батарейным питанием (чип CMOS RAM), в которой хранились настройки BIOS. [38] Эти параметры, такие как тип видеоадаптера, объем памяти и параметры жесткого диска, можно было настроить только путем запуска программы конфигурации с диска, а не встроенной в ПЗУ. В IBM AT была вставлена ​​специальная «справочная дискета» для настройки таких параметров, как размер памяти.

Ранние версии BIOS не имели паролей или возможностей выбора загрузочного устройства. В BIOS была жестко запрограммирована загрузка с первого флоппи-дисковода или, если это не удалось, с первого жесткого диска. Контроль доступа в ранних машинах класса AT осуществлялся с помощью физического замка (который было несложно взломать, если корпус компьютера можно было открыть). Любой, кто мог включить компьютер, мог его загрузить. [ нужна цитата ]

Позже компьютеры класса 386 начали интегрировать утилиту настройки BIOS в само ПЗУ вместе с кодом BIOS; эти компьютеры обычно загружаются с помощью утилиты настройки BIOS при нажатии определенной клавиши или комбинации клавиш, в противном случае выполняются BIOS POST и процесс загрузки.

Утилита настройки BIOS Award на стандартном ПК

Современная утилита настройки BIOS имеет текстовый пользовательский интерфейс (TUI) или графический пользовательский интерфейс (GUI), доступ к которому осуществляется нажатием определенной клавиши на клавиатуре при запуске компьютера. Обычно ключ объявляется на короткое время во время раннего запуска, например «Нажмите DEL , чтобы войти в настройку». Фактический ключ зависит от конкретного оборудования. Функции, присутствующие в утилите настройки BIOS, обычно включают в себя:

Аппаратный мониторинг

Современный экран настройки BIOS часто содержит вкладку « Состояние здоровья ПК» или вкладку «Мониторинг оборудования» , которая напрямую взаимодействует с микросхемой аппаратного монитора на материнской плате. [39] Это позволяет контролировать температуру процессора и корпуса , напряжение, подаваемое блоком питания , а также отслеживать и контролировать скорость вентиляторов, подключенных к материнской плате.

После загрузки системы аппаратный мониторинг и управление вентилятором компьютера обычно выполняются непосредственно самим чипом Hardware Monitor, который может быть отдельным чипом, подключенным через I 2 C или SMBus , или быть частью решения Super I/O. , подключенный через стандартную архитектуру отрасли (ISA) или с малым количеством контактов (LPC). [40] Некоторые операционные системы, такие как NetBSD с envsys и OpenBSD с sysctl hw.sensors , имеют встроенный интерфейс с аппаратными мониторами.

Однако в некоторых случаях BIOS также предоставляет базовую информацию о мониторинге оборудования через ACPI , и в этом случае операционная система может использовать ACPI для выполнения мониторинга оборудования. [41] [42]

Перепрограммирование

Комплект замены BIOS для Dell 310 конца 1980-х годов. В комплект входят две микросхемы, пластиковый держатель для микросхем и экстрактор микросхем .

В современных ПК BIOS хранится в перезаписываемой флэш-памяти EEPROM или NOR , что позволяет заменять и изменять содержимое. Такое перезапись содержимого иногда называют перепрошивкой . Это можно сделать с помощью специальной программы, обычно предоставляемой производителем системы, или на POST , с помощью образа BIOS на жестком диске или USB-накопителе. Файл, содержащий такое содержимое, иногда называют «образом BIOS». BIOS может быть перепрошит для обновления до более новой версии для исправления ошибок, повышения производительности или поддержки нового оборудования.

Аппаратное обеспечение

American Megatrends BIOS 686. Этот чип BIOS размещен в корпусе PLCC в сокете.

Исходный BIOS IBM PC (и кассетный BASIC) хранился на микросхемах постоянного запоминающего устройства (ПЗУ), программируемых по маске, в разъемах на материнской плате. ПЗУ могут быть заменены, но не изменены пользователями. Чтобы обеспечить возможность обновлений, многие совместимые компьютеры использовали перепрограммируемые устройства памяти BIOS, такие как EPROM , EEPROM и более поздние устройства флэш-памяти (обычно NOR flash ). По словам Роберта Брэйвера, президента компании Micro Firmware, производителя BIOS, чипы Flash BIOS стали обычным явлением примерно в 1995 году, потому что чипы электрически стираемой ППЗУ (EEPROM) дешевле и их легче программировать, чем стандартные чипы ППЗУ, стираемые ультрафиолетом ( EPROM ). Микросхемы флэш-памяти программируются (и перепрограммируются) внутри схемы, тогда как микросхемы EPROM необходимо извлекать из материнской платы для перепрограммирования. [43] Версии BIOS обновляются, чтобы использовать преимущества новых версий оборудования и исправлять ошибки в предыдущих версиях BIOS. [44]

Начиная с IBM AT, ПК поддерживали аппаратную тактовую частоту, настраиваемую через BIOS. У него был бит столетия, который позволял вручную менять столетие, когда наступал 2000 год. Большинство версий BIOS, созданных в 1995 году, и почти все версии BIOS в 1997 году поддерживали 2000 год , автоматически устанавливая бит столетия, когда часы перевалили за полночь 31 декабря 1999 года .

Первые флэш-чипы были подключены к шине ISA . Начиная с 1998 года флэш-память BIOS перешла на шину LPC в соответствии с новой стандартной реализацией, известной как «концентратор прошивки» (FWH). В 2005 году флэш-память BIOS перешла на шину SPI . [46]

Размер BIOS и емкость ПЗУ, EEPROM или другого носителя, на котором он может храниться, со временем увеличивались по мере добавления в код новых функций; Сейчас существуют версии BIOS размером до 32 мегабайт. Напротив, исходный BIOS IBM PC содержался в ПЗУ с маской размером 8 КБ. Некоторые современные материнские платы включают в себя еще более крупные микросхемы флэш-памяти NAND , которые способны хранить целые компактные операционные системы, такие как некоторые дистрибутивы Linux . Например, некоторые ноутбуки ASUS включали операционную систему Splashtop , встроенную в микросхемы флэш-памяти NAND. [47] Однако идея включения операционной системы вместе с BIOS в ПЗУ ПК не нова; в 1980-х годах Microsoft предложила вариант ПЗУ для MS-DOS, и он был включен в ПЗУ некоторых клонов ПК, таких как Tandy 1000 HX .

Другой тип микросхемы прошивки можно было найти на IBM PC AT и ранних совместимых устройствах. В АТ интерфейсом клавиатуры управлял микроконтроллер с собственной программируемой памятью. На IBM AT это было устройство с 40-контактным разъемом, в то время как некоторые производители использовали версию этого чипа со EPROM, которая напоминала EPROM. Этому контроллеру также была присвоена функция шлюза A20 для управления памятью объемом выше одного мегабайта; иногда требовалось обновление этого «BIOS клавиатуры», чтобы воспользоваться преимуществами программного обеспечения, которое могло использовать верхнюю память. [ нужна цитата ]

BIOS может содержать такие компоненты, как код ссылки на память (MRC), который отвечает за инициализацию памяти (например, инициализацию SPD и таймингов памяти ). [48] ​​: 8  [49]

Современный BIOS [50] включает встроенное ПО процессора безопасности платформы Intel Management Engine или AMD .

Продавцы и продукты

IBM опубликовала полный список BIOS для своих оригинальных ПК, PC XT, PC AT и других современных моделей ПК в приложении к техническому справочному руководству IBM PC для каждого типа компьютеров. Результатом публикации списков BIOS является то, что каждый может увидеть, что именно делает окончательный BIOS и как он это делает.

Компактный портативный 386 BIOS

В мае 1984 года Phoenix Software Associates выпустила свой первый ROM-BIOS, который позволил OEM-производителям создавать практически полностью совместимые клоны без необходимости самостоятельного реконструирования BIOS IBM PC, как это сделала Compaq для портативных компьютеров , что способствовало росту рынка ПК. индустрия совместимости и продажи версий DOS, отличных от IBM. [53] А первый BIOS American Megatrends (AMI) был выпущен в 1986 году.

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

Многие поставщики материнских плат для ПК лицензировали «ядро» и набор инструментов BIOS у коммерческой третьей стороны, известной как «независимый поставщик BIOS» или IBV. Затем производитель материнской платы настроил этот BIOS в соответствии со своим оборудованием. По этой причине обновленные версии BIOS обычно приобретаются непосредственно у производителя материнской платы. Основные IBV включали American Megatrends (AMI), Insyde Software , Phoenix Technologies и Byosoft. Программное обеспечение Microid Research и Award было приобретено Phoenix Technologies в 1998 году; Позже компания Phoenix отказалась от использования торговой марки Award. General Software , которую также приобрела Phoenix в 2007 году, продавала BIOS для встраиваемых систем на базе процессоров Intel.

Прошивка BIOS с открытым исходным кодом

Сообщество открытого исходного кода активизировало свои усилия по разработке замены проприетарных BIOS и их будущих воплощений аналогами с открытым исходным кодом. Открытая прошивка была ранней попыткой создать стандарт с открытым исходным кодом для загрузки прошивки. Первоначально он был одобрен IEEE в стандарте IEEE 1275-1994 , но был отозван в 2005 году. [54] [55] Более поздние примеры включают проекты libreboot , coreboot и OpenBIOS / Open Firmware . AMD предоставила спецификации продуктов для некоторых чипсетов, а Google спонсирует проект. Производитель материнских плат Tyan предлагает coreboot рядом со стандартным BIOS в своей линейке материнских плат Opteron .

Безопасность

Гигабайтный DualBIOS PLCC 32
Отдельный чип BIOS

Микросхемы EEPROM и флэш-памяти имеют преимущество, поскольку они могут быть легко обновлены пользователем; Производители оборудования обычно выпускают обновления BIOS для обновления своих продуктов, улучшения совместимости и устранения ошибок . Однако это преимущество имело риск того, что неправильно выполненное или прерванное обновление BIOS могло сделать компьютер или устройство непригодным для использования. Чтобы избежать подобных ситуаций, в более поздних версиях BIOS используется «загрузочный блок»; часть BIOS, которая запускается первой и должна обновляться отдельно. Этот код проверяет целостность остальной части BIOS (с использованием хэш- контрольных сумм или других методов) перед передачей ей управления. Если загрузочный блок обнаруживает какое-либо повреждение в основной BIOS, он обычно предупреждает пользователя о том, что необходимо инициировать процесс восстановления путем загрузки со съемного носителя (дискета, компакт-диск или USB-накопитель), чтобы пользователь мог снова попытаться перепрограммировать BIOS. Некоторые материнские платы имеют резервную копию BIOS (иногда называемую платами DualBIOS) для восстановления после повреждений BIOS.

Известно как минимум пять вирусов, атакующих BIOS. Два из них предназначались для демонстрационных целей. Первым, найденным в дикой природе, был Mebromi , ориентированный на китайских пользователей.

Первым вирусом BIOS был BIOS Meningitis, который вместо стирания чипов BIOS заразил их. BIOS Meningitis был относительно безвреден по сравнению с таким вирусом, как CIH .

Вторым вирусом BIOS был CIH , также известный как «Чернобыльский вирус», который был способен стирать содержимое флэш-памяти BIOS на совместимых чипсетах. CIH появился в середине 1998 года и стал активным в апреле 1999 года. Зачастую зараженные компьютеры переставали загружаться, и людям приходилось извлекать микросхему флэш-ПЗУ из материнской платы и перепрограммировать ее. CIH ориентировалась на широко распространенный в то время набор микросхем материнской платы Intel i430TX и воспользовалась тем фактом, что операционные системы Windows 9x , также широко распространенные в то время, обеспечивали прямой аппаратный доступ ко всем программам.

Современные системы не уязвимы к CIH из-за использования множества наборов микросхем, несовместимых с набором микросхем Intel i430TX, а также с другими типами микросхем флэш-ПЗУ. Существует также дополнительная защита от случайной перезаписи BIOS в виде загрузочных блоков, которые защищены от случайной перезаписи, или систем, оснащенных двумя и четырьмя BIOS, которые в случае сбоя могут использовать резервную копию BIOS. Кроме того, все современные операционные системы, такие как FreeBSD , Linux , macOS , Windows NT на базе ОС Windows, такие как Windows 2000 , Windows XP и новее, не позволяют программам пользовательского режима иметь прямой доступ к оборудованию с использованием уровня абстракции оборудования . [56]

В результате с 2008 года CIH стал практически безвредным, вызывая в худшем случае раздражение, заражая исполняемые файлы и запуская антивирусное программное обеспечение. Однако возможны и другие вирусы BIOS; [57] поскольку большинство домашних пользователей Windows без UAC Windows Vista/7 запускают все приложения с правами администратора, современный CIH-подобный вирус в принципе все равно может получить доступ к оборудованию без предварительного использования эксплойта. [ нужна ссылка ] Операционная система OpenBSD запрещает всем пользователям доступ к этому доступу, а патч grsecurity для ядра Linux также предотвращает этот прямой доступ к оборудованию по умолчанию, с той разницей, что злоумышленнику требуется гораздо более сложный эксплойт на уровне ядра или перезагрузка машины. . [ нужна цитата ]

Третий вирус BIOS был разработан Джоном Хисманом, главным консультантом по безопасности британской компании Next-Generation Security Software. В 2006 году на конференции Black Hat Security Conference он показал, как повышать привилегии и читать физическую память, используя вредоносные процедуры, заменяющие обычные функции ACPI , хранящиеся во флэш-памяти. [58]

Четвертым вирусом BIOS была техника под названием «Постоянное заражение BIOS». Он появился в 2009 году на конференции по безопасности CanSecWest в Ванкувере и на конференции по безопасности SyScan в Сингапуре. Исследователи Анибал Сакко [59] и Альфредо Ортега из Core Security Technologies продемонстрировали, как вставлять вредоносный код в процедуры распаковки в BIOS, обеспечивая почти полный контроль над ПК при запуске, даже до загрузки операционной системы. Проверка концепции не использует дефект реализации BIOS, а включает только обычные процедуры перепрошивки BIOS. Таким образом, для этого требуется физический доступ к машине или чтобы пользователь был пользователем root. Несмотря на эти требования, Ортега подчеркнул глубокие последствия своего и Сакко открытия: «Мы можем исправить драйвер, чтобы удалить полностью работающий руткит . У нас даже есть небольшой код, который может удалить или отключить антивирус». [60]

Mebromi — троян , нацеленный на компьютеры с AwardBIOS , Microsoft Windows и антивирусным ПО от двух китайских компаний: Rising Antivirus и Jiangmin KV Antivirus. [61] [62] [63] Mebromi устанавливает руткит, который заражает главную загрузочную запись .

В интервью программе «60 минут» в декабре 2013 года Дебора Планкетт, директор по обеспечению информации Агентства национальной безопасности США , заявила, что АНБ раскрыло и предотвратило возможную атаку BIOS со стороны иностранного государства, нацеленную на финансовую систему США. [64] В программе процитированы анонимные источники, утверждающие, что это был китайский заговор. [64] Однако последующие статьи в The Guardian , [65] The Atlantic , [66] Wired [67] и The Register [68] опровергли утверждения АНБ.

На новых платформах Intel включена технология Intel Boot Guard (IBG), эта технология проверяет цифровую подпись BIOS при запуске, а открытый ключ IBG объединяется с PCH . Конечные пользователи не могут отключить эту функцию.

Альтернативы и преемники

Унифицированный расширяемый интерфейс прошивки (UEFI) дополняет BIOS во многих новых машинах. Первоначально написанный для архитектуры Intel Itanium , UEFI теперь доступен для платформ x86 и Arm ; Разработкой спецификации руководит Unified EFI Forum , отраслевая группа по особым интересам . Загрузка EFI поддерживается только в версиях Microsoft Windows , поддерживающих GPT , [69] в ядре Linux 2.6.1 и более поздних версиях, а также в macOS на компьютерах Mac на базе Intel . [70] По состоянию на 2014 год новое оборудование ПК преимущественно поставляется с прошивкой UEFI. Архитектура защиты от руткитов также может помешать системе выполнять собственные изменения программного обеспечения пользователя, что делает UEFI спорным как замену устаревшего BIOS в сообществе открытого аппаратного обеспечения . Кроме того, для загрузки Windows 11 требуется UEFI. [71]

Другие альтернативы функциональности «Legacy BIOS» в мире x86 включают coreboot и libreboot .

Некоторые серверы и рабочие станции используют независимую от платформы открытую прошивку (IEEE-1275), основанную на языке программирования Forth ; он включен в состав компьютеров Sun SPARC , линейки IBM RS/6000 и других систем PowerPC , таких как материнские платы CHRP , а также OLPC XO-1 на базе x86 .

По крайней мере, с 2015 года Apple удалила поддержку устаревшей версии BIOS с компьютеров MacBook Pro . Таким образом, утилита BIOS больше не поддерживает устаревший вариант и печатает «Устаревший режим не поддерживается в этой системе». В 2017 году Intel объявила, что к 2020 году прекратит поддержку устаревшей версии BIOS. С 2019 года новые OEM-ПК на платформе Intel больше не поддерживают устаревшую опцию.

Смотрите также

Примечания

  1. ^ Хотя термин BIOS появился еще до 1981 года, стандарт для компьютеров , совместимых с IBM PC, начался с выпуска оригинального персонального компьютера IBM .
  2. ^ Сигнатура по смещению +0x1FEв загрузочных секторах такая 0x55 0xAA, то есть 0x55по смещению +0x1FEи 0xAAпо смещению +0x1FF. Поскольку в контексте машин, совместимых с IBM PC , необходимо предполагать представление с прямым порядком байтов , в программах для процессоров x86 его можно записать как 16-битное слово (обратите внимание на порядок перестановки), тогда как в программах для других процессоров его нужно было бы записать как 16-битное слово. Архитектуры ЦП, использующие представление с прямым порядком байтов . Поскольку это неоднократно путалось в книгах и даже в оригинальных справочных документах Microsoft, в этой статье используется побайтовое представление на диске на основе смещения, чтобы избежать любой возможной неправильной интерпретации.0xAA550x55AA

Рекомендации

  1. ^ «Ссылка — BIOS системы». ПКГид . Архивировано из оригинала 21 декабря 2014 г. Проверено 6 декабря 2014 г.
  2. ^ «Единый расширяемый интерфейс прошивки» . Интел .
  3. Ссылки _ OSDev.org .
  4. ^ abc Килдалл, Гэри Арлен (июнь 1975 г.), CP/M 1.1 или 1.2 BIOS и BDOS для лабораторий Лоуренса Ливермора
  5. ^ abc Килдалл, Гэри Арлен (январь 1980 г.). «История CP/M - эволюция отрасли: точка зрения одного человека» (том 5, № 1, изд. № 41). Журнал доктора Добба по компьютерной гимнастике и ортодонтии. стр. 6–7. Архивировано из оригинала 24 ноября 2016 г. Проверено 3 июня 2013 г.
  6. ^ ab «Загрузка · Linux Inside». 0xax.gitbooks.io . Проверено 10 ноября 2020 г.
  7. ^ аб Брэдли, Тони. «RIP BIOS: учебник по UEFI». ПКМир . Архивировано из оригинала 27 января 2014 г. Проверено 27 января 2014 г.
  8. ^ Суэйн, Майкл (1 апреля 1997 г.). «Гэри Килдалл и коллегиальное предпринимательство». Журнал доктора Добба . Архивировано из оригинала 24 января 2007 г. Проверено 20 ноября 2006 г.
  9. ^ ab «Веха IEEE в электротехнике и вычислениях - CP / M - Операционная система микрокомпьютера, 1974» (PDF) . Музей истории компьютеров . 25 апреля 2014 г. Архивировано (PDF) из оригинала 03 апреля 2019 г. Проверено 3 апреля 2019 г.
  10. ^ Шустек, Лен (2 августа 2016 г.). «Своими словами: Гэри Килдалл». Замечательные люди . Музей истории компьютеров . Архивировано из оригинала 17 декабря 2016 г.
  11. ^ Киллиан, А. Джозеф «Джо» (2001). «CP/M Гэри Килдалла: Немного ранней истории CP/M - 1976-1977». Томас «Тодд» Фишер , IMSAI . Архивировано из оригинала 29 декабря 2012 г. Проверено 3 июня 2013 г.
  12. ^ Фрейли, Боб; Спайсер, Даг (26 января 2007 г.). «Устная история Джозефа Киллиана, интервью взял: Боб Фрейли, отредактировал: Даг Спайсер, запись: 26 января 2007 г., Маунтин-Вью, Калифорния, CHM. Справочный номер: X3879.2007» (PDF) . Музей истории компьютеров. Архивировано из оригинала (PDF) 14 июля 2014 г. Проверено 3 июня 2013 г.
  13. ^ Гласс, Бретт (1989). «БИОС IBM PC». Байт : 303–310 . Проверено 31 декабря 2021 г.
  14. ^ «Утилита настройки HP BIOS» . Hewlett Packard . 2013. Архивировано из оригинала 12 января 2015 г. Проверено 12 января 2015 г.
  15. ^ См. Руководство разработчика программного обеспечения для архитектур Intel 64 и IA-32, заархивировано 26 января 2012 г. на Wayback Machine , том 3, раздел 9.1.2.
  16. ^ страница 5-27 Технический справочник справочной библиотеки по аппаратному обеспечению персональных компьютеров IBM , 1984, номер публикации 6361459
  17. ^ «Техническое справочное руководство IBM 5162 PC XT286 TechRef 68X2537» (PDF) . Август 1986 г. с. 35 (Системный BIOS A-5). Архивировано (PDF) из оригинала 11 декабря 2014 г. Проверено 11 декабря 2014 г.
  18. ^ Как StuffWorks: Что делает BIOS. Архивировано 7 февраля 2008 г. на Wayback Machine .
  19. ^ Акельич, Бекир (01 января 2017 г.). «BIOS БАЗОВАЯ СИСТЕМА ВВОДА/ВЫВОДА, ФУНКЦИИ И МОДИФИКАЦИИ BIOS» . BIOS : 12. Архивировано из оригинала 8 августа 2022 г. Получено 8 августа 2022 г. - через МЕЖДУНАРОДНЫЙ УНИВЕРСИТЕТ ТРАВНИК, ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, ПРОГРАММИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ТРАВНИК.
  20. ^ "BIOS - CodeDocs" . codedocs.org . Проверено 08 августа 2022 г.
  21. ^ «Схема памяти и карта памяти». flint.cs.yale.edu . Проверено 08 августа 2022 г.
  22. ^ «Таблица ACPI данных BIOS (BDAT)» (PDF) . Спецификация интерфейса . 4 (5): 67. 2020. Архивировано (PDF) из оригинала 3 июля 2021 г. Проверено 08 августа 2022 г.
  23. ^ Стиллер, Андреас; Пол, Матиас Р. (12 мая 1996 г.). «Процессоргефлюстер». c't – магазин компьютерной техники . Тенденции и новости / aktuell - Prozessoren (на немецком языке). Том. 1996, нет. 6. Верлаг Хайнц Хайзе ГмбХ & Ко КГ . п. 20. ISSN  0724-8679. Архивировано из оригинала 28 августа 2017 г. Проверено 28 августа 2017 г.
  24. ^ Мюллер, Скотт (8 июня 2001 г.). Функция обновления процессора | Типы и характеристики микропроцессоров. ИнформИТ. Архивировано из оригинала 16 апреля 2014 г. Проверено 15 апреля 2014 г.
  25. ^ «Файл данных микрокода процессора Linux *» . Центр загрузки . Скачатьcenter.intel.com. 23 сентября 2009 г. Архивировано из оригинала 16 апреля 2014 г. Проверено 15 апреля 2014 г.
  26. ^ Скотт Мюллер, Обновление и ремонт компьютеров, 15-е издание , Que Publishing, 2003 ISBN 0-7897-2974-1 , страницы 109-110 
  27. ^ «KB4100347: Обновления микрокода Intel» . support.microsoft.com . Проверено 20 сентября 2020 г.
  28. ^ «Микрокод — Debian Wiki». wiki.debian.org . Проверено 19 сентября 2020 г.
  29. ^ ab «Как работают SLP и SLIC». сайт Guytechie.com . 25 февраля 2010 г. Архивировано из оригинала 3 февраля 2015 г. Проверено 3 февраля 2015 г.
  30. ^ «Создайте и добавьте модуль таблицы OEM ACPI SLIC в BIOS congatec» (PDF) . congatec.com . 16 июня 2011 г. Архивировано (PDF) из оригинала 2 августа 2014 г. Проверено 3 февраля 2015 г.
  31. ^ Уитсон Гордон (13 января 2014 г.). «Введение в разгон процессора Intel для начинающих». Лайфхакер . Гоукер Медиа. Архивировано из оригинала 7 декабря 2014 г. Проверено 6 декабря 2014 г.
  32. ^ Статья об интеллектуальных вычислениях - Что такое BIOS? Архивировано 10 марта 2012 г. в Wayback Machine — Основы вычислений, июль 1994 г. • Том 5, выпуск 7.
  33. ^ «Что такое ACPI (расширенный интерфейс конфигурации и питания)? - Определение с сайта WhatIs.com» . ПоискWindowsServer . Проверено 18 сентября 2020 г.
  34. ^ «Изменение уровня аппаратной абстракции в Windows 2000/XP – Smallvoid.com» . 15 января 2001 г. Проверено 18 сентября 2020 г.
  35. ^ «Что такое ACPI?». www.spo-comm.de . Проверено 18 сентября 2020 г.
  36. ^ лорихоллаш. «Поддержка автономных систем — драйверы Windows». docs.microsoft.com . Проверено 05 декабря 2020 г.
  37. ^ "Карта памяти (x86) - OSDev Wiki" . wiki.osdev.org . Проверено 11 декабря 2020 г.
  38. ^ Торрес, Габриэль (24 ноября 2004 г.). «Введение и литиевая батарея». Замена батареи материнской платы . hardwaresecrets.com. Архивировано из оригинала 24 декабря 2013 г. Проверено 20 июня 2013 г.
  39. ^ Константин А. Муренин (21 мая 2010 г.). «11.1. Интерфейс из BIOS». Аппаратные датчики OpenBSD — мониторинг окружающей среды и управление вентиляторами ( дипломная работа по математике ). Университет Ватерлоо : UWSpace. hdl : 10012/5234. Идентификатор документа: ab71498b6b1a60ff817b29d56997a418.
  40. ^ Константин А. Муренин (17 апреля 2007 г.). «2. Обзор оборудования». Универсальное взаимодействие с аппаратными мониторами микропроцессорной системы. Материалы Международной конференции IEEE по сетям, зондированию и управлению 2007 г., 15–17 апреля 2007 г. Лондон, Великобритания: IEEE . стр. 901–906. дои : 10.1109/ICNSC.2007.372901. ISBN 978-1-4244-1076-7. IEEE ICNSC 2007, стр. 901–906.
  41. ^ «aibs – ASUSTeK AI Booster ACPI ATK0110, датчик напряжения, температуры и вентилятора» . OpenBSD , DragonFly BSD , NetBSD и FreeBSD . 2010.
  42. ^ "acpi_thermal(4)". www.freebsd.org . Проверено 24 февраля 2021 г.
  43. ^ «Декодирование RAM и ROM, архивировано 6 апреля 2012 г. на Wayback Machine ». Умные вычисления . Июнь 1997. Том 8, выпуск 6.
  44. ^ «Обновление Flash BIOS для Plug and Play. Архивировано 6 апреля 2012 г. на Wayback Machine ». Умные вычисления . Март 1996 г. Том 7, выпуск 3.
  45. ^ «Время проверить BIOS, архивировано 16 июля 2011 г. на Wayback Machine ». Умные вычисления . Апрель 1999 г. Том 7, выпуск 4.
  46. ^ «Архивная копия». Архивировано из оригинала 18 августа 2021 г. Проверено 1 апреля 2021 г.{{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  47. ^ "Мгновенный рабочий стол Linux от SplashTop | Geek.com" . Архивировано из оригинала 7 сентября 2008 г.
  48. ^ Автор: Алекс Уотсон, возможно, репост оригинального контента на custompc.com [неразборчиво]. «Жизнь и времена современной материнской платы». 27 ноября 2007 г. Архивировано из оригинала 24 июля 2012 г. Проверено 2 февраля 2013 г.
  49. ^ Дэвид Хилбер-младший (август 2009 г.). «Соображения по проектированию встраиваемой системы с архитектурой Intel с нехваткой системной памяти» (PDF) . Интел . Архивировано (PDF) из оригинала 18 октября 2012 г. Проверено 2 февраля 2013 г.
  50. ^ «Типы BIOS». rompacks.com . Проверено 20 сентября 2021 г.
  51. ^ Стиллер, Андреас (2001). «Процессор-Патчи». c't (на немецком языке). Heise (5): 240. Архивировано из оригинала 22 ноября 2015 г. Проверено 21 ноября 2015 г.
  52. ^ «Логотип BIOS награды» . 15 июня 2015 г. Архивировано из оригинала 21 декабря 2015 г. Проверено 6 декабря 2015 г.
  53. ^ Phoenix с нетерпением ждет клонирования IBM BIOS следующего поколения. Архивировано 22 января 2014 г. в Wayback Machine , InfoWorld , 9 марта 1987 г.
  54. ^ Стандарт IEEE для прошивки (конфигурация инициализации): основные требования и практика. 28 октября 1994 г. стр. 1–262. doi : 10.1109/IEESTD.1994.89427. ISBN 978-0-7381-1194-0. {{cite book}}: |journal=игнорируется ( помощь )
  55. ^ «Ассоциация стандартов IEEE». Ассоциация стандартов IEEE . Проверено 26 апреля 2023 г.
  56. ^ «Определение уровня аппаратной абстракции» . ПКМАГ . Проверено 11 июля 2022 г.
  57. ^ Новый вирус BIOS выдерживает очистку жесткого диска, 27 марта 2009 г. Маркус Ям. Tom's Hardware США
  58. ^ "Мультимедиа Black Hat 2006 - Презентация, аудио- и видеоархивы" . www.blackhat.com . Проверено 21 апреля 2019 г.
  59. ^ Сакко, Анибал; Альфредо Ортега (23 марта 2009 г.). «Постоянное заражение BIOS». Использование вещей . Архивировано из оригинала 4 августа 2009 г. Проверено 6 февраля 2010 г.
  60. ^ Фишер, Деннис. «Исследователи раскрывают устойчивые методы атаки на BIOS». Пост с угрозами . Архивировано из оригинала 30 января 2010 г. Проверено 6 февраля 2010 г.
  61. ^ Джулиани, Марко (13 сентября 2011 г.). «Меброми: первый руткит BIOS в дикой природе». блог . Архивировано из оригинала 23 сентября 2011 г. Проверено 19 сентября 2011 г.
  62. ^ "360发布"BMW病毒"技术分析报告" . блог . Архивировано из оригинала 25 сентября 2011 г. Проверено 19 сентября 2011 г.
  63. ^ Юань, Лян. «Троян.Меброми». Реакция на угрозу . Архивировано из оригинала 23 сентября 2011 г. Проверено 19 сентября 2011 г.
  64. ^ ab «Как «60 минут» установили камеры в шпионское агентство?». Новости CBS . 15 декабря 2013 г. Архивировано из оригинала 22 апреля 2014 г. Проверено 15 апреля 2014 г.
  65. ^ Спенсер Акерман в Вашингтоне (16 декабря 2013 г.). «АНБ продолжает 60 минут: окончательные факты, лежащие в основе ошибочного отчета CBS». theguardian.com . Архивировано из оригинала 25 января 2014 г. Проверено 27 января 2014 г.
  66. ^ Фридерсдорф, Конор (16 декабря 2013 г.). «Вопрос на 60 минут: почему Китай хочет разрушить мировую экономику?». Атлантический океан . Проверено 26 марта 2019 г.
  67. ^ Поулсен, Кевин (16 декабря 2013 г.). «60 минут Puff Piece утверждает, что АНБ спасло США от кибертерроризма» . Проводной . ISSN  1059-1028 . Проверено 26 марта 2019 г. - через www.wired.com.
  68. ^ Шарвуд, Саймон (16 декабря 2013 г.). «АНБ утверждает, что «BIOS замышляет уничтожить компьютеры»». Регистр . Проверено 26 марта 2019 г.
  69. ^ «Часто задаваемые вопросы по Windows и GPT» . microsoft.com . Майкрософт. Архивировано из оригинала 19 февраля 2011 г. Проверено 6 декабря 2014 г.
  70. ^ «Расширяемый интерфейс прошивки (EFI) и унифицированный EFI (UEFI)» . Интел . Архивировано из оригинала 5 января 2010 г. Проверено 6 декабря 2014 г.
  71. ^ «Характеристики Windows 11 и системные требования | Microsoft» . Майкрософт . Проверено 14 октября 2021 г.

дальнейшее чтение

Внешние ссылки