Рустэм Валеев: Как я писал программы на ДВК

Рустэм Валеев

1986 год. Советский Союз. ДВК 2М - для своего времени это был суперкомпьютер. Во первых, он был персональным. Вполне приемлемого размера, помещался на стол. Во-вторых, у него было огромное быстродействие - целых 10 или 20 тысяч операций в секунду. Да-да, тогда быстродействие измерялось не тактовой частотой процессора, а именно операциями с двоичными числами. И, в третьих, у него было ОЗУ огромной емкости - целых 64 килобайта! Туда спокойно помещалась операционка, программа Бейсик, текст прикладной программы и ее данные. Чего в ДВК не было - так это винчестера. А значит, и записанной на нем операционки. К ДВК прилагался болгарский блок дисководов с дискетами 5,25'. В верхний я вставлял дискету с операционной системой и бейсиком. А в нижний - дискету с прикладной программой и данными. Компьютер был отечественный, но сильно продвинутый. Поэтому он зависал и перегружался не чаще двух раз в день. При перезагрузке пропадали не только операционка в ОЗУ, но и, скажем, набитый за пару часов в бейсике текст новой программы. Помню, как я долго не мог прийти в себя, когда в обед компьютер завис и унес в небытие пять страниц готовой программы! Как я в ужасе бегал вокруг стола и думал «ну должен же где-нибудь остаться хоть какой-то след от такого серьезного труда!» Но увы, след оставался только в моем мозгу. Именно тогда я впервые столкнулся с таким интересным феноменом — написанная повторно по памяти программа была всегда лучше прототипа! И короче, и работала быстрее :)

Со спонтанными перезагрузками ничего нельзя было сделать. Более того, мы искренне радовались, что они не такие частые, как на больших машинах. Например, перезагрузки на ЕС ЭВМ 1036 случались раз в полчаса-час, и считались нормой! Так вот, для того, чтобы не терять новую программу при каждой перезагрузке, нужно было ее периодически сбрасывать из ОЗУ на дискету. Но. Тут-то и начиналось самое интересное. Болгарский дисковод записывал программу на дискету. Иногда. Но не всегда! Чаще он шипел, трещал, свистел, но... не записывал! Через минуту шипения и свиста появлялось страшное сообщение “Write failure error” и можно было переходить к новой попытке. Иногда, после трех-четырех попыток, файл все-таки записывался. Однако. Не было никакой гарантии, что он прочитается! «Read failure error” — это было менее ужасное, но не менее редкое сообщение системы. И вот бывает, сидишь ты за компьютером, в конце рабочего дня, смотришь на листинг программы на экране и пытаешься ее хотя бы запомнить. Потому что записать ее не получается! Ну ни как! Это ужасное чувство, думаю, напоминающее то, которое должен испытывать человек, бегущий за последним вагоном электрички, уже коснувшийся поручня, и вдруг осознающий, что поезд-то ушел!!!

Помню, что Водоканал, в котором я тогда работал программистом, закупил штук пять ДВК с болгарскими дисководами. И мы, программисты, пытались найти среди них тот, который бы записывал и считывал файлы наилучшим образом. Дисковод, более надежный, чем другие, ценился на вес золота и его обладатель купался в лучах всеобщей зависти.

Мы предпринимали различные способы «улучшить» работу болгарского дисковода. Например, пользовался популярностью такой способ. Покупался настольный вентилятор. Он ставился в коробку из-под бумаги. В коробке вырезались две большие дырки. Одна — для поступления воздуха. А вторая, квадратная, — для болгарского дисковода. Он устанавливался в эту дырку и интенсивно охлаждался потоком воздуха. Кто-то свято верил в такие «усовершенствования», я же считал, что это все равно, что камлать на бубне — никакой гарантии. Или запишет, или нет. 50 на 50. Вот тогда-то во мне и зародилось первое глубокое сомнение в братстве народов, СЭВ, и целесообразности социалистического пути развития. Боже мой, как же я проклинал братьев болгар — криворуких безжалостных убийц моего времени!

Операционная система, которую мы тогда использовали, тоже была очень интересной. Загружалась она секунд десять, и записывалась на диск в виде одного или двух файлов. RJ11 и еще пару букв после. Или RT12 – точно мне уже не вспомнить. Но вот что я запомнил очень хорошо. В отличие от MS DOS, которая появилась чуть позднее, операционка эта обладала намного большими количеством удобных команд. Например, могла выдавать список файлов с подкаталогами, а DOS не умел этого делать! «Убожество» - вот первое мое ощущение от использования DOS. Однако, мы все таки перешли на DOS окончательно и бесповоротно, когда поняли, что под ней «идут» все новые программы и игрушки, а программ для RT (или RJ ) становится все меньше!

И вот, не смотря на всякие трудности, вот на таких машинах и таких системах, мы все-таки умудрялись писать программы, которые пытались решать серьезные задачи. Помню первую свою программу на ДВК и бейсике. Это была программа расчета заработной платы для Водоканала. Она работала примерно так. Сперва загружалась система. Потом — бейсик. Потом — Главная программа. Она просила вставить в нижний дисковод дискету № 1 с данными цеха 1 за январь 1986 года. Расчетчик мог отредактировать данные работников, ввести табель и посчитать зарплату за месяц. После этого, если дисковод работал, ему даже удавалось сохранить результаты расчета! Если он хотел их распечатать, Главная программа просила вставить диск с Программой для печати, потом — диск с данными цеха, потом — диск с Главной программой. Потом вставлялась дискета номер 2 для цеха номер 2, и так далее — до диска номер 42. 42 цеха были в Водоканале. И ни разу нам не удалось просчитать их все. Или болгарский дисковод перегревался и останавливался (зачастую уже навсегда). Или расчетчик что-то путал и записывал на диск номер 2 данные цеха номер 17. И неделю, матерясь, их восстанавливал. А что делать — дискет для архива просто не было! Или, если все шло хорошо, в каком нибудь 27 цехе обнаруживались новый вид расчета или ошибка в алгоритме, и все приходилось начинать заново! Помню, что благодаря тому ужасу, который вызывала необходимость дойти с такой технологией «до конца», все-таки было принято разумное решение принять программу у программистов по акту на примере двух цехов, и продолжать считать зарплату в бумажных расчетных ведомостях «в связи с ограниченностью по времени расчета». В оправдание можно добавить только одно. Программа для расчета зарплаты водоканала была нами все таки написана чуть позже. На Искре-1030, foxbase и первом советском 10 мегабайтном винчестере. Проработала она больше 10 лет, непрерывно развиваясь и безболезненно переходя на все новые версии операционных систем Майкрософт.

Расскажите коллегам:
Эта публикация была размещена на предыдущей версии сайта и перенесена на нынешнюю версию. После переноса некоторые элементы публикации могут отражаться некорректно. Если вы заметили погрешности верстки, сообщите, пожалуйста, по адресу correct@e-xecutive.ru
Комментарии
Владимир Зонзов +10253 Владимир Зонзов Директор по производству, Украина
За что мне нравится интеллигенция – о чём бы ни начали говорить, всегда разговор приходит к одному и тому же. :D Если можно, вернусь к теме. ======================. > « … [COLOR=blue=blue]исследования на границах наук[/COLOR] …». > « … [COLOR=blue=blue]задачки ''на стыке''[/COLOR] …». Шредингер написал книжку «Жизнь, с точки зрения физики». Профессора нашей кафедры интересовались биофизикой. Годичный курс квантовой электродинамики закончился словами: «Теперь вы знаете, что окружающая нас жизнь – это электродинамика плюс статистика». О том, что марксизм не соответствует уровню развития экономики в 20-м веке, говорил П.Л.Капица (в 1930-е годы!). Об этом, было упомянуто в воспоминаниях о П.Л.Капице. В советские времена, прочесть такое было большой редкостью. Короче. Нужно умение-навык строить модели и изучать их. Это развивается при изучении математики. И, в наибольшей степени, при изучении теоретической физики. Например, в фейнмановских лекциях по физике нет «границ» и «стыков». И ещё. В физике, в отличие от математики, можно не слишком заботиться о состоятельности гипотез. Нередко, их следствия проще проверить прямыми экспериментами. Например. В 1989 г, я помог своему подрядчику в изготовлении игл-электродов для НИР-макета электрогидродинамического насоса. Коль игла была элементом рабочей пары (пары электродов игла-конус), то я задублировал задание. Заказ на изготовление игл разных типоразмеров выдал химику и лазерщику. Вскоре лазерщик доложил мне о проблеме – на острие иглы неизбежно образовывалась сферическая капля. Но, капля значительно увеличивала поверхность эмиссии электронов с иглы (механизм эмиссии – коронный разряд). А это должно увеличивать ток эмиссии; что манило увеличением напора в рабочих ячейках электрогидродинамического насоса. Теоретически изучать этот вопрос было безнадёжно. А экспериментально – нет проблем. Задание лазерщику было уточнено: сделать ряд игл с каплями разного диаметра и передать их самолётом подрядчику. Вскоре, подрядчик сообщил, что применение игл с каплей заметно увеличило напор в рабочей ячейке.
1 4 6
Оставлять комментарии могут только зарегистрированные пользователи
Статью прочитали
Обсуждение статей
Все комментарии
Дискуссии
3
Евгений Равич
Хороший пример конспирологии. Есть реальные примеры? Просьба заодно уточнить, что такое "не понр...
Все дискуссии
HR-новости
Больше 70% россиян работают по выходным и во время отпуска

97% россиян регулярно задерживаются на работе.

В каких городах России наибольший прирост вакансий

В целом по России спрос работодателей за год вырос на 36%.

Исследование: какую зарплату хотят получать россияне

Пожелания по заработной плате мужчин и женщин коррелируются в зависимости от возраста соискателей.

80% работодателей отмечают нехватку квалифицированных работников

В целом слишком долгое закрытие вакансий волнует 45% представителей бизнеса.