Диалог с компьютером
Существует два режима работы с компьютером. Первый режим называется пакетным, а второй — диалоговым. Если мы посмотрим, как Чарльз Бэббидж планировал использовать свою Аналитическую машину, то увидим, что он рассчитывал на пакетный режим. Сначала на “складе” устанавливаюгся рычаги и шестерни в такое положение, которое соответствует исходным данным. Потом в “мельницу” закладывается пакет перфорированных карточек, отверстия которых соответствуют запланированным командам, после чего машина приводится в действие. Она работает, пока все команды из пакета не будут выполнены. По окончании работы состояние исполнительных механических органов покажет результат.
Примерно так же работали и первые электронные компьютеры. Сначала в их оперативную память вводили программы (последовательности команд). Затем в компьютер вводили данные, после чего компьютер запускали. Он работал до тех пор, пока не исполнялась последняя команда, а затем выключался. Результат работы находили в его оперативной памяти и/или к регистрах процессора.
Такую работу с компьютером трудно назвать удобной. В частности, во время выполнения задачи компьютер был недоступен для внешнего управления. Единственным возможным управляющим воздействием было прерывание текущей работы путем выключения компьютера.
Диалоговый режим работы гораздо более прогрессивен. В этом режиме компьютер находится в непосредственном взаимодействии с пользователем и техническими устройствами. Все персональные компьютеры сегодня работают в диалоговом режиме.
Возможность диалоговой работы с компьютером основана па прерываниях. Каждый процессор имеет так называемую система прерываний. Получив сигнал по линии прерывания, он способен приостановить текущую работу по программе, сохранить временные данные и перейти к новой программе, которую тоже можно прервать, и так далее. Завершив обработку очередного прерывания, процессор возвращается к последней прерванной задаче.
Процессор как бы все время что-то делает, но в то же время ждет внешних прерываний. Он всегда готов откликнуться на нажатие клавиши клавиатуры, на движение мыши или щелчок ее кнопки, на поступление сигналов через модем и даже и сигналы от собственных внутренних часов. Конечно, существуют такие программы которые полностью “монополизируют” процессор и не дадут возможности воздействовать на компьютер, пока не завершат свою работу, но таких программ меньшинство. Большинство современных программ рассчитаны на “диалоговый режим”.
Однако для того, чтобы компьютер находился в диалоговом режиме, на нем предварительно должна работать какая-то программа (а точнее говоря, система программ), которая обеспечит возможность прерывания процессора, распределить ресурсы компьютера между всеми прикладными программами, обеспечит взаимодействие разных устройств. Эта система программ должна организовать регулярный опрос клавиатуры, мыши и других устройств, с помощью которых пользователь регулярно общается с компьютером. Она должна также проследить, чтобы прикладные программы не монополизировали работу процессора, и проконтролировать, чтобы разные программы не перепутали свои данные, хранящиеся в оперативной памяти. Такая система программ называется операционной системой.
На самом деле, мы привели лишь ничтожную долю функций, которые выполняет операционная система, — их гораздо больше, и ниже мы их рассмотрим. Но если спросить, в чем заключается основная функция операционной системы, то можно сказать, что это обеспечение диалога между человеком и компьютером. Без операционных систем с компьютерами могли бы работать только очень квалифицированные специалисты, как это и было пятьдесят лет назад.
Когда мы нажимаем кнопку мыши и видим, что компьютер выполняет какие-то действия, то этим мы обязаны операционной системе. Она находится в режим постоянной готовности к внешним событиям. Событий, обрабатываемых операционной системой, великое множество. Среди них события, вызываемые пользователем, программами, оборудованием. Если принтер выдает сигнал о том, что него в лотке кончилась бумага, для процессора это сигнал, а для операционной системы — событие. Процессор ничего не знает о таких внешних устройствах, как принтер, и не знает, что делать с их сигналами. В свою очередь операционная система знает, что ей делать при наступлении тех или иных событий. В частности, он может вызвать функцию драйвера принтера, предназначенную для остановки печати и может открыть на экране сообщение, адресованное пользователю, с описанием проблемы.
Человек воспринимает постоянную готовность операционной системы к обслуживанию событий как диалоговый режим работы. Она как бы постоянно предлагает создать событие, и мы этим пользуемся. Основные средства для создания событий — это клавиатура и мышь, но к компьютеру можно подключить и другие устройства. При установке они регистрируются операционной системой, и он настраивается на обработку событий, связанных с ними. Так благодаря операционной системе компьютер не только готов к диалогу с пользователем, но способен развиваться и совершенствоваться.
Операционная система представляет комплекс системных и служебных программных средств. С одной стороны, она опирается на базовое программное обеспечение компьютера, входящее в его систему BIOS (базовая система ввода-вывода), с другой стороны, она сама является опорой для программного обеспечения более высоких уровней — прикладного и служебного. Приложениями конкретной операционной системы принято называть программы, предназначенные для работы под управлением данной системы.
Основная функция всех операционных систем — посредническая. Она заключается в обеспечении нескольких видов интерфейса:
• между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя);
• между программным и аппаратным обеспечением (аппаратно-программный интерфейс);
• между разными видами программного обеспечения (программный интерфейс).
Даже для одной аппаратной платформы, например такой, как IBM PC, существует несколько операционных систем. Различия между ними рассматривают в двух категориях: внутренние и внешние. Внутренние различия характеризуются методами реализации основных функций. Внешние различия определяются наличием и доступностью приложений данной системы, необходимых для удовлетворения технических требований, предъявляемых к конкретному рабочему месту.