Компьютер можно представить себе как несколько отдельных узлов, которые соединили многопроводными линиями связи - интерфейсами, шинами. Если описать изменение состояния этих узлов во времени, получится алгоритм функционирования компьютера.
Узлы компьютера и их взаимосвязь всегда, как говорится, у вас перед глазами, а вот алгоритм его функционирования прямо не излагается ни в одном из документов, полученных вами в магазине. Как и владельцу автомобиля не дается спецификация работы всех узлов и деталей машины. Специалисту они известны, а начинающий водитель озабочен другими проблемами. Но постепенно и он постигает автомобильные тонкости так же, как неквалифицированный пользователь со временем выводит для себя простейший алгоритм функционирования компьютера.
Простейший - это линейный последовательный алгоритм. Представьте компьютер в виде последовательных узлов - все выходные сигналы одного узла становятся входными следующего.
Компьютер должен начинать свою работу с установки всех узлов в определенное исходное состояние, иначе результаты его деятельности будут случайными. Алгоритм решения любой задачи предполагает выполнение неких начальных условий. В противном случае алгоритм не гарантирует точность решения. Скажем, компьютер должен высчитать, сколько будет дважды два. Если он выдает ответ "пять" или "три", то это как раз и означает, что исходное положение его узлов было случайным.
Первым устанавливается в исходное состояние блок питания. Его задача - преобразовать переменное напряжение 220 В 50 Гц в различные постоянные напряжения, необходимые для работы системного блока, принтера и монитора и т. д. На выходе блока питания появляется постепенно растущее напряжение. Когда оно достигнет некоторого уровня, происходит запуск следующего узла - синхронизатора, расположенного на материнской плате. Он устанавливает частоту, форму, амплитуду сигналов синхронизации. Все части компьютера не могут изменять свое состояние, когда им вздумается, а только по специальной "отмашке" - по синхроимпульсам.
Пока выходные напряжения блока питания еще не достигли необходимого уровня, процессор вместе с окружающими его сверхбольшими интегральными схемами (СБИС) должны бездейство вать, то есть не начинать вычислительный процесс (выполнение программы). Для этого блок питания инициирует выработку на материнской плате сигнала RESET (сброс), поступающего на процессор, СБИСы материнской платы, контроллеры внешних устройств. Аналогичный процесс происходит в принтере и в клавиатуре - вырабатываются свои сигналы сброса, по которым эти узлы устанавливаются в исходное состояние.
Все эти действия занимают гораздо меньше времени, чем вы потратили на чтение их описания. В блоке питания выходные напряжения достигают необходимого уровня примерно через полсекунды. Блок питания сообщает материнской плате, что сигнал RESET можно убрать, а процессору начать выборку первой команды. На передней панели системного блока загорится индикатор POWER, и мы услышим шум вентилятора блока питания. На клавиатуре вспыхивают все светодиоды-индикаторы и тут же гаснут. На принтере должен загореться индикатор, указывающий на включение блока питания.
Если прибегнуть к аналогии со спортивными соревнованиями, то в этот момент узлы компьютера напоминают позицию атлетов, выполнивших команду "На старт!": они заняли исходное положение. Далее, как мы знаем, следует команда "Внимание!". Возьмем на себя смелость сравнить ее с автотестом POST (Power On Self Test - самотестирование после включения питания). Во всех узлах компьютера: в материнской плате, клавиатуре, принтере и других - начинается самопроверка. На материнской плате процессор обращается к микросхеме постоянного запоминающего устройства (ПЗУ), называемой BIOS (Basic Input/Output System - базовая система ввода/вывода), которая содержит программу POST, а также программу конфигурирования SETUP (настройка) и программы-драйверы внешних устройств - жесткого и гибкого дисков и прочих. Программа автотеста начинает выполняться процессором, и на экране монитора появляется информация о производителе BIOS, его версии и дате выпуска.
Автотест представляет собой последовательность подтестов, выполняемых процессором. Первым процессор проверяет себя - "все ли у меня в порядке?" Затем наступает очередь СБИСов на материнской плате (BIOS и других), оперативной памяти (ОЗУ), видеоадаптера, происходит тестирование клавиатуры, контроллера гибкого и жесткого дисков. Если у процессора "возникают сомнения", некоторые узлы он проверить несколько раз. Обнаружив неполадки, может вывести на монитор сообщение о них.
После успешного окончания автотеста на экране монитора появляется таблица конфигурации вашего компьютера и раздается один короткий звуковой сигнал - признак успешного завершения автотеста. Обратите внимание: именно один сигнал. Даже если вы не сумели прочитать на мониторе сообщение об ошибке, два звуковых сигнала или больше напомнят вам о ней.
Но сейчас мы исходим из того, что компьютер проверил себя и остался доволен. Теперь ему нужно уже непосредственно подготовиться к работе - взять инструменты. Происходит загрузка операционной системы. Считывается с гибкого или жесткого диска и запускается программа загрузчика операционной системы - BOOT RECORD (загрузочная запись), которая всегда на любом носителе расположена в самом начале - в нулевом секторе. Программа BOOT RECORD в свою очередь считывает с носителя управляющую программу - в командный процессор COMMAND.COM. Она записывается в ОЗУ и запускается. Если эти операции выполнены успешно, на экран монитора не выводятся никакие замечания.
Итак, командный процессор выполнил начальную установку операционной системы. Он сообщает оператору о готовности принять команду, выводя на экран монитора строку C:\>, где C: - имя логического диска, с которого загружена операционная система (может быть A:, B: или C:); \ - имя корневого каталога, в котором находится командный процессор ДОСа; > - приглашение оператору на ввод команды.
С этого момента вы можете запускать любые программы, работающие под управлением ДОСа, в том числе и тесты внешних устройств.
Операционная система успешно запущена. И, как видите, вашего участия не потребова лось. Более того, оно могло бы только навредить. Например, если вы в ожидании работы машинально постучите по клавиатуре или случайно поставите на нее локоть. Компьютер в этот момент проверяет клавиатуру и должен получать определенный сигнал от нее, а не тот, что вы посылаете. В итоге вы собьете его с толку, и он о совершенно исправной клавиатуре скажет, что она делает ошибки. Или еще одна привычка нетерпеливых пользователей. Стремясь сэкономить время, они в момент загрузки компьютера вставляют дискету в дисковод. Компьютер полагает, что ему предложили загрузочную дискету, пытается загрузиться с нее - ничего не выходит, и он сигнализирует об ошибке.
Кроме небрежности пользователя существует довольно много причин, которые вызывают сбой в работе операционной системы, и она прекращает работу, не реагирует на ваши команды. Однако процессор продолжает работать, ожидая от вас одной-единственной команды - последовательного нажатия-удержания клавиш CTRL-ALT-DEL на клавиатуре. Получив такую команду, процессор выполняет новую загрузку операционной системы.
Если перезагрузка ДОСа не происходит по причине остановки процессора, то необходимо нажать кнопку RESET на передней панели системного блока. Материнская плата при этом вырабатывает сигнал RESET, и компьютер переходит в состояние начальной установки - первого пункта алгоритма функционирования. Затем автотест, загрузка операционной системы - и ДОС начинает свою работу.