Константин Белоусов: «FreeBSD – не черный ящик»::Журнал СА 4.2011
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Книжная полка  

Защиты много не бывает

Среди книжных новинок издательства «БХВ» есть несколько изданий, посвященных методам социальной инженерии

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6420
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7122
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4401
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3088
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3884
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3900
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6389
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3235
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3531
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7366
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10726
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12446
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14101
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9193
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7143
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5448
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4684
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3497
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3213
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3449
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3091
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Константин Белоусов: «FreeBSD – не черный ящик»

Архив номеров / 2011 / Выпуск №4 (101) / Константин Белоусов: «FreeBSD – не черный ящик»

Рубрика: Администрирование /  Проект

Константин Белоусов:
«FreeBSD – не черный ящик»

На вопросы «Системного администратора» отвечает один из разработчиков FreeBSD Константин Белоусов

Константин Белоусов
Константин Белоусов, 37 лет, живет вКиеве, Украина. Коммитер FreeBSD с2005 года, в 2010-м избран в FreeBSD Core Team, один из самых активных разработчиков в проекте. Работает системным программистом UNIX-систем уже 12 лет. Считает, что главное вжизни «чувствовать, что жизнь приносит удовольствие».

В марте вышел релиз FreeBSD 8.2. Хотелось бы поговорить о трендах и новшествах этой замечательной ОС. Но прежде расскажите, пожалуйста, как вы пришли впрограммирование?

Совсем обычно, даже скучно на самом деле. Программировать я начал лет в 14, на СМ ЭВМ, те, которые DEC PDP-11. Работал также на RT11SJ, RSX11M. Использовал при этом Assembler, Fortran, Pascal.

Потом поступил на факультет мехмата, программирование на пять лет забросил. Через год после поступления в аспирантуру, в 1996-м, огляделся – кругом были уже одни персоналки. Очень недолго пытался возиться с DOS/Windows/NT etc – надоело.

Почему выбрали именно FreeBSD, ане, скажем, популярный Linux?

Я попробовал повозиться с UNIX. У нас в институте, в котором я учился в аспирантуре, поставили списанные в каком-то западном институте SUN, SPARCstation SLC и IPC. Грузило это все по сети с SPARCstation 20SPARC Linux. После этого интересного опыта возможность «покрутить код» под UNIX-like-системы казалась привлекательной. Но мне было неприятно чтение кода Linux: я бы так не писал.

Я бросил аспирантуру и нашел работу, где писал прикладной софт для UNIX: HP-UX, SunOS 4.x, Solaris2. Поскольку в мире UNIX документации не хватает, лучшим способом найти ответы на вопросы было чтение каких-то исходников. Чтение кода FreeBSD было решением: чем больше ковырялся в системе, тем больше она мне нравилась. Дальше уже было не остановиться…

Какие вы видите отличия в идеологии разработки FreeBSD от остальных xBSD?

С OpenBSD у меня два сильных отторгающих фактора – атмосфера общения в их списках рассылок и их технические решения. К примеру, у них нет даже поддержки SMP… О чем тут говорить?

В отличие от OpenBSD в FreeBSD любой человек, систематически приносящий пользу проекту, будет чувствовать себя комфортно. Грубость или «наезды» отторгаются публикой очень эффективно, велика вероятность получить полезный ответ на правильно поставленный технический вопрос (здесь я говорю не о support-вопросах, а о попытках писать код).

Чем вы занимаетесь в FreeBSD, какая ваша специализация?

Я поддерживаю код VFS, участвую в текущих переделках VM, какое-то время очень активно исправлял/переписывал/добавлял недостающий KPI в devfs. Кроме того, мне нравится работать с инфраструктурным кодом, я сильно переписал код обработки syscall, выделив машинно-независимую часть. Добавил возможность использования XMM-регистров в ядре для i386/amd64. Реализовал поддержку Wine для amd64 (сегменты). Я основной автор новой функциональности в rtld в последнее время. Кроме того, портировал libunwind на FreeBSD. Если суммировать по направлениям, то получится, что область моих основных интересов– файловые системы, VM, архитектуры x86 (i386, amd64), динамический загрузчик.

Сколько вы в среднем тратите времени на программирование в день?

Восемь часов на работе. Еще от тридцати минут до двух часов на FreeBSD уже после работы. В выходные и нерабочие дни примерно часов по пять.

Какие, по вашему мнению, сейчас самые слабые стороны/места вFreeBSD 8?

Во-первых, X. Сейчас X активно меняются, но это разработка крайне Linux-центрична. В какой-то момент мы должны спортировать новые X. Во-вторых, Journaling в UFS еще слишком сырой. В-третьих, usermode tools у нас уделяется гораздо меньше внимания, чем ядру. В-четвертых, в базовой системе старый gdb, а релизы gnu gdb не понимают очень многих вещей, специфичных для FreeBSD. В-пятых, драйверы для нового consumer-level-железа появляются поздно. И наконец, многие писатели приложений в последнее время считают единственной UNIX-like-платформой Linux, отсюда частые проблемы с приложениями.

У FreeBSD нет поддержки NUMA, это правда?

В HEAD появился примитивный NUMA-aware allocator, который, насколько я понимаю, пытается выделить страницу на той ноде, на которой выполняется нитка. К сожалению, от него больше вреда, чем пользы.

Что касается NUMA вообще, то правильно подобранный benchmark может показать, по-моему, двукратное превосходство NUMA-aware-планировщика и allocator. В реальных же нагрузках на обычных x86 SMP-машинах, поверьте, вся разница теряется в погрешностях измерений.

В чем сейчас FreeBSD 8 технологически и объективно очень сильна по сравнению с другими ОС?

  • Ядро в очень хорошем состоянии, глубоко отлажено и содержит массу правильных и продвинутых архитектурных решений. Как частные примеры, можно упомянуть interrupt threads, крайне малое количество спинлоков в системе (это все предмет предстоящих RT-патчей для Linux, по крайней мере я об этом читал).
  • Наша VM по-прежнему очень понятна и реализует эффективные алгоритмы.
  • IPv6-стек в FreeBSD считается одним из лучших.
  • Virtual Access Points предоставляют, насколько мне известно, уникальную возможность запускать несколько виртуальных точек доступа на одной Wi-Fi-карточке.
  • Совершенно прозрачная реализация superpages, не требующая от приложений никаких усилий для их использования, в отличие от Linux или Solaris.
  • «^T» на терминале (почти шутка, этого мне очень не хватало в других UNIX).
  • Jail «из коробки». Не нужно ставить какой-то VPS (для Linux). Зоны в Solaris уже переросли наши Jail, но после того, как VIMAGE все-таки окончательно закончат, это будет эквивалентно.
  • Для кого-то важным станет наличие DTrace, ZFS, аудита или MAC.

Ко всему этому хочу добавить: очень важным качеством FreeBSD для меня лично является понятный и во всем логичный код системы – она не «черный ящик».

Насколько эффективно использует текущая FreeBSD 8 современные многоядерные процессоры?

Масштабируемость FreeBSD на MP-системах, как и любой современной SMP-aware-системы, зависит лишь от нагрузки. На таких нагрузках, как make -j N buildworld, рост линейный сростом N до числа процессоров.

Известное проблемное место у FreeBSD – одновременные чтения и записи из разных ниток в один файл. Кроме того, у подсистемы VM появляются проблемы с contention при некоторых нагрузках и числе процессоров в районе 32.

Что можете сказать новичкам– годится ли FreeBSD для десктопа? Превалирует мнение, что FreeBSD– это более серверная ОС, которая не годится для десктопа.

На моем лэптопе и домашней рабочей workstation стоит FreeBSD (stable/8 latest). Я использую машины для почты, браузинга веб, моих репозиториев кода, компиляции и отладки (ядро– в QEMU), просмотра фильмов, музыки, IRC, чтения документации, иногда книжек. Чем FreeBSD непригодна для всего вышеперечисленного?

Что можно пожелать людям, мечтающим стать системными программистами или продвинутыми администраторами в FreeBSD? Какие есть вспомогательные источники информации для этого старта?

Сначала нужно уверенно освоить базовое администрирование UNIX, научиться программировать на C, освоить API Unix и работу с CVS/SVN. Потом надо разобраться с архитектурой ядра FreeBSD и научиться непосредственно читать сам код.

Что касается вспомогательной информации – много полезного для новичка есть в системных man. Кроме того, еще в начале своего пути я прочитал книжку Кернигана и Пайка «UNIX Programming Environment». Именно после нее мне начала нравиться система, у меня возникло желание разобраться в ней лучше. Нужно также помнить, что у проекта для этого случая есть свой FreeBSD Developers' Handbook.

Какие технологии из мира Оpen Source вы считаете по-настоящему перспективными? Какие проекты вас впечатляют?

Мне трудно что-либо сказать о новых технологиях, я человек сравнительно консервативный и ничем новым в последние десять лет пользоваться не начал, разве что nginx, и совсем недавно стал использовать Cassandra. Cassandra, действительно, произвела на меня большое впечатление.

Работа в FreeBSD на таком высоком посту – это бесплатный труд, или все же есть гранты, какая-то система материального стимулирования вашей работы в Core Team?

Я не получаю никаких материальных поступлений от проекта. Скорее, сам трачу свои средства на Интернет, нормальное «железо» для себя, свое время. С другой стороны, статус в проекте производит впечатление на работодателя. Конечно, мне бы хотелось заниматься только FreeBSD, иметь за это денег не меньше, чем я сейчас зарабатываю, но это нереально.

Как вы относитесь к современным языкам программирования типа Java или C#? Каковы ваши предпочтения как программиста вне проекта FreeBSD?

Нормально отношусь. Я всегда предпочитаю кодировать usermode-код на языках достаточно высокого уровня, по крайней мере предоставляющих встроенные средства работы сразвитыми структурами данных, type safety и GC. Если бы была возможность, то на работе я бы использовал Common Lisp. Пару раз так и делал. Если нет, то Perl, Python (раньше любил Python, в последнее время больше Perl), Java.

Беседовал Игорь Савчук


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru