Сегодня — заключительная часть нашего интервью с Константином Белоусовым (FreeBSD Core Team). Какие самые слабые и сильные места у FreeBSD? — откровенный разговор с одним из ведущих отечественных разработчиков этого проекта.
Кто пропустил, начало интервью ищите в прошлом посте.
Сейчас традиционная парочка для сравнения (для т.н. holy war) — это FreeBSD и Linux, в связи с этим, можно ли услышать ваше экспертное мнение, какие сейчас у них ГЛАВНЫЕ технологические отличия, если оставить в покое разные лицензии и организационные подходы в разработке?
Давайте я на этот вопрос отвечу так — понятия не имею. Мне Linux СОВЕРШЕННО не интересен.
О’кей, тогда давайте это спросим по-другому. Какие, по вашему мнению, сейчас самые слабые стороны/места в FreeBSD 8? Меня интересуют именно технические особенности этой ОС. Если можно, перечислите, по-возможности откровенно.
И ещё, сюда же: у FreeBSD нет поддержки NUMA, это правда? Если нету — причины?
Нет, в том смысле, что нет специального allocator’ a, который бы пытался активно угадывать будущее. В HEAD появился примитивный NUMA-aware allocator, который, насколько я понимаю, пытается выделить страницу на той ноде, на которой выполняется нитка. К сожалению, — от него больше вреда, чем пользы.
Что касается NUMA вообще, то правильно подобранный benchmark может показать, по-моему, 2-х кратное превосходство NUMA-aware планировщика и allocator’ a. В реальных же нагрузках, на обычных x86 SMP машинах, поверьте, вся разница теряется в погрешностях измерений.
Хорошо, теперь давайте сыграем наоборот. В чем сейчас FreeBSD 8 технологически и объективно очень сильна по сравнению с другими ОС?
Ко всему этому хочу добавить: очень важным качеством FreeBSD для меня лично является очень понятный и во всем логичный код системы —
она не “черный ящик”.
Насколько эффективно использует текущая FreeBSD 8 современные многоядерные процессоры, по вашему мнению?
Вопрос совершенно некорректный. Масштабируемость FreeBSD на MP-системах, как и любой современной SMP-aware системы, зависит лишь от нагрузки.
На таких нагрузках, как make -j N buildworld, рост линейный с ростом N до числа процессоров. Известное проблемное место у FreeBSD — одновременные чтения и записи из разных ниток в один файл. Кроме того, у подсистемы VM появляются проблемы с contention при некоторых нагрузках и числе процессоров в районе 32.
Константин здесь по-середине: "Хорошая кружка для пива..."
Как профессиональный системный программист драйверов для Solaris, копались ли вы во внутренностях OpenSolaris? Что можно сказать про эту ОС с технической точки зрения?
Нет, я почти не читал код Solaris’ а.
Но с технической точки зрения система очень интересная. FreeBSD, помимо импорта zfs и dtrace, использовала некоторые важные идеи из Solaris’ a. Как пример, можно упомянуть interrupt threads и turnstiles. Но тут заимствование было только на уровне идей, а не кода. В качестве источника для этого использовалась известная книга «Solaris Internals».
Solaris основан на коде System V Release 4, что делает его фактически reference implementation для ELF и runtime linker.
Да, я знаю, Solaris – это ОС которую вы очень уважаете, но она ныне попала в “кровожадные руки” Oracle, как думаете будут развиваться события далее, какая судьба ждет Solaris? Выступите в роли предсказателя, пожалуйста :)
Понятия не имею. Возможно, он окончательно откатится в ту же нишу, в которой сейчас прозябают HP-UX и AIX. Другими словами, он будет безразличен большинству.
Все-таки, что вы можете сказать новичкам — годится ли FreeBSD как десктопная система в настоящий момент… Всё-таки превалирует то мнение, что FreeBSD — это более серверная ОС, негодная для десктопа.
Разъясните мне разницу между «десктопной» и «серверной» ОС, иначе я просто не смогу ответить на этот вопрос… На моем лэптопе и домашней рабочей workstation стоит FreeBSD (stable/8 latest). Я использую машины для почты, браузинга web’а, моих репозиториев кода, компиляции и отладки (ядро — в QEMU), просмотра фильмов, музыки, IRC, чтения документации и иногда книжек и т.д.
Чем FreeBSD непригодна для всего перечисленного?
Что конкретно можно пожелать людям, мечтающим стать настоящими системными программистами или продвинутыми администраторами в FreeBSD? Какие есть вспомогательные источники информации для этого старта?
Сначала нужно уверенно освоить базовое администрирование Unix, научиться программировать на C, освоить API Unix’а и работу с CVS/SVN. Потом нужно разобраться с архитектурой ядра FreeBSD, и научиться непосредственно читать сам код.
Что касается вспомогательной информации… Очень много полезного для новичка есть в системных man’ах, кроме того, очень давно в начале своего пути я прочитал книжку Кернигана и Пайка «Unix Programming Environment». Именно после нее мне начала нравиться система, и у меня возникло желание разобраться с ней лучше.
Нужно также помнить, что у проекта для этого случая есть свой FreeBSD Developers' Handbook.
Более общий вопрос. Какие технологии из мира open source вы считаете по-настоящему перспективными и считаете, что за ними будущее, можете их перечислить? Какие проекты лично вас впечатляют? Например, сейчас очень много восхищений и эпитетов можно услышать про ZFS…
ZFS я не пользуюсь. Мне тяжело что-либо сказать о “новых технологиях”, я человек сравнительно консервативный и ничем новым в последние 10 лет пользоваться не начал, разве что nginx’ ом, и совсем недавно стал использовать Cassandra.
Cassandra действительно произвела на меня большое впечатление.
Скажите, работа в FreeBSD на таком высоком посту — это полностью бесплатный труд, или все же есть гранты, или ещё какая-то система материальной стимуляции вашей работы в Core Team?
Полностью бесплатный, в том смысле, что я не получаю никаких материальных поступлений от проекта. Скорее, я сам трачу свои средства на интернет, нормальное железо для себя, свое время и т.д. С другой стороны, — статус в проекте производит впечатление на работодателя.
Конечно, мне бы хотелось заниматься только FreeBSD, и иметь за это денег не меньше, чем я сейчас зарабатываю, но это нереально, скорее всего…
Как вы относитесь к современным высокоуровневым языкам программирования, типа Java или C#? Какие ваши предпочтения как программиста вне проекта FreeBSD?
Нормально отношусь. Я всегда предпочитаю кодировать usermode-код на языках достаточно высокого уровня, т.е. по крайней предоставляющие встроенные средства работы с развитыми структурами данных, type safety и GC.
Если бы была возможность, то на работе я бы использовал Common Lisp. Пару раз так и делал. Если нету, то Perl, Python (раньше любил Python, в последнее время больше Perl), Java.
Смотрите начало этого интервью здесь.
Интервью взял Игорь Савчук, 2011 © «Системный администратор” (samag.ru)
13 комментариев
Спасибо за оба интервью! Прочитал с удовольствием
А кто или что подразумевается на картинке в начале второй части интервью?
Какой-то коммунистический чорт, судя по всему (на картинке в самом верху).
Stringer, да, слово коммунистический не пришло в голову, вертелось "сионистский" и это слово никак не приклеивалось к FreeBSD.
"Сионистский черт" - Лев Тройцкий (Лейба Бронштейн). Стыдно, товарищи.
Я конечно всё понимаю, но после слов «раньше любил Python, в последнее время больше Perl» становится ясно, почему FreeBSD стремительно теряет пользователей.
Комментатор 21
Мда...
ты явно неадекватен. Python еще более кривой чем Perl, у перла хоть из-за синтаксиса только проблемы (и то это очень спорный вопрос), а у питона явные проблемы с архитектурой языка.
а правда что создатели и те кто пользуется FreeBSD это заядливые олдфаги которым нравится командная строка ? и больше им ничего от ОС ненадо
Очень интересное интервью. Побольше бы таких!
Комментатор 23 явно не влдеет vi
аноним, до написания предыдущего поста я владел vi, vim, ee, согласен разница есть, я не спрашивал у гуру как выйти с vim, у меня была тяжолая и упорная учеба на Linux сначала, в момент написания поста, я бегал с одного дистрибутива Linux на другой, честное слово устал, и читал про FreeBSD, и ктото сказал смысл моего предыдущего поста, а я лишь спросил ( разьве я виноват что в интернете пишут что FreeBSD это только командная срока ). Но я уже на FreeBSD & PC-BSD, прочитал документацию на русском языке для пользователя, все понятно и меньше дурных вопросов.
думаю на линукс я врятле вернусь после установки BSD, идеального ничено нету, но FreeBSD для себя я вижу только +, всем удачи!
Что то этот жирный очкарик нагловато себя ведет, хамит, дерзко отвечает на безобидные вопросы. Он себя богом что ли представил? Взять такого и башкой в унитаз пару раз окунуть. Король бсд блять
за LISP -отдельный жирный плюс!)