Каким должен быть язык программирования? Анализ и критика Описание языка Компилятор
Отечественные разработки Cтатьи на компьютерные темы Компьютерный юмор Прочее

Крах операции «Инкогнито»

Время действия – начало 80-х.

            Место действия НПО «Энергия». Конкретно ВЦ его окрестности.

            Техническое оснащение – три БЭСМ-6 и десятков шесть удаленных терминалов Videoton-340 венгерского производства. Это то самое таинственное устройство, которое засветилось в кабинете директора в фильме «Служебный роман» и принимаемое современными зрителями за какую-то экзотическую ЭВМ. Знатоки даже отметят, что в фильме мелькнул терминал первых выпусков с квадратными колпачками лампочек (в следующих моделях они были круглыми). Эти терминалы соединялись с БЭСМ-6 по телефонной линии 1200 бод.

            Программное оснащение –ДОС ДИСПАК, транслятор БЭСМ-Алгол (версии 1976 года), диалоговая программа «Пульт».

            Несмотря на прогресс вычислительной техники, множество расчетов идет по-старинке – колода перфокарт и заказываемое время счета (обычно не более 2 часов). Счет проходит ночью (дежурят девочки-операторы). Утром (с 8:00) закрывается возможность работать с терминалов и начинается так называемая «профилактика» часов до 10. Затем можно работать и с терминалов, но там выделенное время ЦП не более 2 минут. Для редактирования текста – это даже много, за пару часов редактирования и набора текстов за этим самым «Видеотоном» тратится секунд 20 времени ЦП, но вот для расчета – этого мало. Не забывайте, что производительность БЭСМ-6 соизмерима с IBM-PC/XT. И это при наличии одновременно 50-60 страждущих.

            Для таких расчетов и заказывается время ночью. Утром приходишь и забираешь свою колоду с распечаткой проведенного расчета. Для этого в предбаннике ВЦ даже был стеллаж, похожий на вокзальную камеру хранения с ячейками и номерами отделов.

            Наши расчеты довольно серьёзные и ответственные. Идет разработка «Энергии-Буран» и нужно обоснование количества гарантированных остатков топлива. Поясню в чем тут дело. В конце вывода ракеты на орбиту и при выключении двигателей должно еще быть немного топлива, чтобы в двигатель не попал газовый пузырь из баков иначе может быть взрыв. Нужно, чтобы топливо гарантированно не закончилось. Но с другой стороны – лишнее топливо на орбите – это только мертвый груз, снижающий пользу. А сценарии полетов – разные. Есть даже такой, где из-за отказа один из боковых блоков выключается и полет идет на центральном блоке и трех оставшихся (из неисправного прямо в полете сливается керосин, чтобы центровка не сильно уходила).

            В общем, сложно все это. И не будешь же 1000 раз ракету пускать, чтобы понять, сколько гарантированно топлива заливать, чтобы ничего не взорвалось. Поэтому что? Правильно, моделирование. У нас модель блока, размноженная четыре раза для всех блоков. На входе – случайный разброс некоторых заданных параметров. На выходе – случайный разброс остатка топлива. По куче прогонов строится «Гауссиана». А далее – не наша забота, далее пусть академики из какого-нибудь ИПУ по «трем сигмам» что-то там определят. Наша задача – график вероятности построить, а дело это не быстрое. После (условно) 100 модельных пусков вместо плавной кривой все еще только бесформенная кучка точек на графике. Времени нужно много, а БЭСМ – она не резиновая. И тут как назло приходит начальник и говорит, что кровь из носу нужен расчет по уточненной модели, поскольку завтра очередное совещание на эту тему. А у нас всего два часа счета на ночь заказано. Не получится при таком времени полезный график. И перезаказать время на ночь уже поздно, оно все расписано и не поделится никто — каждый считает свой расчет самым важным.

            И тут мне приходит в голову, что можно провернуть операцию, рассчитанную на слабые знания дежурной смены ВЦ. Несмотря на то, что программу я храню на диске (диск аж 7 Мбайт!) а результаты очередного моделирования дописываю на магнитную ленту, я все равно ношу в ВЦ маленькую колоду-«пускач». Состоит эта колода из «паспорта» (стандартных перфокарт) и нескольких команд запуска программы с диска. Внешне все также как и у других программ – вечером даю колоду, утром забираю ее с распечаткой. На распечатке – только «посмертная» выдача, ведь программа никогда не заканчивается, ее снимают операторы. Как только они ее сняли – ОС печатает эту маленькую распечатку и программа завершает работу. Операторам наплевать, чем закончилась работа: вот колода, вот распечатка – прогон выполнен.

            Я докладываю в паспорт карту с директивой «Инкогнито». На этой карте набит значок «ромбик» и слово ИНКО. Эта директива ОС отменяет «посмертную» выдачу. Расчет на то, что вот запустят ночью программу, пройдет два часа – снимут ее – и тишина. Никаких следов, что программа вообще запускалась. Девчонки испугаются, что что-то сделали не так, а спросить некого – ночь же! Инструкция по эксплуатации с подробным описанием всех этих директив на странице №25 лежит здесь же, на столе. Но они никогда ее не читают и прочитать нужную страницу ни за что не догадаются.

            Поэтому, что они сделают? Правильно – запустят еще раз. Программа проведет следующие 100 модельных «полетов» и график станет более полным. Прекрасная мысль – одобряют все. Проводи свою операцию.

            Утром как-то даже боязно на ВЦ идти. А вдруг скандал? Говорю своим: да черт с ней с колодой, не пойду туда. Откроют работу с терминалов – посмотрю, сколько отработала.

            Начальник в ответ: нет, нехорошо. Все должно быть официально. Иди, забери колоду. Там же и журнал замечаний ведется. Прихожу. Смена буквально в слезах. Такие добросовестные операторши попались, стыдно даже стало. «А Ваша программа ничего не выдает! Мы уж и так и этак». В общем, гоняли они ее всю ночь на трех машинах и мы получили около 25 часов чистого счета и очень чистенькие графики. Хотел для виду повозмущаться: дескать как так? Я записывался на счет, где моя распечатка? Но смотрю, начальница их на работу пришла. Работала такая Кира Федоровна Семенюк. Она бы быстро определила, почему нет распечатки. Поэтому быстренько я колоду схватил, в журнале замечаний ничего не написал (операторши сразу повеселели) и ушел.

            Увы, плавные графики оказались скособоченными. А из смысла формул модели – они должны были быть строго симметричными относительно оси ординат. Быстро провели анализ и нашли ошибку в модели. И хоть потом и утешали себя, что если бы не провели такой длинный расчет, то ошибку никогда бы не заметили, все же следует признать, что блестяще задуманная операция «Инкогнито» закончилась провалом.

Автор: Д.Ю.Караваев. 02.02.2017

Последняя правка: 2018-08-26    15:34

Оцените

Написать отзыв

Написать автору можно на электронную почту mail(аt)compiler.su

Авторизация

Регистрация

Выслать пароль

Карта сайта


Каким должен быть язык программирования?

Анализ и критика

Описание языка

Компилятор

Отечественные разработки

Cтатьи на компьютерные темы

Компьютерный юмор

Шутливые языки программирования

Если бы языки программирования были женщинами

Избранные компьютерные анекдоты

Короткие фразы

Компьютерные были

Реальная жизнь смешнее анекдотов

Крах операции «Инкогнито»

Предопределенный результат

Права доступа к переменным

Деньги = работа / знание

Проект «Генезис»

Настоящие программисты не используют Паскаль

Краткое руководство по всем языкам программирования

Тест. Какой Вы программист?

Русские программисты

О Линусе Торвальдсе

Этой компанией была Microsoft

Анекдоты про Билла Гейтса

Мультик анальный

Русский мат в коде Microsoft Office

Google довоевался

Смешные и неприличные названия сайтов

Сочинение «Как я провела лето» в SMS-стиле

Прочее

Последние комментарии

2018/08/31 18:02, Автор сайта
Почему обречён язык Форт

2018/07/03 03:27, rst256
Философия языка

2018/06/25 15:10, Автор сайта
Продолжение цикла и выход из него

2018/06/14 00:37, rst256
Лень — двигатель прогресса

2018/05/31 18:52, rst256
Программирование без программистов — это медицина без врачей

2018/05/31 17:57, rst256
Циклы

2018/05/31 17:50, Comdiv
Разбор цепочек знаков операций

2018/05/31 17:42, Comdiv
Как отличить унарный минус от бинарного