Шрифт:
Я разделил их по тем причинам, что, во-первых, использование по типу IV создает целую индустрию, а вид использования (разделение времени) и диалоговый режим существенно отличают этот тип от простой обработки данных и, во-вторых, для машин, используемых по типам III и IV, необходима весьма различная аппаратура, а значит, и разное программное обеспечение.
Если ЭВМ используется для выполнения или для помощи человеку в выполнении или слежении за некоторым процессом и мы не можем продолжать его выполнение без постоянного получения промежуточных результатов, мы используем машину по типу 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).
Пять видов использования по-разному влияют и на аппаратуру, и на программное обеспечение.
В больших системах типа III есть одно интересное, но очень «хитрое» место. Фактором, ограничивающим производительность аппаратуры, становится в них время доступа к диску. Большая часть действий в подобных системах связана с модификацией данных, поэтому необходимо постоянно осуществлять «поиски» этих данных. При этих «поисках» приходится простаивать в очередях, пока механизмы доступа к диску не дадут возможности осуществить обращение к нему. Программное обеспечение должно строиться так, чтобы число одновременных поисков было максимальным. Очевидно, что чем больше дисков в системе, тем большее перекрытие становится возможным. В некоторых реализациях имеются сотни отдельных дисков.
Работы по программированию системы «Скайлэб» велись в Хьюстоне как продолжение работ над проектом «Апполон XV». Аппаратура осталась та же самая, что и для «Аполлона»; программное же обеспечение изменялось. Это было в некотором роде бедствие. Работы были закончены в положенный срок, но цена, которую пришлось заплатить группе примерно из 700 профессионалов, оказалась непомерной. Сверхурочная работа часто приводит к изнеможению и упадку сил.
Что же произошло? Почему столь опытная группа, имевшая за своими плечами 10 лет успешных разработок космических систем, т. е. всей системы Апполон и системы посадки на Луну, вдруг оказалась в таком положении? Ответ, кажущийся простым сейчас, в то время не был очевиден.
Скайлэб была очень большая система типа III, которая постепенно превратилась в систему типа IV, и сбои в системе были исключены. Группа ожидала, что это будет система типа IV, не ожидая уклона в сторону системы типа V.
На борту космической лаборатории были проведены сотни экспериментов в реальном времени, и данные поступали от них тоже в реальном времени. Их надо было собирать, сортировать, запоминать, снабжать указателями, помечать и классифицировать — и все это в реальном времени. Ни NASA, ни фирма IBM не предвидели столь существенных отличий в применении систем, поэтому для выполнения работы пришлось создавать совершенно новое программное обеспечение.