Interested Article - DragonFly BSD

DragonFly BSD ( англ. Dragonfly — стрекоза ) — операционная система с открытым кодом , созданная в июле 2003 года на базе FreeBSD (4-й ветки), ориентирована на платформу x86 . Один из разработчиков FreeBSD — (англ.) с группой товарищей — будучи неудовлетворенным оптимизацией ядра FreeBSD, основал новую операционную систему DragonFlyBSD как масштабируемую систему, предназначенную для работы на высоконагруженных серверах , и более эффективно использующую ресурсы процессора и оперативной памяти, прежде всего на многопроцессорных системах .

Молодая, но быстро развивающаяся и совершенствующаяся система. Может использоваться как на сервере , так и на рабочей станции, может быть установлена как с GUI (вариант с GUI включает много дополнительных программ, таких как веб-браузер и т. п.), так и с поддержкой только командной строки.

DragonFly BSD рекомендуется к использованию только опытным пользователям .

В настоящее время ОС стабильно работает в том числе и под длительной серьёзной нагрузкой. Имеются небольшие шероховатости с отдельными портированными приложениями.

Дистрибутив создан с использованием BSD Installer .

Основные отличительные особенности

Основные отличия DragonFlyBSD от родительской операционной системы FreeBSD таковы:

  • Используются облегчённые нити ядра (LWKT — ) . Этот механизм является намного лучшей средой для симметричной многопроцессорности «по сравнению с традиционной моделью процесса, которую используют другие BSD, и по сравнению с мьютекс-ориентированной моделью, которую использует FreeBSD-5. Это одна из главных причин, почему мы сделали проект DragonFly. Облегчённые нити обеспечивает чрезвычайно эффективную и масштабируемую среду программирования для систем UP и SMP. FreeBSD-5 в значительной степени отказалась от повышения производительности». «Он проще в использовании и менее подвержен ошибкам. Абстракция токенов часто упрощает код по сравнению с моделью мьютексов, используемой FreeBSD 5 и NetBSD. Сама обработка потока тоже очень аккуратна, потому что она не пытается быть умной, но проста. Нет причудливого механизма вытеснения, кроме хорошо известной мягкой обработки прерываний, нет пинг-понга потоков ядра между процессорами. Это важно для производительности и делает систему более детерминированной» .
  • В отличие от в значительной степени монолитной FreeBSD, где ядро и драйверы представляют собой единое целое, в DragonFlyBSD, наподобие микроядерных операционных систем, максимум функций ядра вынесено из пространства памяти ядра в пользовательское пространство. Тем самым достигается как рост производительности, так и надёжность системы в целом. Но при этом DragonFlyBSD не является микроядерной операционной системой, ибо функциональность ядра высока.
  • Традиционные для Unix системные вызовы только эмулируются в целях совместимости. Вместо них используется механизм сообщений (messages) и их очередей, т. н. портов (ports), подобный применяющемуся в микроядре Mach .

История

(англ.) , был ранее известен как автор компилятора DICE C для AmigaOS , а также значительным вкладом в подсистему виртуальной памяти в проекте FreeBSD, где он использовал параллелизм . Это в сочетании с тем, что доступ Диллона к репозиторию исходного кода FreeBSD был отозван из-за ссоры с другими разработчиками FreeBSD, не желающих брать на себя работу, стало причиной создания проекта DragonFly BSD в 2003 году, с реализацией модели симметричной многопроцессорности с использованием облегчённых потоков ядра . Проект DragonFly также привел к разработке нового метода виртуализации ядра в пользовательском пространстве в 2006 году, названного (англ.) , когда код ядра может быть скомпилирован для запуска в пользовательском пространстве, первоначально, для облегчения отладки различных будущих компонентов уровня ядра .

На первом крупном этапе проекта, который продолжался до начала 2007 года, проект DragonFly был сосредоточен на переписывании большинства основных подсистем ядра для реализации необходимых абстракций и поддержки разработки параллельных программ для вычислительных кластеров и сетей. Это потребовало большой работы практически во всех подсистемах, особенно в API-интерфейсах файловой системы и ядра.

Диллон построил в ядре DragonFly механизмы обмена сообщениями, которые похожи на модель обмена сообщениями AmigaOS , но он «перестал пытаться использовать обмен сообщениями для взаимодействия драйверов устройств, файловой системы и системных вызовов» .

Проект Dragonfly также привел к созданию новой файловой системы, получившей название HAMMER ( англ. молот ), которую Диллон создал с использованием B-деревьев ; HAMMER была объявлена готовой к выпуску в DragonFly 2.2 в 2009 году ; и, впоследствии, HAMMER2, объявленная стабильной в 2018 году в DragonFly 5.2. Эта файловая система была разработана для решения многочисленных проблем и добавления многих новых возможностей к DragonFly, не только таких как снимок файловой системы , но и мгновенное восстановление после сбоев и почти зеркальное отображение в реальном времени. Файловая система HAMMER также предназначена служить основой для кластеризации и других следующих по плану работ.

В конце 2011 года система основные подсистемы ядра стали использовать симметричную многопроцессорность , а в 2013-2014 годах также был повышен параллелизм за счет подсистем PID, PGRP и SESSION, а также системных вызовов fork/exec/exit/wait, реализован механизм подкачки страниц на многопроцессорных системах, что значительно повысило производительность операционной системы.

В 2012 году Francois Tigeot и специальная группа помощников начали переоснащение DRM с активным портом от Linux, продвигая DragonFly к современным стандартам. В 2015 году выполнена полностью ускоренная поддержка 2D, 3D, а видео работает с сервером Xorg . Примерно в то же время были также предприняты согласованные усилия по обновлению звуковой системы с основным портом HDA от FreeBSD.

Дистрибутивы

  • Дистрибутив существует в 2 вариантах: для записи на компакт-диск (файл с расширением iso) либо на flash-носитель (файл с расширением img). Дистрибутив может использоваться как для работы без установки (LiveCD), так и для установки на жесткий диск.
  • Начиная с версии 3.8 предоставляются образы только для 64-битной архитектуры.
  • Кроме сборок релизных версий дистрибутива распространяются также ежедневные снимки файловой системы , включающие все актуальные изменения .

См. также

Примечания

  1. — 2022.
  2. Евгений Зобнин. . xakep.ru (27 мая 2016). Дата обращения: 31 декабря 2021. 29 апреля 2022 года.
  3. . Дата обращения: 23 июня 2018. 23 июня 2018 года.
  4. . Яндекс.Дзен (4 марта 2020). Дата обращения: 31 декабря 2021. 12 апреля 2021 года.
  5. . itc.ua (12 июля 2004). Дата обращения: 31 декабря 2021. 31 декабря 2021 года.
  6. . Дата обращения: 3 июля 2018. 5 июня 2014 года.
  7. Дата обращения: 3 июля 2018. 5 июня 2014 года.
  8. . Дата обращения: 23 июня 2018. 23 июня 2018 года.
  9. . Дата обращения: 23 июня 2018. 23 июня 2018 года.
  10. . Дата обращения: 3 июля 2018. 3 июля 2018 года.
  11. Federico Biancuzzi. . O'Reilly Media (8 июля 2004). Дата обращения: 2 марта 2019. Архивировано из 13 мая 2011 года.
  12. . Дата обращения: 23 июня 2018. 23 июня 2018 года.
  13. David Chisnall. . (15 июня 2007). Дата обращения: 6 марта 2019. 15 ноября 2019 года.
  14. David Chisnall. Why Go? // The Go Programming Language Phrasebook. — 1st. — Addison-Wesley Professional . — С. 5. — ISBN 978-0-321-81714-3 . . — «"In creating DragonFly BSD, Matt Dillon observed that there was no point in creating an N:M threading model—where N userspace threads are multiplexed on top of M kernel threads—because C code that uses more than a handful of threads is very rare."»
  15. Koen Vervloesem. . LWN.net (21 апреля 2010). Дата обращения: 7 марта 2019. 23 июня 2018 года.
  16. Jeremy C. Reed: . BSD Newsletter .com . Reed Media .net (10 февраля 2007). Дата обращения: 17 ноября 2019. 24 февраля 2007 года.
  17. . Дата обращения: 3 июля 2018. 5 июня 2014 года.
  18. . Дата обращения: 20 апреля 2016. 25 июня 2017 года.

Ссылки

  • (англ.)
  • (англ.)
Источник —

Same as DragonFly BSD