41
3.Проверка системного таймера и порта звуковой сигнализации;
4.Тест контроллера прямого доступа к памяти;
5.Тест регенератора генератора оперативной памяти;
6.Тест нижней области ОЗУ для проецирования резидентных программ в BIOS;
7.Загрузка резидентных программ;
8.Тест стандартного графического адаптера (VGA);
9.Тест оперативной памяти;
10.Тест основных устройств ввода (НЕ манипуляторов); 11.Тест CMOS - Complementary Metal-Oxide-Semiconductor; 12.Тест основных портов LPT/COM;
13.Тест накопителей на гибких магнитных дисках (НГМД); 14.Тест накопителей на жестких магнитных дисках (НЖМД); 15.Самодиагностика функциональных подсистем BIOS; 16.Передача управления загрузчику ОС.
Замечание
Выбор между прохождением полного или сокращенного набора тестов, при включении компьютера, можно задать в программе настройки базовой системы ввода-вывода,
Setup BIOS.
Для новых современных платформ ЭВМ, компания Intel предлагает EFI —
Extensible Firmware Interface.
Первоначально, середины 1990 годов, EFI разрабатывалась для первых систем IntelHP Itanium.
Позже, этот интерфейс был переименован в UEFI, разработку которого продолжил
Unified EFI Forum.
На данный момент, последняя версия UEFI 2.4, принята в июле 2013 года.
Обычно, UEFI имеет новый графический интерфейс, предполагающий улучшить «реликтовый BIOS». Это стало возможным благодаря совершенствованию технологии изготовления микросхем EEPROM: увеличению их объема и быстродействия, а также снижению себестоимости. Тем не менее, между функционированием BIOS и UEFI имеются существенные различия, которые необходимо хорошо знать. Рассмотрим это подробнее.
Процессор х86, после включения питания ЭВМ, проводит самотестирование и начинает свою работу в реальном режиме, который обеспечивает ему доступ ко всем ресурсам компьютера. Обнулив все регистры, он высталяет значения CS и IP специальным образом:
•для моделей до 80386-DX: CS=0xFFFF, IP=0x0000 — что указывает на последние 16 байт в конце 1-го МБайта оперативной памяти ЭВМ;
•начиная с 80386-DX: CS=0x0000, EIP=0xFFFFFFF0 — что указывает на последние 16 байт в конце 4-х ГБайт оперативной памяти ЭВМ.
42
После установки начальных значений регистров и захвата шины компьютера, процессор начивает выполнять команды извлекаемые из памяти ЭВМ и эта работа не прекращается до полной остановки самого процессора.
Обычно, указанные 16 байт, содержат команду GOTO по адресу ПО BIOS, что поддерживается специальной микросхемой памяти, определенной аппаратным конструктивом компьютера.
Таким образом, начинается работа любой современной ЭВМ.
ПО BIOS, начиная свою работу, делает небольшой тайм-аут выводит на экран подсказку, чтобы пользователь мог войти в режим настройки (BIOS Setup). Выполнив все программы POST, BIOS ищет загрузочное устройство ЭВМ, среди списка доступных, после чего запускает загрузочный код, расположенный в специальном секторе блочного устройства: MBR.
MBR — Master Boot Record — специальная структура загрузочного устройства, подробно рассмотренная далее.
Возможности ПО BIOS достаточно широки и не ограничиваются только перечисленными выше функциями POST, поиском загрузочного устройства и запуском программного кода MBR. Чтобы это показать, рассмотрим структуру ОЗУ ЭВМ.
Типичная схема оперативной памяти (ОЗУ) IBM PC-совместимого компьютера показана на рисунке 2.5.
В начале ее расположена область векоторов прерываний, занимающая 1024 байта: по 4 байта на один вектор (всего 256 векторов).
Вектор прерывания — адрес программы в памяти ОЗУ (обработчика прерывания), которая будет исполняться процессором, когда такое прерывание произойдет. BIOS в начале своей работы, выставляет адреса этих векторов на свое собственной ПО, обеспечивая возможности полнофункционального управления компьютером.
Для компьютеров типа IBM PC AT, назначение ряда векторов прерываний следующее:
•INT 00h — деление на 0;
•INT 01h— пошаговый режим;
•INT 02h— немаскируемое прерывание;
•ТХТТ ATI INT ОЗh — точка останова;
•INT 04h — переполнение;
•INT 08h — таймер;
•INT 09h — клавиатура;
•INT 10h — видео сервис;
•INT 33h — поддержка мыши;
•INT 4Ah — будильник пользователя.
Первоначально, такие ОС, как MSDOS, использовали эти прерывания в своей работе. MSDOS имеет даже свой собственный вектор 21h — функции DOS.
43
Рисунок 2.5 — Типичная схема ОЗУ памяти ЭВМ
ПО UEFI интенсивно использует новейшие технологические возможности современных компьютеров. Хотя также выполняются функции аналогичные POST, UEFI сразу переводит процессор в защищенный режим работы, тем самым, обеспечивая повышенную надежность работы ПО. Такой подход позволяет использовать сертифицированные подходы к использованию ЭВМ, буквально на этапе его включения. Кроме того, ПО UEFI способно работать с файловыми системами и более современной структурой блочных устройств — GPT.
GPT — GUID Partition Table — новая структура блочных устройств, позволяющая разбивать их на 128 основных разделов, в отличие от структуры MBR, которая допускает наличие только 4-х основных разделов.
Можно выделить следующие основные особенности ПО UEFI:
•работа в защищенном режиме процессора;
•возможность защищенной сертификатами загрузки ОС;
•возможность поддержки CSM - Compatibility Support Module — модули, обеспечивающие загрузку ОС, совместимую с возможностями BIOS;
•модульная организация ПО поддержки аппаратных средств компьютера, firmware, которое можно собирать и устанавливать от производителей оборудования;
44
•специальная структура ПО, соответствующая запускаемым exe-файлам ОС MS Windows;
•возможность загрузки множества разных ОС;
•непосредственный вызов загрузчика ОС;
•возможность работы со структурой GPT блочных устройств;
•требование наличия собственного специального раздела для блочных устройств;
•требование формата FAT12/16/32 для собственного раздела.
Замечание
1.Стали появляться ноутбуки с UEFI и предустановленной ОС MS Windows 8. При покупке такого компьютера, убедитесь, что основное окно UEFI имеет переключатель «Legacy BIOS» и отключение режима «Security», иначе вам не удастся загрузить другую ОС.
2.Для компьютеров на базе иных платформ, чем х86, для обозначения встроенного ПО могут использоваться другие термины. Например, для архитектур SPARC или UltraSPARC, firmware может называться PROM или Boot.
Впредыдущей теме, перечисляя типы специальных файлов, мы отметили файлы устройств.
Все файлы устройств разделяются на символьные и блочные:
блочными называются внешние устройства компьютера, обмен данными с
которыми можно производить только блоками: целостной упорядоченной последовательностью байт; к блочным устройствам относятся «жесткие» и floppy диски, магнитные ленты, диски CDROM и другие; на блочных устройствах возможно создание файловых систем;
все другие устройства, не являющиеся блочными, называются символьными;
обмен данными с символьными устройствами осуществляется по одному байту; например, клавиатура, мышь, консоль экрана, COM-порты, сетевые устройства и другие — символьные.
Замечание
Магнитные ленты могут иметь физические блоки переменной длины. «Жесткие диски (вичестера)» имеют физические блоки фиксированной длины. Текущий стандарт физического блока винчестера: 1 сектор — 512 байт. Символьное устройство не обозначает текстового содержимого.
Для симольных устройств, во многих случаях, понятие объема хранения данных не применимо.
ОС MS Windows обозначает разделы блочных устройств, имеющих форматы FAT и NTFS буквами с двоеточием: A:, D:, C:, …, Z:. Прописные и заглавные буквы — неразличимы. Символьные устройства обычно скрыты за графическим интерфейсом и, в явном виде, не используются.
45
ОС UNIX и Linux имеют общие правила обозначения устройств:
•имена устройств находятся в специальной директории /dev; в нее смонтирована специальная область ядра udev с файловой системой типа devtmpfs;
•имена устройств имеют имя драйвера, которое управляет этим устройством; прописные и заглавные буквы различаются;
•имена устройств, объединенных одним драйвером, разделяются цифрой, добавляемой к имени драйвера, начиная с нуля.
Замечание
При наличии соответствующих драйверов, в ОС UNIX и Linux, можно с блочным устройством работать как с символьным, поэтому понятия блочный и символьный применимы и к драйверам, управляющим устройствами.
Традиционно, загрузочным устройством ЭВМ является винчестер или «жесткий диск». Конструктивно, винчестер состоит из набора круглых пластин, которые центральной частью, на некотором расстоянии, надеты на шпиндель, вращающийся посредством электродвигателя:
каждая сторона круглой пластины покрыта магнитным составом, способ-
ным фиксировать информацию посредством магнитных головок, которые «плавают» над каждой стороной диска;
отдельная окружность на отдельной стороне диска образует трек (track);
совокупность треков одного диаметра, образуют цилиндр (cylinder); цилиндры пронумерованы от внешнего края диска, начиная с 0;
все магнитные головки винчестера (head) одновременно находятся над треками одного цилиндра и пронумерованы от 0 (обычно от 0 до 15);
каждый трек разделен на 63 части — сегменты (физический блок), прону-
мерованные, начиная с 1.
Таким образом, физические блоки винчестера (сегменты) пронумерованы в системе координат CHS, начиная с сегмента (0, 0, 1).
Замечание
Следует отметить, что адресация CHS (Цилиндр, Головка, Сектор), заложенная в конструкцию первых персональных компьютеров и ПО BIOS, не позволяет адресовать более 7.8 Гбайт данных. Поэтому современные ЭВМ, имеющие винчестера емкостью более 7.8 Гбайт, используют адресацию LBA.
LBA (Logical block addressing) — механизм адресации и доступа к блоку данных на на «жестком диске», при котором системному контроллеру нет необходимости учитывать геометрию самого жесткого диска: количество цилиндров, сторон и секторов на цилиндре.