Pull to refresh

Интервью с Эндрю Таненбаумом

Reading time3 min
Views4.1K
Original author: MattMik

Недавно мне представился удобный случай взять интервью у Эндрю Таненбаума – создателя чрезвычайно надежной Unix подобной ОС MINIX3. Эндрю также является автором книги Operating Systems Design and Implementation (Операционные системы. Разработка и реализация) – настольной книги разработчика, занимающегося разработкой и проектированием ОС. Именно Эндрю вдохновил Линуса Торвальдса на создание Linux. Таненбаум опубликовал более 120 работ по компьютерной тематике. Его работы известны во всем мире и были переведены на многие языки мира для использования в программе обучения. На сегодняшний день он является профессором Амстердамского свободного университета в Амстердаме.

Хочу выразить свою благодарность Эндрю за то, что нашел время в своем насыщенном графике, чтобы ответить на мои вопросы.

Когда вы впервые занялись программированием и проектированием операционных систем?
Я начал программировать с тех пор, когда еще был студентом в Массачусетском Технологический Институте. Проектирование операционных систем я занялся гораздо позже – в 1980 году. Сначала я работал над с Амебой – экспериментальной распределенной ОС, потом в 1984 над Minix.

Что подтолкнуло вас к разработке Minix?
Я читал курс с использованием Unix v6. Потом AT&T изменило лицензию, запретив людям изучать их курсы – это было самое глупое решение, которое они могли принять. Согласно их логунгу; «Чем меньше людей знает Unix, тем лучше», они должны были платить большие деньги людям, изучающим их курс. Из-за этого я решил, если я хочу иметь Unix подобную ОС для обучения, я должен написать ее сам. Так и вышло.

Ваши студенты помогали вам в разработке Minix?
В начале нет. Первую версию я написал сам. Позже многие студенты предлагали свои идеи и писали код. Т.о. у меня была команда студентов для написания кода.

Что заставило вас сделать Minix на основе микроядра, а не на основе монолитного ядра?
Принципы хорошего тона разработки ПО предписывают разбивать свои программы на модули. Я не хочу, чтобы ошибка в одном месте нарушила общую работу системы. Микроядро гораздо проще проектировать, а модульность проще для понимания. Монолитные ядра еще слишком большие и ненадежные. Лучший пример – телевизор. Система должна работать в течение 10 лет без сбоев у 99,9% пользователей.

Видите ли вы какие-либо недостатки в том, что Minix является Posix совместимой?
Нет.

Если ли недостатки в том, что драйвера устройств работают в отдельных пользовательских процессах?
Есть небольшая потеря производительности. Мы не заостряли внимание на производительности, хотя люди из L4 показали, что при использовании микроядра потери можно свести к 5-10%

Получит ли Minix когда-нибудь оконную систему кроме X11, или X11 является стабильной и достаточно функциональной?
Никогда не говори никогда, но я считаю, что X11 является достаточно хорошей. Я верю, что это единственная оконная система для Linux.

Насколько хорошо работает Minix на двухпроцессорных машинах? Будет ли Minix оптимизирована для этого типа компьютеров?
Мы только начали работу над многопроцессорностью. Это НАМНОГО труднее, чем с одноядерными системами. Я полагаю, что любое мультипроцессорное ПО изобилует ошибками.

Как вы считаете, много ли пользователей Linux перейдут на Minix?
Вероятно, нет.

Над какими проектами вы работаете кроме Minix?
Я был вовлечен в работу в области защиты RFID. Посмотрите www.rfidvirus.org и www.rfidguardian.org.

Какие дальнейшие планы по разработке Minix?
Мы добавляем несколько недостающих возможностей, которых сейчас нет. Например, виртуальная память и поддержка USB, но основные усилия ну прилагаем для достижения высокой надежности и самоисцелении (вот этого я вообще не понял…Это как? прим. переводчика).

Если пингвин Linux и енот Minix сойдутся в смертельной схватке, как вы думаете, кто победит?
Енот достаточно агрессивное животное, а пингвин нет. Пингвин станет курицей, поданной к обеду.

Связаться с Эндрю можно различными способами на его сайте www.cs.vu.nl/~ast/
Tags:
Hubs:
Total votes 49: ↑43 and ↓6+37
Comments41

Articles