Kitobni o'qish: ««ВОСХОД» программиста»
«…Люди – идиоты. Они сделали кучу глупостей: придумали костюмы для собак, должность рекламного менеджера и штуки вроде айфона, не получив взамен ничего, кроме кислого послевкусия. А вот если бы мы развивали науку, осваивали Луну, Марс, Венеру… Кто знает, каким был бы мир тогда? Человечеству дали возможность бороздить космос, но оно хочет заниматься потреблением – пить пиво и смотреть сериалы…»
(Из интервью Рэя Брэдбери)
Начало
1977 год, Москва. Я закончил Московский авиационный институт, Moscow rocket college, как его называла радиостанция «Голос Америки». Настроение приподнятое, впору свернуть горы.
Попадаю по распределению в замечательный НИИ «Восход». Замечателен он тем, что разрабатывает системы, которые никто в стране не знает, как разрабатывать. Сотрудники института тоже не знают, но разрабатывают. Попадаю в отдел – еще более замечательный – защиты информации в этих самых разрабатываемых системах.
МАИ – классный вуз. Учиться было не только классно, но и полезно. Чего только стоит маевский дух, уж не говоря о прочих маевских штучках, традициях и даже песнях! Закончил я факультет систем управления, на котором учили очень многому, но только не разработке информационных компьютерных систем. Думаю, я мог стать приличным инженером по электронике, но не в этом НИИ.
Помню, как пришел на преддипломную практику. Тогда, в 1976 году, было такое правило: преддипломная практика по месту распределения. Июнь, в Москве жара, но в молодости она, как правило, переносится легко, и мне даже нравилось. И вот в таком солнечном настроении я появляюсь в НИИ.
Первая встреча в отделе кадров. Мне рассказывают о том, чем занимается институт, какие есть подразделения. Оказывается, самые интересные – это те, которые занимаются задачами создаваемой АСОУ – автоматизированной системы организационного управления, а подразделения технических средств и (внимание!) программистское подразделение вовсе даже не котируются! Отмечу, что для получения доступа к информации о деятельности этого НИИ необходимо было получение допуска, которого у меня еще, разумеется, не было, поэтому рассказ сотрудника отдела кадров для меня был не очень понятным.
Здесь нужно сказать, что я почему-то предполагал, что попаду чуть ли не на разработку компьютеров и, конечно же, у меня все обязательно получится. Но не тут – то было! Из дальнейшего рассказа кадровика я узнал, что вся разработка – это постановка и разработка неких задач (в тот момент я вообще не понял, каких), что разработки электронной техники в этом институте и вовсе нет, а программисты – небольшое и совсем не главное подразделение, вообще неинтересное и уж никак не престижное. Несмотря на то что становиться программистом я тогда вовсе не собирался, такое отношение к этой деятельности мне показалось несколько странным.
Учитывая, что вся моя дальнейшая деятельность была связана с программированием, невольно приходит мысль о том, какими интересными путями в нашей стране развивались информационные технологии.
Настроение сразу испортилось, что, видимо, отразилось и на моем лице. Короче, в результате переговоров, в которых я проявил тупое упорство в желании попасть в техническое подразделение, сошлись на том, что я съезжу в это подразделение, посмотрю и сам все решу. Почему «съезжу» – это отдельная история.
НИИ был новый, «с иголочки»: к тому моменту ему исполнилось всего два года. Центральная территория, так называемая «первая», располагалась в новенькой высотной стекляшке около метро «Фрунзенская». Здание строил себе НИИРП (НИИ резиновой промышленности), у которого его отобрали в пользу НИИ «Восход». В нем располагались в основном так называемые «задачники», то есть некое комплексное подразделение, сотрудники которого занимались постановкой задач, и жалкие немногочисленные программисты. Кроме этого, «Восход» имел еще две территории. Они были вовсе не такие презентабельные – один или полтора этажа в типовом корпусе, то ли заводском, то ли НИИ, между метро «Рижская» и «Щербаковская» (сейчас Алексеевская), и здание бывшей школы в некотором отдалении от метро «Семеновская».
Отправился я в техническое подразделение, которое размещалось около метро Щербаковская. До здания пришлось идти пешком минут 20–25. Я шел туда с надеждой на будущую интересную работу, но оказалось, что никакой разработкой электроники там никогда и не занимались! Я вообще не понял, чем они занимаются, как не понимал и в дальнейшем, после нескольких лет работы в НИИ «Восход». (Забегая вперед скажу, что четыре года спустя в этом здании и на этом этаже был развернут стенд с новыми тогда ЭВМ ЕС-1060, и я ездил туда уже на машинное время как программист-разработчик.)
Через два дня в отделе кадров мы вернулись к началу разговора о том, где бы я мог работать. Погода испортилась – было дождливо и холодно. Настроение – соответствующее. Что делать в этой ситуации, при полном отсутствии перспектив заняться интересным делом – не понятно.
И вдруг выясняется, что в НИИ существует небольшое подразделение защиты информации, в котором есть направления технических средств защиты, организационных средств защиты, программных средств защиты, а также сектор специальных исследований. Тогда все это было очень необычно.
Программистом я еще не был, про специальные исследования ранее не слышал, а организационные меры защиты казались просто скучными. Методом исключения были выбраны технические средства защиты информации, над которыми я и начал работать.
Напомню, что это была преддипломная практика. А после практики студентов мужского пола привлекли на военные сборы. Далее, как и положено, – написание диплома, его защита и начало работы инженером.
После защиты, когда я принес диплом в НИИ, состоялся любопытный разговор в кадрах. Оказывается, мне был положен первый отпуск сразу после защиты. Однако я решительно от него отказался, так как, во-первых, не чувствовал никакой усталости, а во-вторых, искренне считал своей обязанностью максимально быстро вникнуть в производственные задачи и незамедлительно начать их решать. Я подписал расписку в отказе от отпуска и приступил к трудовой деятельности.
Выяснилось, что все великолепие технических средств защиты сосредоточено в дивном комплексе с кодовым названием М-24, – действительно «дивном», если смотреть с позиции сегодняшнего ИТ-специалиста.
Вы только представьте: этот комплекс призван был следить за вскрытием или открыванием всех устройств ЭВМ! Сегодня это звучит странно, но тогда компьютер занимал помещение в десятки и сотни квадратных метров, если учитывать площадь помещений, где размещались периферийные устройства. Каждое отдельное устройство, например дисковый накопитель, оперативная память или центральный процессор, представляли собою шкафы от метра до двух метров высотой. Эти шкафы, как и положено, имели двери, часто двухстворчатые (потому и шкафы), а внутри были собраны на огромных (и не очень) платах соответствующие элементы устройств, которые в то время назывались ТЭЗ (типовой элемент замены). Как раз за открыванием этих шкафов, по мысли «специалистов» по защите информации, и нужно было следить.
Предполагалось, что вскрытие шкафов – это уязвимость. Я уж не знаю, что мог сделать злоумышленник, открыв шкаф, – разве что сломать устройство. Для того чтобы следить за вскрытиями, все двери шкафов снабжались микровыключателями, а попросту говоря, кнопками. При открывании двери шкафа кнопка замыкала цепь, подавая сигнал на центральный блок М-24, и просто фиксировался «несанкционированный доступ» (НСД) к устройству. При этом блок присоединялся к каналу ЕС-ЭВМ, и с него можно было программно получить данные об НСД. Особой функцией М-24 была выдача разрешений на вскрытие технических средств, например для проведения профилактики или ремонта. С современной точки зрения – технология смешная, а тогда даже был разработан новый вариант этого «замечательного» изделия под кодовым номером М-100.
Однако вскоре я заметил некоторое пренебрежительное отношение разработчиков к этому комплексу. Надо сказать, я очень серьезно отнесся к началу работы, искренне полагая своей обязанностью максимально быстро вникнуть во все технические вопросы, разобраться в нюансах и начать, наконец, приносить пользу. Пренебрежение к тому, что я делал, не могло не задевать. Мне начинало казаться, что я занимаюсь ерундой, тогда как другие делают что-то гораздо более интересное и важное.
Вопреки информации, полученной мною в первой беседе в кадрах НИИ, вскоре выяснилось, что наиболее уважаемыми были как раз программисты. И это при том, что в 1977 году ни один вуз таких специалистов не готовил! Максимально приближенной была специальность «АСУ», но это все же другое. Как следствие, программистов – разработчиков систем обработки информации с высшим образованием было очень мало. Но самое интересное, мало кто вообще что-либо понимал в работе программиста, и руководители не были исключением. Это приводило к забавным ситуациям, к которым я еще вернусь.
Программисты уже тогда были востребованы, что поднимало их неформальный статус, приводило к завышенной самооценке и безапелляционности суждений. Все это, а также присутствие здорового честолюбия привело меня к мысли попробовать стать разработчиком-программистом. Точнее, сначала возникло острое желание разобраться с тем, как работает ЕС-ЭВМ, ну и, естественно, программы. Эта мысль подогревалась различными ситуациями, например с тем же комплексом М-24.
Во время подготовки к испытаниям первой очереди системы возникла проблема во взаимодействии М-24 с программным комплексом. С большим трудом удалось найти автора программ, которые работали с М-24. Еще труднее оказалось получить аудиенцию у этого программиста. Но встреча была не напрасной. К ней я основательно подготовился (если не учитывать то, что еще ничего не понимал не только в программировании, но и в работе ЕС-ЭВМ, в частности канала ЕС-ЭВМ). Однако тщательно протестировав М-24 в автономном режиме, я был уверен, что на стороне комплекса ошибок нет.
Тем не менее встреча оказалась не только короткой, но и очень неприятной для меня. Программист, даже не дослушав, безапелляционно заявил, что его программа работает правильно, а нам нужно разбираться со своей «железкой». И предложив почитать Джермейна, он решительно закончил аудиенцию.
Впоследствии, уже став программистом, в библиотеке, на одном из стендов нашего НИИ я наткнулся на две функции (макрокоманды) с характерным названием Take и Place. Здесь нужно пояснить, что описанный инцидент с программистом был вызван следующей проблемой: в то время основным устройством памяти были дисковые устройства, сначала диски емкостью 5 Мб и 7,25 Мб, затем 29 Мб, ну и так далее. Каждое такое устройство представляло собой все тот же шкаф с верхней открывающейся крышкой, снабженной пресловутой кнопкой-микровыключателем. Для установки и снятия самого диска необходимо было выдать разрешение на вскрытие устройства. Так, по сути верно, были названы эти функции – первая для снятия диска, вторая для установки. Именно при выдаче этих разрешений происходила ошибка. Разрешение выдавалось, но при последующем открытии верхней крышки устройства, М-24 фиксировал НСД, то есть несанкционированное действие.
Примерно через год посмотрев код этих функций, я сразу же обнаружил ошибку, но до того я все еще продолжал работать в подразделении технических средств защиты. Работа была бумажная, неинтересная и нудная.
Спустя несколько месяцев начались испытания первой очереди системы, которую разрабатывал (увы, без меня) мой НИИ по заказу самого Совета Министров СССР. Моя работа постепенно перешла в русло составления различных актов и протоколов испытаний, передаче их в секретное машбюро и получении их оттуда, а также в сборе подписей.
Надо сказать, что я всегда считал своим долгом работать максимально хорошо, поэтому даже на этой унылой стезе добился успехов: бумаги составлял быстро, подписывал еще быстрее, а благодаря симпатиям в машбюро печатал все что мне требовалось вне очереди.
Следуя простому здравому смыслу и аккуратности я, как оказалось, сильно отличался от основной массы сотрудников, особенно непрограммистов. Полагаю, что во многом это отличие заключалось в моем инфантилизме, то есть той непосредственности, что побуждает детей выполнять любую порученную им работу с энтузиазмом и доступной им исполнительностью, что во взрослой жизни иногда приводит к таким неожиданным результатам.
Да и что особенного, сам по себе совсем не особенный и где-то даже лентяй и разгильдяй, я делал? Просто старался более или менее аккуратно и разумно делать то, что приходилось. Считается, что время застоя наступило в нашей стране намного позже описываемых событий, в 80-е. Однако уже и тогда многие следовали принципам: «работа не волк, в лес не убежит», «никогда не делай сегодня того, что можно сделать завтра», «не спеши исполнять – распоряжение могут и отменить» и т. д.
Таким образом, мои неожиданные успехи привели к казусу, весьма показательному для всего устройства жизни и работы в нашей стране. После ряда успешных действий на испытаниях системы мой непосредственный начальник вдруг спросил, действительно ли я такой усердный или притворяюсь. Тогда я надолго запомнил этот вопрос…
Еще один забавный и вместе с тем грустный момент. Заказчиком разрабатываемой системы был Совет Министров СССР, поэтому в нашем НИИ действовал строгий режим и пропускная система. Практически все документы были секретными. На входе у нас стояли вертушки с кабинами. Внутри кабин в ячейках лежали пропуска сотрудников. Только руководители отделов и выше имели пропуска, которые носили с собой. Остальные при входе должны были дернуть свою кнопку на кабине, после чего пропуск выпадал охраннику, который, сличив фотографию с оригиналом, открывал вертушку, пропуская таким образом сотрудника внутрь.
Кабины и вертушки охранялись прапорщиками с оружием. Этим прапорщикам было дано указание после начала рабочего дня пропуска не выдавать и вертушки не открывать. Таким образом, опоздавшие скапливались перед входом. Далее выходил работник отдела кадров и переписывал опоздавших. Списки передавались в подразделения с целью дальнейшего «депремирования» опоздавших сотрудников, о чем меня очень серьезно предупредили.
Пришлось заняться хронометражем пути до работы. Я точно просчитал, сколько времени мне потребуется, чтобы добраться до станции метро, в какое время я должен быть на пересадке, а в какое – на выходе. Приходилось бегать по эскалаторам метро и даже на улице – до здания института. И не мне одному! Однако пройдя проходную, запыхавшиеся сотрудники отправлялись… в курилку, в которой проводили первый час рабочего дня, обсуждая все что угодно, кроме работы.
Не скажу, что я тоже проводил там по часу, но с какого-то момента стал замечать отсутствие коллег на рабочих местах. Сначала меня это просто удивляло (видимо, такая разновидность инфантилизма: я полагал, что люди приходят на работу для того, чтобы работать), но затем все чаще стало возникать ощущение неудовлетворенности. Было очевидно, что то, чем я занимаюсь здесь, не может быть моей работой на будущее.
Рядом со мной трудились сотрудники подразделения программных средств защиты. В первый год работы то, чем они занимались, было для меня тайной, но все более и более привлекательной. Возникала даже зависть. Думалось: а смогу ли я стать разработчиком-программистом?
* * *
Надо сказать, что несмотря на специальность «Системы управления летательными аппаратами», в МАИ я неплохо ознакомился с компьютерами, или, как тогда говорили, ЭВМ.
МАИ вообще серьезный вуз, а мой факультет, в свою очередь, считался очень весомым в МАИ. Состав предметов был самым обширным. Чему нас только не учили! Наряду с сопроматом, теоретической механикой, аэродинамикой мы изучали гироскопы, электрические машины, технологию металлов и многое другое. Кроме того, был годовой курс ВУДД, что означало «Вычислительные устройства дискретного действия», а также курс ВУНД – «Вычислительные устройства непрерывного действия». Последний был посвящен аналоговым вычислительным машинам, а ВУДД – цифровым.
Поскольку цифровые ЭВМ мы изучали целый год, курс был очень насыщенным. В нем были и устройство ЭВМ, и уже дисковая память (1974–1975), и языки программирования, в частности ALGOL, который мне, помнится, почему-то «не зашел». Были интересные лабораторные и курсовые, например лабораторная по ЭВМ «Наири». По поводу «Наири» я тогда еще подумал: какая же это ЭВМ? Просто мощный калькулятор… Но вид у нее был богатый – с уступами и футуристическим пультом управления.
Что-то мы на ней даже считали, но что именно, точно не скажу. Как такового программирования на ней не было. Нужно было лишь вводить математические формулы, по которым она выполняла расчет.
Помню курсовую работу на машине «Мир».
Здесь уже был язык программирования, причем свой, и как мне кажется, уже типа универсального. Что нужно было запрограммировать, уже точно не помню, но программу я написал.
Устройством ввода был считыватель с перфоленты. Кажется, мы куда-то сдавали исходной код для набивки на перфоленту, а может, делали это сами. Но я хорошо помню две вещи – дикую скорость считывателя (он просто выстреливал этой перфолентой!), и как после загрузки я получил на телетайп сообщение «Нет памяти». Однако курсовую у меня приняли.
Гораздо более значимым было знакомство с компьютерами в ФИАН – Физическом институте Академии наук.
На 4-м курсе я получил предложение поучаствовать в НИРС (научно-исследовательская работа студентов) в этом институте. Тема – «Система управления физическим экспериментом» в лаборатории самого академика Прохорова, нобелевского лауреата.
Лаборатория занимала целое новенькое многоэтажное здание на территории ФИАН между Ленинским проспектом и улицей Вавилова. На первой встрече выяснилось, что в лаборатории был сектор обеспечения физического эксперимента, а в секторе – группа, которая и занималась системой управления физическим экспериментом. Мы беседовали с руководителем этой группы, который рассказал о системе. Оказалось, что систему составляла ЭВМ и периферийные устройства, одним из которых был графопостроитель, которым мне и предстояло заниматься.
Вскоре выяснилось, что прежде чем участвовать в работе, мы должны пройти тестирование на пригодность. Для этого нам были выданы технические задачи, в частности по двоичной системе исчисления и логике, решение которых мы должны были принести через пару дней. Тестирование принимал молодой инженер, выпускник МФТИ и, как оказалось, автор схемы графопостроителя.
После того как продемонстрировали графопостроитель в работе, был представлен неработающий экземпляр. Нам нужно было найти неисправность.
Никогда ранее не видел я такого оборудования! Это были осциллографы, к тому же производства США. С помощью этого осциллографа, подключая его к микросхемам и другим деталям на плате графопостроителя, анализировал его работу. Работал в упоении! А как же иначе? Ведь я занимался тем, о чем читал лишь в фантастических романах! Дух в лаборатории тоже был удивительный. Абсолютное уважение к академику Прохорову, хорошие и добрые шутки, энтузиазм – все это, конечно, не могло не нравиться. А еще рассказывали, что Прохоров тратил средства Нобелевской премии на закупку оборудования.
И вот однажды я, наконец, впервые воочию увидел современный зарубежный компьютер – это был новейший американский миникомпьютер NOVA.
Думаю, тогда, в 1975-м, это был единственный экземпляр в СССР.
* * *
Оказалось, что тот самый молодой инженер, автор графопостроителя, получив этот компьютер в свое распоряжение, с увлечением занялся программированием. У NOVA в комплекте имелся загружаемый или встроенный компилятор BASIC, на котором была немедленно написана программа вычисления биоритмов. Я был допрошен на предмет даты рождения и получил личную распечатку.
Меня к компьютеру, естественно, не допускали: охотников хватало. Да и особого желания не было – я с удовольствием занимался графопостроителем. Однако такая «игрушка», как NOVA, не могла не запомниться: элегантная консоль с самым настоящим дисплеем… Фантастика! Ничего подобного я раньше не видел.
Много позже, уже в НИИ «Восход» в качестве устройств ввода мы использовали консоль – электрическую пишущую машинку – и устройство считывания перфокарт. С дисплеями же я познакомился основательно лишь в 1980–1981 году.
Надо сказать, что ошибку в графопостроителе я нашел: она была допущена при пайке деталей на плате.
Но все хорошее когда-нибудь заканчивается, и с приближением сессии наша работа в ФИАН закончилась.
Была еще какая-то курсовая на кафедре, связанная с приобретением ею ЕС-1030. Саму машину я не видел, а разбирался по документации с одним из интерфейсов ввода-вывода.
В целом во время учебы в институте особой любви и тяги к ЭВМ я не приобрел. Полагаю, это было связано с тем, что людей, увлеченных компьютерами, тогда вообще было очень мало. Во всяком случае, мне таких повстречать не довелось, если не считать двух ребят с нашего потока, которые явно увлеклись программированием. Но ведь всего двое!
Bepul matn qismi tugad.