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 лет, непрерывно развиваясь и безболезненно переходя на все новые версии операционных систем Майкрософт.
Мы предпринимали различные способы «улучшить» работу болгарского дисковода.
------------------------------------------------.
У моего ДВК, болгарский дисковод не сразу считывал нулевую дорожку, где размещались каталог и FAT-таблица. После короткого удара в ''пятак'', способность дисковода, к считыванию, освежалась.
А, вообще, ДВК часто ломалась. Что вынудило меня пройти курсы по ремонту ДВК. Чтобы разговаривать с электронщиками на одном языке.
PDP-11 рулит 8)
Спасибо. Хорошая статья, в ней есть любовь к предмету, а это самое важное.
Это было хорошее время, тогда казалось, что ветер перемен принесет свежий воздух и само ожидание опьяняло.
[COLOR=gray=gray]По-моему до сих пор нередки случаи когда руководитель искренне удивлен тем, что к программе нужен программист... Почему то покупая дорогой станок никто не удивляется необходимости профессионального обслуживания... [/COLOR]
Скорее дело в общем отношении собственника в РФ к раб.силе, классически это расходный материал, а станок или любое оборудование это собственность.