Программное обеспечение и его разработка - Фокс Джозеф М.
Вычислительная машина для решения научных задач была устроена так, чтобы наиболее быстрым образом производить вычисления. Обрабатывающая машина — обрабатывающая данные — была машиной ввода/вывода, машиной, которая управляла внешними файлами. В течение первых 12 лет выпуска вычислительных машин фирма IBM сопровождала две различные ветви машин — машины для обработки данных и научные машины.
Серия машин IBM/360, объявленная в 1964 г., изменила положение, поскольку для IBM стало слишком дорого разрабатывать, строить и сопровождать две различные ветви.
Использование типа I. Обработка данныхБухгалтерские расчеты проводятся постфактум. Учет векселей, ведение регистрационных журналов, составление платежных ведомостей и проведение инвентаризации есть всего лишь работа с записями о прошедших событиях. Разработанная для проведения быстрых расчетов баллистических траекторий вычислительная машина, отвергнутая в свое время фирмой IBM, была доведена до состояния экономической рентабельности корпорацией Sperry Rand в 1952 г. Пользователи заставили ее составлять платежные ведомости и инвентарные списки.
Использование типа II. Решение научных задачМногие называют большие вычислительные машины «большими арифмометрами». На основе небольшого числа исходных данных мощная машина может работать часами, решая уравнение теплопроводности или строя прогнозы погоды.
Использование типа III. Информационные системыПосле нескольких лет использования люди осознали, что все необходимые им данные находятся «внутри» и вполне доступны. Было написано специальное программное обеспечение, и пользователи получили возможность вводить запросы в вычислительную машину и получать от нее ответы на эти запросы. Родился новый вид использования вычислительных машин.
Использование типа IV. Диалоговые системы решения задачЕсли отдельный пользователь решает на машине математическую или логическую задачу, по ходу дела вмешиваясь в решение, говорят, что пользователь работает в «диалоговом», или «интерактивном», режиме.
Когда в одно и то же время одной и той же вычислительной машиной могут пользоваться сотни пользователей, то говорят, что все они работают в режиме разделения времени. Это еще один способ выполнять работы, связанный с использованием ЭВМ по типу I или типу II. Отличие проявляется в использовании машины в целом, каждый отдельный пользователь может этих отличии и не замечать.
Разделение времени уменьшает «время ожидания решения», то есть время, проходящее от момента передачи задачи в вычислительный центр до получения результата решения. Тем самым доводится до максимума доля творчества человека в отношении: «процесс решения задачи»/«процесс созидания». В коммерческих приложениях типа III имеют дело с данными — файлами, записями, страховыми полисами, счетами, расписками, индексами клиентов. Огромные, многотомные файлы. Изнурительная работа по прочесыванию огромных файлов для нахождения единственного подходящего, выполнение простейших вычислений — иногда даже тривиальных, — и затем снова работа с файлами. Критическими характеристиками при этом являются скорость движения магнитной ленты, время доступа к диску, количество томов, размещаемых на диске, а также структура файла.
Пользователи типа IV занимаются именно вычислениями, а не файлами в смысле файлов со страховыми полисами, выданными компанией миллионам различных людей. При этом обрабатываются большие количества данных, но это не файлы, а скорее массивы. Узким местом при этом являются скорость вычислительной машины и планирование процесса, необходимые для своевременного выполнения заданий.
Однако для обеспечения работы по типу IV сотен пользователей, подключаемых к ЭВМ в диалоговом, интерактивном, режиме, необходимо делать многое из того, что делается и для коммерческих приложений, — запоминать имена и местоположения пользователей, времена их работы и многие другие более простые вещи. В этом смысле между использованиями по типам III и IV есть некоторое перекрытие.
Я разделил их по тем причинам, что, во-первых, использование по типу IV создает целую индустрию, а вид использования (разделение времени) и диалоговый режим существенно отличают этот тип от простой обработки данных и, во-вторых, для машин, используемых по типам III и IV, необходима весьма различная аппаратура, а значит, и разное программное обеспечение.
Использование типа V. Управление процессамиЕсли ЭВМ используется для выполнения или для помощи человеку в выполнении или слежении за некоторым процессом и мы не можем продолжать его выполнение без постоянного получения промежуточных результатов, мы используем машину по типу V. Процесс может быть простым, например управление огнями светофора, но может быть и весьма запутанным, как, например, система помощи авиадиспетчерам по предотвращению столкновений самолетов или система резервирования мест на самолетах, которая одновременно взаимодействует с тысячами служащих транспортных агентств.
Управление процессом неотделимо от выполнения процесса и обычно работает в режиме реального времени. Вычислительная машина должна успевать выполнять свою работу за время, отводимое для управления.
Для пользователей тип V выглядит так же, как и типы III и IV, но любые сбои ведут при этом к полному нарушению управляемого процесса.
Требования высокой помехозащитности и малого времени ответа приводят к необходимости разрабатывать один из самых сложных видов программного обеспечения. Программно-аппаратная система, выводящая ракету на перехват другой ракеты, построена в основном на тех же математических принципах, что и задачи расчета баллистических траекторий, необходимость решения которых привела к возникновению ЭВМ Однако теперь работы должны выполняться без каких-либо сбоев, в режиме реального времени, поскольку перехват должен выполняться именно в этот момент, когда вторая ракета подойдет к расчетной точке. И большая тяжесть работ по достижении поставленной цели падает на программное обеспечение.
При использовании по типу III, когда работа людей не может быть выполнена без одновременной работы машины, мы переходим в область управления процессами, т. е. начинаем использовать машину по типу V.
Итак, тип V основывается на использованиях по типам III и IV.
Тип V появляется, когда комбинация задач типов IV и III приводит к значительным усилиям по ведению сложных разработок. Современная аппаратура достаточно легко справляется с задачами типа V! Узким местом таких систем является программное обеспечение.
Эволюция использования вычислительных машин шла непрерывно от типа I к типу V.
Тип I перешел в тип III. Было бы логично попытаться по запросу получить данные, находящиеся «внутри», в ЭВМ. Каково среднее заполнение самолетов рейса Вашингтон — Париж в августе?
Использование типа III имеет значительное отличие от типа I. Люди взаимодействуют с вычислительной машиной. И опять-таки основная тяжесть этого ложится на программное обеспечение!
Пользователи типов I и II не имеют прямых контактов с машиной. Задания помещаются на перфокарты или магнитные ленты, и затем программист или ответственный по лаборатории ожидает, пока работа не будет выполнена, после чего они получают результаты, обычно отпечатанные на бумаге.
Пользователи типов III и IV непосредственно взаимодействуют с вычислительной машиной с помощью пишущей машинки или терминала с телевизионным экраном и клавиатурой. Они ведут диалог. Это совершенно не похоже на первые два случая, и для обеспечения взаимодействия пользователя с машиной нужно писать специальные программы (см. рис. 2.1).