Для запуска прикладной программы нужна ОС (DOS), находящаяся в оперативной памяти компьютера, но если компьютер был выключен, то нужно предварительно загрузить в ОЗУ саму операционную систему. Это происходит следующим образом:
1. После включения питания PC, схемы контроля уровня питающих напряжений, находящиеся в БП (Hard Ware) выдают сигнал Power OK (Power Good).
2. По сигналу Power OK, ИМС интервального таймера (или СБИС чип-сета с этим таймером) вырабатывает сигнал RESET (приведение АПС в исходное состояние).
3. Сигнал RESET, после сброса CPU, FPU, контроллеров, кэш, регистров и т. д., своим задним фронтом запускает в работу CPU.
4. CPU вырабатывает обращение к ROM BIOS по адресу 0FFFh (первый адрес POST-программы); больше он самостоятельно ничего делать не может, кроме как выполнять инструкции (машинные команды), содержащиеся в объектном модуле исполняемой программы.
5. Проверив флаг рестарта ("холодный" старт или "теплый" рестарт), BIOS запускает всю (при "холодном" старте) или только некоторую (при "теплом" рестарте) часть POST-программы самоконтроля Hard Ware РС.
6. Если POST-программа выполняется неверно, то BIOS формирует и выводит на монитор видео-код обнаруженной ошибки (если видеоподсистема исправна) или аудио-код ошибки, если вывести код ошибки на дисплей нельзя из-за того, что видеосистема еще не проверена или неисправна.
7. Если POST-программа выполнилась, BIOS формирует для CPU команду чтения загрузочного сектора с FD (дисковод А:), привода CD или HD (дисковод С:).
8. Если в дисководе А: или на CD-дисководе находится системная дискета или компакт диск (первый сектор – загрузочный) и дисковод готов, то загрузочная запись с дискеты переписывается в ОЗУ и управление передается программе начальной загрузки DOS (IPL2), находящейся в BOOT-секторе загрузочной дискеты или CD-диска.
9. Если дисковод А: и CD-дисковод не активны, то формируется обращение к диску С: (HDD), откуда считываться Master Boot Record аналогично FD, и управление передается программе начальной загрузки DOS – IPL1. Впрочем, порядок опроса дисководов для загрузки операционной системы может быть по желанию пользователя изменен в настройках BIOS, с помощью утилиты SetUp.
10. Программа IPL загружает ядро DOS (ее резидентную часть) с диска – в ОЗУ и передает ей управление. Это ядро составляют файлы IBMBIO.COM и IBMDOS.COM (если DOS версии IBM) или IO.SYS и MSDOS.SYS (если DOS версии Microsoft), или два других аналогичных по функциям файла для других версий DOS, а также файл командного процессора – COMMAND.COM. Назначение последнего – дешифрация и исполнение системных команд, вводимых оператором в командной строке или записанных в конфигурационных файлах CONFIG.SYS и AUTOEXEC.BAT и других пакетных командных файлах.
11. Теперь управление передается самой операционной системе, точнее ее файлу IBMDOS.COM. Файл IBMDOS.COM отыскивает в корневом каталоге системного диска конфигурационные файлы CONFIG.SYS и AUTOEXEC.BAT и, используя имеющиеся в них системные команды и параметры, настраивает универсальную BIOS под ее требуемую программную конфигурацию. При дальнейшей работе, файл IBMDOS.COM обслуживает периферийные устройства, не поддерживаемые стандартной ROM BIOS. Если файлов CONFIG.SYS или AUTOEXEC.BAT нет, или в них не заданы параметры настройки универсальной DOS, то IBMBIO.COM оставляет настройки, имеющиеся в BIOS по умолчанию.
12. IBMDOS.COM реализует основные функции DOS, поддерживая промежуточный уровень обслуживания операций ввода-вывода, большая часть которых используется программами более высокого уровня.
13. Файл COMMAND.COM обрабатывает вводимые команды DOS, определяя дальнейшие действия компьютера.
14. Только теперь DOS выдает на дисплей системное приглашение и готова выполнять команды DOS, вводимые пользователем, в том числе команды ввода, загрузки, запуска прикладных, пользовательских программ.
15. Если в корневом каталоге имеется файл AUTOEXEC.BAT, то исполняются по-очереди все содержащиеся в нем системные команды запуска прописанных здесь служебных (в том числе и диагностических, если они прописаны в AUTOEXEC.BAT) программ. Среди них могут быть, например, русификаторы UniScreen, Keyrus, детектор вирусов AIDSTEST, программа поддержки нестандартного формата НГМД – 800, TSR-программы, например поддержки манипулятора "мышь" (MOUSE.COM), кэширования жесткого диска (SMARTDRV), формирования сжатых дисков (DUBLSPACE) и т. п. Наконец, обычно самой последней, прописывается команда запуска оболочки ОС, например, NC, VC, DN и т. п. Оболочка должна быть прописана последней строкой файла AUTOEXEC.BAT, иначе, после того, как ей будет передано управление, все последующие команды этого файла во время загрузки системы выполнены не будут. Они выполнятся только после выхода из оболочки (обычно – нажатием клавиши F10).
16. Если запуск оболочки DOS не был прописан в конфигурационном файле, то DОS выдает на дисплей системное приглашение, позволяющее из командной строки задавать на исполнение системные команды. Если же управление было передано оболочке, то сама оболочка формирует экран дисплея и предоставляет пользователю кроме функций ОС еще ряд дополнительных средств пользовательского интерфейса с использованием функциональных, "горячих" клавишей и т. п.
17. Только теперь пользовательская, в том числе и диагностическая, программа может быть запущена на исполнение командой, записываемой в командную строку, или, если работа производится, скажем, в оболочке NC, выбором соответствующей строки с именем этой программы, в текущем каталоге.
Обобщенный алгоритм работы POST-программы и загрузки операционной системы