Операционная система - это комплекс программ, предназначенный для выполнения определенных для него разработчиками множества команд и автоматически выполняемых функций. Команды и функции выполняемые операционной системой позволяют нам достаточно просто и удобно организовывать выполнение сложнейших прикладных задач используя для выдачи команд нажатия на клавиши или кнопки “мышки”. Возможность выполнения команд с помощью командной строки сохранилась и в графических операционных системах Windows. Доступ к возможностям, предоставляемым нам операционной системой возможен только после окончания процесса ее автоматической или автоматизированной загрузки в котором участвуют различные компоненты компьютера (процессор, ПЗУ BIOS, интерфейсы, микросхемы чипсета материнской платы, CMOS-память, диски и т.д.).
Многие программы для повышения производительности игнорируют предоставляемый BIOS и операционной системой сервис и напрямую работают с аппаратным обеспечением (например, с видеопамятью). Некоторые операционные системы (начиная еще с Windows 9x и Windows NT/2000) не позволяют работать с аппаратным обеспечением напрямую, поэтому в программу, которая не соответствует спецификациям операционной системы, придется вносить изменения. При проблемах с загрузкой операционных систем, рекомендуется попытаться загрузить с системной дискеты простейшую операционную систему типа MSDOS, которая использует минимум ресурсов компьютера и возможно загрузка пройдет успешно. В этом случае Вы получите возможность использовать программные средства для поиска и локализации неисправности в компьютере.
Нижним уровнем в иерархии вычислительной системы является аппаратное обеспечение. Программы передавая различные значения, данные и команды в порты контроллеров внешних устройств и изменяя значения системных переменных, управляют работой всех подключенных устройств на физическом уровне. Это очень сложный процесс, требующий подробного знания архитектуры компьютера, контроллеров внешних устройств, знания наборов команд контроллеров, адресов их портов, их назначение и назначение отдельных разрядов портов и многое другое.
При включении персонального компьютера управление получает специальный набор программ в машинных кодах (POST-тест, начальный загрузчик, программы BIOS, расположенные в ПЗУ BIOS). Этот набор программ, всегда присутствует в системе и напрямую управляет аппаратными средствами компьютера. Программы BIOS через программные прерывания получают и отрабатывают команды, поступающие от программ более высокого уровня, обеспечивая связь программного обеспечения с аппаратурой. Операционная система состоит из множества компонентов, она взаимодействует с BIOS, и с драйверами внешних устройств, которые фактически являются расширением BIOS, предоставляющим пользовательским программам стандартные возможности ввода-вывода. Операционная система обеспечивает взаимодействие BIOS с программами высокого уровня (например, с пользовательскими приложениями). Она предоставляет значительный набор функций для работы с файлами и аппаратным обеспечением. Используя функции операционной системы, можно, например, инициировать ввод-вывод, открыть, закрыть, найти, удалить, создать, или переименовать файл, а также выполнить над ним другие действия. Этот стандартный набор функций для работы с файлами дает возможность восстанавливать данные в случае их повреждения. Все приложения пользуются единой системой файлов, средства для работы с которыми предоставляет операционная система.
Одна из основных задач операционной системы заключается в загрузке программ с устройства внешней памяти в оперативную память и запуске их на выполнение. Операционная система предоставляет запускаемым программам функции и окружение, необходимые для их работы. Такая интеграция функций аппаратного обеспечения в операционную систему - одна из основных задач, решаемых разработчиками операционных систем.
Комплекс программ, прошитых в ПЗУ BIOS, является связующим звеном между аппаратным обеспечением и операционной системой. У каждого типа устройств (диски, принтеры, клавиатура и т. д. есть свой комплект программ BIOS(каждая программа BIOS реализует свою функцию управления устройством, например, чтение секторов диска, установка позиции курсора на экране монитора и т. д.). Эти программы написаны высококвалифицированными специалистами по аппаратным средствам компьютеров и их периферийным устройствам. Программы BIOS позволяют просто и стандартным образом осуществлять управление аппаратурой на физическом уровне (на уровне команд контроллеров, программно-доступных регистров аппаратуры) не владея всей необходимой для этого информацией. Если бы операционной системе пришлось работать непосредственно с аппаратным обеспечением, она была бы к нему очень привязана и полностью зависела от архитектуры компьютера. Вместо этого фирмы разрабатывают набор стандартных программ-функций управления аппаратурой и прошивают их в ПЗУ, сделав их, таким образом, всегда доступными системе.
Каждая система комплектуется своей BIOS, что обеспечивает полную обратную совместимость программного обеспечения с аппаратурой. Благодаря такому способу взаимодействия операционная система может пользоваться единым интерфейсом для работы с различными архитектурами компьютеров. Кроме того, любое приложение, использующее стандартные функции операционной системы, будет работать под ее управлением в любой системе.
Однако следует помнить, что код программ BIOS может изменяться от архитектуры к архитектуре, так что BIOS одной системы вовсе не обязательно подойдет для другой системы. Если вы решили заменить BIOS, обратите особое внимание на то, для какой системной платы и какого набора микросхем она разработана.
В идеальном варианте все программы должны общаться с аппаратным обеспечением через BIOS и операционную систему, но некоторые из них написаны с прямым доступом к аппаратному обеспечению, минуя BIOS. Такие программы могут работать только в операционной системе DOS, в то время как уже Windows 9x, Windows NT/200х, Linux, OS/2 обращения на физическом уровне к устройству не позволяют. Именно поэтому лучше всего выполнять тестирование аппаратного обеспечения под управлением MSDOS. Кроме того, некоторые утилиты требуют непосредственного взаимодействия с аппаратным обеспечением. Например, программы управления памятью в DOS работают с процессором напрямую и используют его специфические особенности, а система управления памятью в Windows 9x и Windows NT/200x реализована уже непосредственно в самой операционной системе. Программы BIOS для дисков (например Int 13h, функция 42h: расширенное чтение)выполняют и некоторые диагностические функции, при обнаружении ошибки они записывают 1 в флажок CF регистра флагов процессора и код ошибки в регистр AH процессора:
Стандартные коды состояния, ошибок (для жестких дисков)
Код |
Состояние дисковода |
|
|
00h |
Успешное завершение операции, ошибок нет |
|
|
01h |
Недопустимый номер функции или параметр |
|
|
02h |
Не найден адресный маркер |
|
|
04h |
Сектор не найден |
|
|
05h |
Сброс в исходное состояние не выполнен |
|
|
07h |
Повреждена таблица параметров дисковода |
|
|
0Ah |
Обнаружен дефектный сектор |
|
|
10h |
При чтении по контрольному коду обнаружена неисправимая ошибка |
|
|
|
|
||
11h |
При чтении по контрольному коду была обнаружена и исправлена ошибка |
||
20 h |
Отказ контроллера |
||
40 h |
Сбой при выполнении поиска |
||
80h |
Диск не отвечает (тайм-аут) |
||
AAh |
Дисковод не готов |
||
BBh |
Неизвестная ошибка |
||
CCh |
Ошибка при записи |
||
E0h |
Ошибка регистра состояния |
||
Дополнительные коды состояния дисковода |
|||
Код |
Состояние дисковода |
||
B0h |
Том не заперт |
||
B1h |
Том заперт в дисководе |
||
B2h |
Том является неперемещаемым |
||
B3h |
Том используется |
||
B4h |
Счетчик запирания переполнен |
||
B5h |
Команда извлечения носителя не выполнена |
||
B6h |
Носитель присутствует, но защищен от записи |
После завершения операции функция (Int 13h, функция 42h) возвращает в регистре АН состояние дисковой системы (или код ошибки). В случае аварийного завершения выполнения функции поле счетчика блоков в пакете дискового адреса содержит число блоков, которые были успешно прочитаны (прочитаны до того, как произошла ошибка).