Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Theme_Lab_Rab№2.doc
Скачиваний:
49
Добавлен:
23.03.2016
Размер:
1.11 Mб
Скачать

Лекция №5.

Определение конфигурации компьютера программными средствами.

Если ваша программа работает с устройствами компьютера на низком уровне или использует какие-либо аппаратные особенности периферии, она должна "уметь" определять конфигурацию аппаратных средств.

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

Конфигурация аппаратных средств записывается в область данных BIOS и в энергонезависимую память CMOS специальной программой BIOS Setup.

BIOS

(слайд №2)

Базовая система ввода-вывода(BIOS - Basic Input/Output  System)- это программный  интерфейс между программами и оборудованием ПЭВМ.BIOS изолирует  операционную систему и прикладные программы от  аппаратных  особенностей конкретных устройств и позволяет программистам,  пишущим на языках ассемблера, Си и т.п., выполнять операции  ввода-вывода, не заботясь об адресах устройств или их аппаратных  характеристиках. Кроме того,BIOSобеспечивает ряд системных  услуг, например, позволяет узнать размер памяти ПЭВМ или текущее  время дня.

Рекомендуется использовать запросы к BIOS вместо прямой  манипуляции портами ввода-вывода при написании как системных,  так и прикладных программ.Программирование на уровне BIOS  уменьшает зависимость программ от изменения параметров  оборудования ПЭВМ и, тем самым, повышает их  мобильность.

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

BIOS в своем нынешнем виде существует уже около 15 лет, и до сих пор ее работа не вызывает нареканий. Тем не менее, у этой системы уже есть преемник — EFI (Extensible Firmware Interface). Данный интерфейс поддерживает 64-битные системы, благодаря чему совместим и с компьютерами следующего поколения. Кроме того, обладающий графической оболочкой EFI обеспечивает возможность более простого конфигурирования ПК. Однако до сих пор эта новая технология проверки встречается только на компьютерах Macintosh и лишь немногих обычных ПК.

После включения питания ПК к работе приступает первая составляющая BIOSпрограмма самотестирования POST (Power On Self Test). Она проверяет корректность функционирования основных аппаратных компонентов ПК. После этого BIOS инициализирует чипсет компьютера.

Сначала система выполняет сброс центрального процессора, запрещая линии немаскируемых прерываний в нем (Non-Maskable Interrupt).

Почти одновременно с этим, как только поступает напряжение, выполняется аналогичная процедура для клавиатурного контроллера. На этапе Reset Determination (определение способа) BIOS проверяет, можно ли ограничиться только программным сбросом. Для этого считываются соответствующие биты в контроллере клавиатуры.   Преимущество   программного сброса заключается в том, что он выполняется на несколько миллисекунд быстрее.

Теперь BIOS осуществляет самопроверку, выполняя подсчет контрольной суммы на основе всех битов микросхемы своего ПЗУ. В сумме с определенной заданной величиной должно получиться значение «00».

Далее компьютер посылает контроллеру клавиатуры команду, которая вызывает выполнение следующего теста и выделяет буфер для программных команд. В него BIOS записывает командный байт, проверяя, таким образом, встроенный контроллер клавиатуры.

Далее выполняется проверка CMOS-чипа (Complementary Metal Oxide Semiconductor), в котором хранятся пользовательские настройки BIOS. Эти конфигурационные файлы считываются при каждом запуске системы. Сохранность данных и настроек в чипе зависит от того, подключена ли питающая его батарея.

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

(слайд №3)

Затем POST тестирует работоспособность таймера, отвечающего за корректное распределение аппаратных прерываний (IRQ, Interrupt Request). Запрос на такое действие — команда, посылаемая процессору жестким диском или видеоплатой с целью оповестить CPU о наличии данных, подлежащих обработке.  При этом с момента поступления запроса до начала обработки данных проходит определенный промежуток времени, который называется задержкой прерывания.

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

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

Поскольку количество свободных прерываний в системе ограничено, в современном компьютере несколько устройств располагаются на одной линии прерывания (Interrupt Sharing). В этом случае обработчик должен запускать на выполнение драйверы всех устройств, от которых мог поступить запрос. Это может вызвать проблемы, если написанный с ошибками драйвер слишком долго имеет статус активного. Другое устройство данной линии прерывания выполняет в это время запись информации в буфер, который в определенный момент окажется переполненным, что может привести к потере данных. Поэтому в современных ПК операционная система самостоятельно распределяет номера IRQ между периферийными устройствами.

Затем BIOS тестирует адресные линии в первом блоке памяти размером 1 Мбайт на наличие ошибок. Для этого POST осуществляет запись шаблонов данных в оперативную память с целью их последующего сравнения.

Далее BIOS определяет тип видеоадаптера, подвергает его и монитор ряду тестов, а затем инициализирует видеоплату. Только после этого на экране могут отображаться сообщения об ошибках.

Далее наступает очередь контроллера DMA (Direct Memory Access). Главный мост (Host Bridge), который также называют северным (мостом, связывает процессор и оперативную память с системной шиной материнской платы). Основное количество транзакций на шине выполняется между мостом и остальными периферийными устройствами. Для сокращения времени обработки своих данных последние могут напрямую обращаться к главному мосту и таким образом «без посредников» производить запись информации в оперативную память. В тесте BIOS вновь использует шаблоны данных, которые система помещает в ОЗУ.

Интерфейс клавиатуры также подлежит проверке. При его неисправности BIOS выдает сообщение об ошибке именно на данном этапе.

BIOS еще раз проверяет оптические приводы, жесткие диски и разъемы, перед тем как выполнить прерывание INT 19 и передать управление загрузчику, который отвечает за запуск операционной системы и обмен данными между жестким диском и его контроллером. Многие версии BIOS позволяют отключить выполнение IRQ 19 — это целесообразно в тех случаях, когда в системе имеется дополнительный дисковый контроллер, например PCI RAID.

Если на каком-либо этапе самотестирования возникает ошибка, компьютер подает несколько звуковых сигналов и выводит на экран сообщение о ней. Для расшифровки сигналов BIOS существуют таблицы POST-кодов. Если вы хотите точно знать, какой компонент неисправен, вам поможет стандартная карта PCI POST для диагностики неисправностей материнских плат, которая устанавливается в слот PCI. Неисправность отображается в виде числового кода. С помощью, поставляемой в комплекте с платой, таблицы кодов можно определить проблемный компонент системы.

Если все в порядке, BIOS сгенерирует короткий звуковой сигнал, после чего на загрузочном устройстве будет выполнен поиск запускаемой операционной системы. Если на данном этапе возникает ошибка, то причина, как правило, кроется в отсутствии главной загрузочной записи — MBR (Master Boot Record). В этом случае можно попытаться оживить систему с помощью установочного DVD.

(слайд №4)

В последнее время также стали широко обсуждаться и развиваться вопросы, связанные с заменой BIOSинтерфейсомUEFI (Unified Extensible Firmware Interface ). Данный интерфейс призван стать новым стандартом базовой системы для ПК.

Для чего нужны BIOS и UEFI?

Для обозначения базовой системы (микропрограммы) используют также термин Firmware:аппаратно реализованное (встроенное) ПО. Он указывает на то, что программа «зашита» в микросхему на материнской плате (то есть ее не нужно устанавливать) и запускается автоматически.Сразу после включения ПК BIOS и UEFI выполняют несколько задач:

  1. Тестирование оборудования. ВначалеBIOSосуществляет базовую проверку основных узлов компьютера. При этом проверяются не все компоненты, а лишь те, которые необходимы для запуска ПК, напримерпроцессори оперативная память.

  2.  Загрузка настроек. После окончания процедуры самотестирования (она занимает меньше минуты)BIOSопределяет некоторые настройки. Сюда относятся, например, частота оперативной памяти, время включения встроенных вентиляторов или выбор режима энергосбережения, в который перейдет компьютер после длительного простоя. Многие из настроек можно изменить и в самой операционной системе, однако большинство параметровBIOSустанавливает непосредственно перед запуском Windows. На данном этапе загрузки пользователь также может изменить некоторые настройки – например, включить или отключить отдельные интерфейсы на материнской плате (например, для жестких дисков или USB-устройств). Кроме того, есть возможность выбора последовательности, в которой компьютер будет обращаться к загрузочным устройствам при запуске операционной системы (например, сначала – к жесткому диску, затем – к приводу CD/DVD, а после – к USB-накопителю).

  3. Загрузка операционной системы.В заключениеBIOSзагружает ОС. После запуска системы и всех драйверов потребность вBIOSотпадает.

Что означают аббревиатуры BIOS и UEFI?

  1. BIOS.Basic Input-Output System(базовая система ввода-вывода) существует почти 30 лет.

  2. UEFI.ИнтерфейсUnified Extensible Firmware Interfaceс2001года разрабатывался компаниейIntelкакстандартEFI (Extensible Firm­ware Interface, расширяемый интерфейс встроенного ПО) для серверного процессораItanium. Ввиду того, что данная модель представляла собой воплощение новейших технологий, найти подходящую версиюBIOS, которая работала бы сItaniumпосле небольшой доработки, оказалось невозможным.Apple– первый производитель, начавший использовать во всех своих настольных компьютерах и ноутбуках индивидуальную версиюEFI. Компания остается вернаEFIс2006года, когда она принялась оснащать ПК и ноутбуки процессорамиIntel. В2005году аббревиатураEFIбыла дополнена словомUnified. Оно говорит о том, что координацию разработки интерфейса осуществляют несколько компаний. Сюда относятся производители ПК, напримерDell,HPиIBM, а также разработчикиBIOS, напримерPhoenixиInsyde. Не обошлось и безMicrosoftкак основного разработчика ОС.

Почему BIOS должна уйти?

Разрабатывая BIOS, программисты не задумывались о том, в течение какого времени будет использоваться эта система. Поэтомув этойбазовой системеесть несколько компонентов, изменение которых невозможно либо связано с весьма большими трудностями.Например, BIOS (без специальных ухищрений) способна распознать диск емкостью лишь до 2 Тб, а современные 3,5-дюймовые жесткие диски могут хранить уже до 3 Тб данных.В UEFI подобных ограничений нет.Притом новая система предоставляет единый интерфейс программирования– это облегчает разработку программ, запускаемых до загрузки операционной системы. Кроме того,UEFI позволяет интегрировать дополнительные функции, например программу резервного копирования данных.Наконец,в UEFI отсутствуют некоторые технически устаревшие функции, имеющиеся в BIOS, – например, переключение процессора при загрузке системы в медленный режим работы Real Mode.

Преимущества UEFI:

(слайд №5)

  1. Поддержка жестких дисков большой емкости.Для управления жесткими дисками BIOS использует MBR(Master Boot Record, главная загрузочная запись) –она содержит информацию о разделах жесткого диска.Основной недостаток MBR:размер каждой записи в ней составляет 32 бита. В результатеBIOSможет контролировать приблизительно 4 млрд (232) секторов. К тому же базовая система «рассчитывает» на то, что размер каждого сектора составляет 512 байт;в итогеоказывается, чтоBIOS не может работать с дисками свыше 2 Тб. И если двадцать лет назад подобный объем считался несбыточной мечтой, то сейчас это суровая реальность. Секторы больших размеров позволили бы использовать диски емкостью 3 Тб, но не все программы из тех, которые напрямую обращаются к жесткому диску, работают с ними корректно. Что касаетсяинтерфейса UEFI, он использует для управления жесткими дисками технологию GPT (GUID Partition Table), обеспечивающую возможность записи на жесткий диск большего объема данных. В итогестандарт GPT поддерживает жесткие диски емкостью до почти 8 млрд Тб.

  2. Встроенная BIOS.При использовании материнских плат на базеUEFIотпадает необходимость вBIOS, поскольку все функции BIOS содержатся в UEFI в виде так называемого модуля поддержки совместимости (Compatibility Support Module). Поэтому программа, использующая функцииBIOS, работает и на компьютерах сUEFI.

  3. Простота управления. Для навигации по меню настроек и выбора программ можно пользоваться мышью. ВBIOS, напомним, можно было работать только с помощью клавиатуры. К тому же интерфейсUEFIподдерживает более высокое разрешение.

  4. Преимущества в скорости загрузки. От включения компьютера до момента, покаBIOSзагрузит операционную систему, проходит 30–60 с.UEFIработает быстрее.

  5. Встроенная операционная система. UEFI имеет также собственную оболочку. По сути – этоминиатюрная операционная система, которая, как иDOS(далекий предок Windows),«понимает» только текстовые команды. Она может оказаться полезной для опытных пользователей или системных администраторов, пытающихся установить причины отказа загрузки основной ОС. Некоторые производители, в том числе компанияMSI, предлагают дляUEFIсобственные операционные системы на базеLinux, загружаемые с CD/DVD.

  6. Дополнительные программы. Встроенная мини-ОС подходит и для установки дополнительных программ. Последние можно интегрировать в виде отдельных пунктов меню интерфейса UEFI либо загружать с CD/DVD. Однако это дело будущего – в настоящее время доступно небольшое количество приложений. К тому же речь идет, как правило, о вспомогательных утилитах и очень простых играх, например Pair Match.

Определение конфигурации с помощью BIOS.

Доступ к BIOS.

(слайд №6)

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

За процедурами BIOS закреплены прерывания Int 10h – Int 11Ah.

Например, Int 12h вызывает процедуру, которая  возвращает  вызвавшей ее программе размер оперативной памяти ПЭВМ.

Входные и выходные параметры процедур BIOS передаются в  регистрах общего назначения центрального процессора  ПЭВМ.

Например, для установки  системного времени нужно  подать  следующие команды:

MOV AH, 1 ; Функция 1 - установка времени

MOV CX, HIGH_COUNT ; CX:DX = новое значение времени MOV DX,LOW_COUNT

INT 1AH ; Точка входа в BIOS, обслуживающая запросы к таймеру

Для чтения времени используется следующая программа:

MOV AH,0 ; Функция 0 - чтение времени

INT 1AH ; Запрос к BIOS. Результат будет возвращен в регистрах CX и DX.

Процедуры BIOS сохраняют значения всех регистров, кроме тех  из них, в которых возвращаются значения.

Области данных BIOS.

(слайд №7)

Области данных BIOS - это либо области ОЗУ, в которых  хранится текущая информация о состоянии ПЭВМ, либо области ПЗУ,  в которых записаны аппаратные характеристики  устройств.

Сведения о наличии основных устройств компьютера записывается в область данных BIOS с адресом 0000:0410 размером в двухбайтовое слово - слово конфигурации. С помощью прерывания INT 11h программа может получить в регистре AX слово конфигурации из указанной выше области данных BIOS.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]