GNU/Linux в Северной столице

Балдин Е.М.

апрель 2008


Ключев Аркадий Олегович

Санкт-Петербургский государственный университет информационных технологий, механики и оптики (СПбГУ ИТМО) — одно из немногих мест в России, где действительно изучают информатику. Было бы странно, если бы там не было GNU/Linux и Аркадий Олегович Ключев подтверждает этот факт.

Евгений М. Балдин LXF: Представьтесь пожалуйста Аркадий Олегович. Как Вы оказались в роли преподавателя ИТМО?

Аркадий Олегович Ключев[*] Аркадий: С детства я мечтал стать инженером, а не преподавателем вуза. На момент поступления в институт у меня был диплом радиотехника и некоторый радиолюбительский опыт. Когда стал студентом ЛИТМО[*], то сразу начал искать студенческое конструкторское бюро, хотелось побыстрее начать работать. После недолгих поисков, я оказался на кафедре вычислительной техники. Проучился один год. В 1987 году меня и многих моих сокурсников забрали в армию. В 1989 году, после службы в армии я восстановился в институте. Начиная со второго курса меня начали привлекать к ведению лабораторных работ и руководству дипломным проектированием. Ещё я читал лекции и вёл практику по программированию в институте повышения квалификации. После окончания института я стал преподавателем на кафедре уже официально. Защитил кандидатскую диссертацию в 1998 году. Сейчас я доцент. Параллельно с преподаванием, я занимаюсь разработкой встроенных систем в фирме ЛМТ.

LXF: Когда Вы впервые столкнулись с GNU/Linux?

Аркадий: Вообще-то, с Unix-подобной системой первый раз я столкнулся ещё в самом начале девяностых годов. Это был SCO Xenix для Intel 286[*].

Общение с GNU/Linux началось с того момента, когда у нас в институте появился Интернет. У нас был модемный пул, сделанный на одной из первых версий Linux. Я никакого серьёзного отношения тогда к этому делу не имел, просто был одним из пользователей системы UUCP[*]. В тот момент моё серверное хозяйство ещё работало на базе сервера Novell NetWare[*]. Я заинтересовался GNU/Linux, но руки до него дошли не сразу. Ситуация изменилась, когда наши компьютеры в ЛИТМО объединили в единую сеть и подключили к Internet. Первым моим дистрибутивом стал Linux RedHat 4.0. Как сейчас помню: купил в «Доме Книги» диск «Открытое ядро». С тех пор я с GNU/Linux не расстаюсь.

LXF: А какой дистрибутив используется в качестве базового сейчас?

Аркадий: Трудно сказать, какой дистрибутив базовый. Параллельно используются Open SUSE 10.3, RH Enterprise Linux 5.0, SUSE Enterprise Linux 10.0 и ASP Linux 12.0. Больше всего наверно нравится OpenSUSE 10.3.

LXF: Какой сейчас состав компьютерного парка? Где и по какой причине GNU/Linux внедрить не удалось?

Аркадий: На кафедре вычислительной техники сейчас две сети. В первой сети (за неё я и отвечаю) есть 16 компьютеров Intel Celeron с 512 Мб ОЗУ, 24 компьютера с процессорами Intel Core 2 Duo и гигабайтом оперативной памяти. Тактовая частота процессоров (и тех и других) в районе 2 ГГц. Диски по 80 и 200 гигабайт соответственно. Сеть гигабитная. Есть стойка с четырьмя серверами Kraftway, всё работает под управлением GNU/Linux. В этом году собираемся сделать ещё два дисплейных класса (штук 20 компьютеров). Во второй сети используется техника Sun Microsystems. У них есть дисплейный класс с двумя десятками терминалов Sun Ray. Сервера Sun работают под Solaris.

Проприетарное ПО у нас, естественно, есть и используется оно в основном по двум причинам: во-первых из-за САПР и других «тяжёлых» приложений, которых просто физически нет в Linux, а во-вторых из-за тех преподавателей, которые в силу преклонного возраста уже не могут легко переходить с одной операционной системы на другую. В подавляющем большинстве машин сделана двойная загрузка и есть выбор что грузить: Windows или Linux.

LXF: Был ли план внедрение GNU/Linux?

Аркадий: Я считаю, что университет — это такое место, где должна быть свобода выбора. К счастью, у нас такого понятия как «внедрение» практически нет. Если что-то интересно и даёт какую-то выгоду, то оно внедряется само собой. Плохие решения медленно отмирают и исчезают, а хорошие выходят на первый план. Если есть кадры и желание, то новый продукт пользуется спросом, а если нет, то никакое «внедрение» не поможет. Любые попытки формализовать процесс и делать что-то насильно приводят к провалам.

LXF: Какое программное и аппаратное обеспечение используется при обучении студентов? Есть ли свои наработки?

Аркадий: У меня несколько курсов. Часть из них связана с необходимостью написания драйверов различных аппаратных устройств. Для демонстрации особенностей программирования аппаратных средств современный персональный компьютер подходит плохо по целому ряду причин. Во-первых, он слишком сложен для понимания студентами. Во вторых, его начинка постоянно меняется и учебные пособия быстро устаревают. Системы для встроенных применений гораздо проще и консервативнее. Если принять за основу мысль, что учим мы не какой-то конкретной технологии, а учим учиться, то получается что, казалось бы, простые стенды чрезвычайно привлекательны для такого сложного процесса как обучение.

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

В настоящий момент я намеренно перешёл на свободное ПО в преподавании. Вызвано это несколькими причинами. Во-первых коммерческие инструментальные средства для встроенных систем обычно очень и очень дорогие. Во-вторых, у нас в стране вышли более строгие законы об авторском праве. Если кафедра ещё может себе позволить покупку компилятора за 3000 евро, то студент (или преподаватель более стеснённого в средствах вуза) скорее всего найдёт этот компилятор на пиратском сайте и станет вором, де-факто и де-юре. Есть третий момент, достаточно важный с моей точки зрения. Коммерческое ПО обычно имеет интерфейс пользователя рассчитанный на новичка, где все тонкие настройки глубоко закопаны под толстым слоем разных меню и окон. Студент, работая с IDE не видит всех этих тонкостей, к примеру, настроек компилятора и линкера. Не видит он, соответственно, и особенностей архитектуры инструментальной системы, лежащей за этими настройками.

Курс по системному программированию я также перевёл с Windows на Linux. И там и там одни и те же, в общем-то, механизмы, только в Linux на порядок проще разобраться.

В результате, у нас на данный момент подобрался джентльменский набор по свободным компиляторам: gcc для Linux, sdcc для стендов SDK-1.1 и GNUARM для стендов SDK-2.0.

LXF: Что мешает с вашей точки зрения продвижению GNU/Linux?

Аркадий: Я не очень понимаю словосочетание «продвижение GNU/Linux». Я его никуда не продвигаю. В этом плане я солидарен с Линусом Торвальдсом. Он, насколько я знаю, тоже относится к процессу «продвижения» достаточно спокойно. Я просто использую ряд определённых технологий и готов делиться ими с другими людьми. Технологии бывают удачные и не очень. Основная задача преподавателя научить студентов правильно думать, используя для этого удачные примеры из имеющихся технологий.

LXF: Как реагируют на GNU/Linux студенты?

Аркадий: Хорошие студенты любопытны. Их всегда интересует «а как это работает» и «что у него внутри», поэтому на открытое ПО они реагируют очень хорошо. Плохим же студентам...Им всё до лампочки.

LXF: Кто-нибудь из студентов использует GNU/Linux в качестве основной системы?

Аркадий: Да, конечно. Это стало модно, поставить на свой ноутбук самый навороченный дистрибутив GNU/Linux. (улыбается)

LXF: Как относятся к вашей деятельности другие преподаватели?

Аркадий: Пожилым преподавателям трудно использовать свободное ПО, молодые воспринимают с энтузиазмом, а вот преподаватели среднего возраста относятся настороженно (улыбается). Я далеко не единственный человек в университете, использующий GNU/Linux и свободное ПО. У нас вся институтская сетевая инфраструктура работает на GNU/Linux. Даже в коммутаторах и маршрутизаторах стоит MontaVista Linux (улыбается). В общем, у нас это распространённое явление.

LXF: Кроме преподавательской деятельности Вы занимаетесь ещё и коммерческой. Чем именно вы занимаетесь? Ваше преподавание Вам как-нибудь помогает?

Аркадий: В рамках коммерческой деятельности в ЛМТ (http://lmt.ifmo.ru/), мы занимаемся разработкой достаточно сложных, распределённых информационно-управляющих систем. В нашем активе такие разработки как многопроцессорные контроллеры M3M для железнодорожной автоматики, системы семейства AP3000 для управления судами, распределённые системы для управления вагонными кондиционерами КТЖ2, системы "Луч-2" и "Луч-3" для управления городским освещением и энергоподстанциями.

По поводу связи коммерции и образования: так уж получилось, что в нашей фирме, мне приходится работать с теми сотрудниками, которых я сам и научил.

LXF: Вам как потребителю кадров нужны спецы со знанием GNU/Linux? Каким технологиям они должны быть обучены?

Аркадий: Я хотел бы кое-что уточнить для начала. Во-первых я радикально против современного подхода по приготовлению винтиков для корпораций. Во вторых, я против обучения каким то конкретным технологиям. Я радикально против того, чтобы студентов учили люди с производства. Студентов должны учить профессиональные преподаватели, имеющие серьёзный практический и научный опыт. Мне не нужны на работе люди умеющие программировать под Linux на C или C++. Или, например, специалисты по базам данных, Java или C#. Мне нужны инженеры, умеющие думать головой и учиться. А уж конкретные технологии, при наличии обучаемости у сотрудника, осваиваются очень быстро, это проверено на практике.

Изучать же Linux в вузе конечно имеет смысл. Это простая и достаточно стройная система, позволяющая показать студентам ряд технологий «изнутри». В Linux, в отличии от Windows, нет такого количества различных архитектурных наслоений и исключений из правил. Посмотрите, к примеру, как организованы средства IPC в этих системах.

LXF: Ощущаете ли Вы помощь сетевого сообщества?

Аркадий: Помощь от сетевого сообщества идёт постоянно. Без этой помощи мы не смогли бы ничего сделать. Коммерческие конторы закрыты, из них никакой полезной информации обычно не выудить. Патенты, деньги, секреты...Мне иногда кажется, что это всё ведёт к коллапсу цивилизации. Создаётся реальное впечатление, что если бы не wikipedia, форумы и почтовые рассылки, то мы существовали бы вообще без какой-либо технической информации.

LXF: Какие у Вас планы?

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

LXF: Чего Вы больше всего не хватает?

Аркадий: Времени и сил. Ещё, было бы неплохо, если бы преподавание было не эдаким хобби, а нормально оплачиваемой работой. К счастью, очень похоже, что дело к тому и идёт. Первая ласточка в этом деле — это инновационная образовательная программа. Надеюсь, что наше правительство про нас не забудет.

LXF: Чего бы Вы всем пожелали, чтобы продвинуть GNU/Linux в ВУЗе?

Аркадий: Отчётливого понимания, что такое GNU/Linux и зачем всё это надо.

Мне кажется, что непонимание — главное препятствие на пути развития.

LXF: Вы можете что-нибудь сказать про Linux Format? Что именно Вам хотелось бы увидеть на его страницах?

Аркадий: Я его читал. Если появится возможность, я закажу этот журнал для нашей библиотеки.

Хотелось бы увидеть в журнале статьи концептуального характера. Пусть это будет один небольшой раздел для «умных». Ваш журнал читает много замечательной молодёжи с отличными мозгами и этим мозгам очень, очень полезно думать.



Примечание

... Ключев[*]
e-mail: kluchev(в)d1(точка)ifmo(точка)ru
URL: http://embedded.ifmo.ru
...ЛИТМО[*]
ЛИТМО — Ленинградский институт точной механики и оптики. Так СПбГУ ИТМО назывался до 2003 года.
... 286[*]
Unix-подобная операционная система, созданная фирмой AT&T. Одно время правами на эту ОС владела Microsoft.
... UUCP[*]
Unix-to-Unix CoPy. Название пошло от команды копирования файлов между двумя компьютерами под управлением операционной системы UNIX. До эпохи TCP/IP широко использовалась для передачи электронной почты и новостей Usenet.
... NetWare[*]
NetWare — закрытая сетевая операционная система, созданная компанией Novell. Есть указания на то, что Novell полностью отказывается от NetWare в пользу GNU/Linux.


Evgueni 2008-11-23