?

Log in

No account? Create an account
 
 
24 January 2009 @ 04:18 pm
Записки программиста.  
Проекты: ИНЕС.

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

Это была серидина 1970-х годов и я работал в ИПУ. Идея создания собственного программного обеспечения для организайии баз данных возникла у нашего начальства (каковым были заведующие двух лабораторий Володя Арлазаров и Игорь Фараджев) постепенно под влиянием нескольких факторов. Это и потребности некоторых других подразделений института занимающихся экономическими задачами и нуждающимися в средствах для хранения и доступа к данным, имеющим сравнительно сложную структуру. И, вероятно, желание сделать некий достаточно крупный задел – программное обеспечение, которое потом можно было бы потом эффективно и выгодно использовать (а это была пора лозунгов призывающих к внедрению АСУ – автоматизированных систем управления; каждому заводу или организайии было велено покупать компьютер и автометизировать... автоматизировать ... ). И некоторая информация о работах ведущихся на западе.

Как сейчас помню было по крайней мере два веши предшествующие этой работе: обеспечение для хранения данных в виде дерева – предшественник «древовидного метода доступа» ИНЕС и рассказ Игоря Фараджева о сделанной во франции СУБД – кажется, она называлась СОКРАТ.

На фоне всего этого начальство вдруг решило объявить эту работу главной и назначить меня ее техническим руководителем, коим я пробыл, наверное, пару лет – до момента, когда система зажила своей жизнью и начала использоваться – по ходу дела, был еще перенос ее с ICL 4-70 (клон RSA Spectra-70), на которой мы начали разработку на ЕС-ЭВМ (клон IBM-360, потом IBM-370). Обе эти машинные архитектуры были совместимы на уроне непривелигерованных, пользовательских команд, что очень облегчало переход – ведь большая часть была написана на ассемблере. Но  привелегированные команды и операционные системы были совсем разные.

В разработке участвовало больше десятка (а то и нескольких) человек – очень яркий коллектив математиков в значительной части своей унаследованный от отдела математического обеспечения ИТЕФ, руководимого А.С.Кронродом. Удержать всю архитектуру системы в руках было непросто (если вообще возможно), и я старался удерживать контроль над разработкой нескольких ключевых центральных частей - отчасти за счет того, что я писал многие куски сам.

Что там бало интересного (технически):

 

- Использование развитой системы описания данных, подобной системе типов языков программирования высокого уровня (это было аналогично тому, что было сделано для Сократа). Были элементарные типы, структуры и массивы и специальный вид массив с ключами (на современном языке я бы определил это как map of structures). Были также ссылки (pointers) и то, что называлось шаблонами (typedef).

- Элементарные данные хранизись в предельно упакованном виде. Скажем, маленькие целые числа занимали один байт. Это позволяло что-то размещать на очень ограниченных тогда внешних носителях (7-и и 29-и мегабайтные диски), но приводило к замедлению из-за накладных расходов связанных с интерпретацией этих форматов. Я расчитывал, что через пару лет скорость имещихся компьютеров возрастет – на немного ошибся: первые ЕС-ЭВМ машины были медленными, так что за это решения меня еще некоторое время ругали – пока не появились более быстрые ЕС-1040 и старше.

- Мы пытались увести кок можно большую часть разработки подальше от уровня машинного кода. Достаточно эффективных яхыков программирования у нас в доступности не было – и пришлось изобретать. Два шага были сделаны в этом направлении:

- созданы макрокоманды довольно высокого уровня.

-был переделан язык обработки списков РЕФАЛ и частично перенесен, частично переделан его транслятор. Все языки доступа системы ИНЕС и некоторые вспомогательные програбы были сделаны на Рефале.

- Насколько возможно, были использованы абстакции. Скажем, был создан «древовидный метод доступа» - средство для эффективного хранения структурированных данных на диске (использующий для больших массибов алгоритмы аналогичные B*-trees), который использовался для представления как данных, так и описаний (scheme). А нижним уровнем для всего этого служила система DIO – оригинальная и эффективная программная реалицация некого аналога виртуальной памяти.

В процессе работы было придумано много других интересных вещей (некоторые мной, многие другими разработчиками) – обо всем рассказать невозможно.

 

В процессе этого начального этапа разработки весь коллектив перешел в другую организацию – ВНИИСИ (почти весь – без потерь в таких случаях не обходилось). И скоро ИНЕС зажила своей жизнью и стала приносить «доход».

Буквальный доход в те советские времена, конечно, был невозможен: академические институты финансировальсь государствам, а для людей возможность получать какие-нибудь деньги сверх строго регламентированной зарплаты были несчадно ограничены. Однако польза от системы была:
- Разработка проектов в институте упрощалась за счет использования ИНЕС.

- Внедрение ИНЕС в сотнях, а потом и тысячах организаций СССР создавало рекламу.

- Заинтересованные организации уже использующие ИНЕС нанимали нас или для обучения или для помощи в разработке. И при невероятных государственных ограничениях, спозобы заплатить деньги находились.

Скажем, как сейчас помню, лето 1980 года – меня пригласили провести обучение по ИНЕС в город Краснодар. Я взял отпуск (иногда можно было и прогулять работу или даже оформить командировку – внутренняя атмосфера у нас была очень свободная, но меня приглашали на месяц – и это было бы черезчур). И за три недели чтения лекций я заработал около 1000 рублей – чтобы понять, что это было, скажу, что месячнвя зарплата у меня была 190 р. (я не был кандидатом наук – зрплата кандидата и старшего научного сотрудника была тогда примерно 250 – 350 рублей).
Последняя неделя ушла на купание в Черном море - это была компенсацию за краснодарскую августовскую жару.

Так и прожила ИНЕС, наверное, до исчезновения машин ЕС-ЭВМ. Много было сделано программного обеспечения и расширений самой ИНЕС; немало было и диссертаций защищено...

 


 
 
 
(Deleted comment)
Misha Furmanmishafurman on March 30th, 2010 02:34 pm (UTC)
Доброе утро. Связь не очень то поддерживаю: последний раз видел его, вот уже, пожалуй, почти два года на зад - нпри трагических обстоятельствах: на похоронах его дочери, Насти. Насколько мне известно, они с Люсей после этого вернулись в Москву и его можно найти у Володи Арлазарова.