DragonFly BSD

Бесплатная и открытая Unix-подобная операционная система

Операционная система
DragonFly BSD
Загрузчик UEFI DragonFly BSD 6.2.1
РазработчикМэтью Диллон
Семейство ОСUnix-подобный ( BSD )
Рабочее состояниеТекущий
Исходная модельС открытым исходным кодом
Первоначальный выпуск1.0 / 12 июля 2004 г. ; 20 лет назад ( 2004-07-12 )
Последний релиз6.4.0 / 30 декабря 2022 г. ; 2 года назад [1] ( 2022-12-30 )
Репозиторий
  • gitweb.dragonflybsd.org/dragonfly.git
Доступно вАнглийский
Менеджер пакетовупк
Платформыx86-64
Тип ядраГибрид [2]
Пользовательская земляБСД

Пользовательский интерфейс по умолчанию
Оболочка Unix
ЛицензияБСД [3]
Официальный сайтwww.dragonflybsd.org

DragonFly BSD — это бесплатная и открытая Unix-подобная операционная система , ответвление FreeBSD 4.8. Мэтью Диллон , разработчик Amiga в конце 1980-х и начале 1990-х и разработчик FreeBSD между 1994 и 2003 годами, начал работу над DragonFly BSD в июне 2003 года и объявил об этом в списках рассылки FreeBSD 16 июля 2003 года. [4]

Диллон начал DragonFly, полагая, что методы, принятые для потоковой обработки и симметричной многопроцессорной обработки в FreeBSD 5 [5], приведут к низкой производительности и проблемам с обслуживанием. Он стремился исправить эти ожидаемые проблемы в рамках проекта FreeBSD. [6] Из-за конфликтов с другими разработчиками FreeBSD по поводу реализации его идей [7] его возможность напрямую изменять кодовую базу была в конечном итоге отозвана. Несмотря на это, проекты DragonFly BSD и FreeBSD по-прежнему работают вместе, совместно исправляя ошибки, обновляя драйверы и другие улучшения. Диллон назвал проект в честь фотографии стрекозы у себя во дворе, когда он все еще работал над FreeBSD. [ необходима цитата ]

Задуманный как логическое продолжение серии FreeBSD 4.x, DragonFly значительно отклонился от FreeBSD, реализовав облегченные потоки ядра (LWKT), систему передачи сообщений внутри ядра и файловую систему HAMMER . [8] Многие концепции дизайна были созданы под влиянием AmigaOS . [9]

Проектирование системы

Ядро

Разрабатываемая подсистема обмена сообщениями ядра похожа на те, что встречаются в микроядрах, таких как Mach , хотя она менее сложна по конструкции. Подсистема обмена сообщениями DragonFly может действовать как синхронно, так и асинхронно и пытается использовать эту возможность для достижения наилучшей производительности в любой заданной ситуации. [10]

По словам разработчика Мэтью Диллона , прогресс достигается в предоставлении возможностей ввода/вывода устройств (I/O) и обмена сообщениями виртуальной файловой системы (VFS), что позволит достичь оставшихся целей проекта. Новая инфраструктура позволит перенести многие части ядра в пользовательское пространство; здесь их будет легче отлаживать, поскольку они будут представлять собой меньшие изолированные программы, а не небольшие части, вплетенные в более крупный фрагмент кода. Кроме того, перенос выбранного кода ядра в пользовательское пространство имеет преимущество в том, что делает систему более надежной; если драйвер пользовательского пространства выходит из строя, это не приводит к сбою ядра. [11]

Системные вызовы разделяются на пользовательские и ядерные версии и инкапсулируются в сообщения. Это поможет уменьшить размер и сложность ядра, перемещая варианты стандартных системных вызовов в уровень совместимости пользовательского пространства , и поможет поддерживать прямую и обратную совместимость между версиями DragonFly. Код совместимости Linux и других Unix-подобных ОС переносится аналогичным образом. [9]

Нарезание резьбы

Поскольку поддержка архитектур с несколькими наборами инструкций усложняет поддержку симметричной многопроцессорной обработки (SMP), [7] DragonFly BSD теперь ограничивает свою поддержку платформой x86-64 . [12] DragonFly изначально работал на архитектуре x86 , однако с версии 4.0 она больше не поддерживается. Начиная с версии 1.10, DragonFly поддерживает потоки пользовательского пространства 1:1 (один поток ядра на поток пользовательского пространства), [13] что считается относительно простым решением, которое также легко поддерживать. [9] Унаследованный от FreeBSD, DragonFly также поддерживает многопоточность. [14]

В DragonFly каждый ЦП имеет свой собственный планировщик потоков. После создания потоки назначаются процессорам и никогда не переключаются с одного процессора на другой; они переносятся только путем передачи сообщения о межпроцессорном прерывании (IPI) между задействованными ЦП. Межпроцессорное планирование потоков также выполняется путем отправки асинхронных сообщений IPI. Одним из преимуществ этой чистой компартментализации подсистемы потоков является то, что встроенные кэши процессоров в симметричных многопроцессорных системах не содержат дублированных данных, что обеспечивает более высокую производительность, предоставляя каждому процессору в системе возможность использовать свой собственный кэш для хранения различных вещей для работы. [9]

Подсистема LWKT используется для разделения работы между несколькими потоками ядра (например, в сетевом коде на каждый протокол приходится один поток на процессор), что снижает конкуренцию за счет устранения необходимости совместного использования определенных ресурсов различными задачами ядра. [7]

Защита общих ресурсов

Для безопасной работы на многопроцессорных машинах доступ к общим ресурсам (таким как файлы, структуры данных) должен быть сериализован , чтобы потоки или процессы не пытались изменять один и тот же ресурс одновременно. Чтобы предотвратить одновременный доступ или изменение общего ресурса несколькими потоками, DragonFly использует критические секции и сериализующие токены для предотвращения одновременного доступа. В то время как и Linux, и FreeBSD 5 используют мелкозернистые модели мьютексов для достижения более высокой производительности на многопроцессорных системах, DragonFly этого не делает. [7] До недавнего времени DragonFly также использовал spls , но они были заменены критическими секциями.

Большая часть ядра системы, включая подсистему LWKT , подсистему обмена сообщениями IPI и новый распределитель памяти ядра, являются безблокировочными, что означает, что они работают без использования мьютексов, при этом каждый процесс работает на одном ЦП. Критические разделы используются для защиты от локальных прерываний, индивидуально для каждого ЦП, гарантируя, что поток, который в данный момент выполняется, не будет вытеснен. [13]

Сериализирующие токены используются для предотвращения одновременного доступа от других ЦП и могут удерживаться одновременно несколькими потоками, гарантируя, что только один из этих потоков будет запущен в любой момент времени. Таким образом, заблокированные или спящие потоки не мешают другим потокам получать доступ к общему ресурсу в отличие от потока, удерживающего мьютекс. Помимо прочего, использование сериализующих токенов предотвращает многие ситуации, которые могут привести к взаимоблокировкам и инверсии приоритетов при использовании мьютексов, а также значительно упрощает проектирование и реализацию многошаговой процедуры, которая потребовала бы совместного использования ресурса несколькими потоками. Код сериализующего токена развивается во что-то очень похожее на функцию « Чтение-копирование-обновление », которая теперь доступна в Linux. В отличие от текущей реализации RCU в Linux, реализация DragonFly реализуется таким образом, что затрагиваются только процессоры, конкурирующие за один и тот же токен, а не все процессоры в компьютере. [15]

DragonFly переключился на многопроцессорный безопасный аллокатор slab , который не требует ни мьютексов, ни блокирующих операций для задач назначения памяти. [16] В конечном итоге он был перенесен в стандартную библиотеку C в пользовательском пространстве, где он заменил реализацию malloc во FreeBSD. [17]

Виртуальное ядро

Начиная с версии 1.8 DragonFly имеет механизм виртуализации, аналогичный User-mode Linux , [18] позволяющий пользователю запускать другое ядро ​​в пользовательском пространстве. Виртуальное ядро ​​( vkernel ) запускается в полностью изолированной среде с эмулированными сетевыми и хранилищными интерфейсами, что упрощает тестирование подсистем ядра и функций кластеризации. [9] [11]

У vkernel есть два важных отличия от настоящего ядра: в нем отсутствуют многие процедуры для работы с низкоуровневым управлением оборудованием, и он использует функции стандартной библиотеки C (libc) вместо реализаций в ядре везде, где это возможно. Поскольку и реальное, и виртуальное ядро ​​компилируются из одной и той же кодовой базы, это фактически означает, что платформенно-зависимые процедуры и повторные реализации функций libc четко разделены в исходном дереве. [19]

Vkernel работает поверх аппаратных абстракций, предоставляемых реальным ядром. Они включают в себя таймер на основе kqueue , консоль (сопоставленную с виртуальным терминалом , где выполняется vkernel), образ диска и виртуальное ядро ​​Ethernet-устройства ( VKE ), туннелирующее все пакеты в интерфейс tap хоста . [20]

Управление пакетами

Стороннее программное обеспечение доступно на DragonFly в виде двоичных пакетов через pkgngили из собственной коллекции портовDPorts . [21]

Изначально DragonFly использовала коллекцию портов FreeBSD в качестве официальной системы управления пакетами , но начиная с версии 1.4 перешла на систему pkgsrc NetBSD , что было воспринято как способ уменьшения объема работы, необходимой для обеспечения доступности стороннего программного обеспечения. [6] [22] В конечном итоге, поддержка совместимости с потребовала больше усилий, чем изначально предполагалось, поэтому проект создал DPorts, надстройку над коллекцией портов FreeBSD . [23] [24]pkgsrc

поддержка CARP

Первоначальная реализация протокола Common Address Redundancy Protocol (обычно называемого CARP ) была завершена в марте 2007 года. [25] С 2011 года поддержка CARP интегрирована в DragonFly BSD. [26]

Файловые системы HAMMER

Наряду с файловой системой Unix , которая обычно является файловой системой по умолчанию в BSD, DragonFly BSD поддерживает файловые системы HAMMER и HAMMER2 . HAMMER2 является файловой системой по умолчанию, начиная с версии 5.2.0.

HAMMER был разработан специально для DragonFly BSD, чтобы предоставить многофункциональный, но лучше спроектированный аналог набирающей популярность ZFS . [9] [11] [27] HAMMER поддерживает настраиваемую историю файловой системы, моментальные снимки , контрольное суммирование , дедупликацию данных и другие функции, типичные для файловых систем такого рода. [18] [28]

HAMMER2, преемник файловой системы HAMMER, теперь считается стабильной, используется по умолчанию и находится в центре дальнейшего развития. Планы по ее разработке были первоначально обнародованы в 2012 году. [29] В 2017 году Диллон объявил, что следующая версия DragonFly BSD (5.0.0) будет включать в себя пригодную для использования, хотя и все еще экспериментальную, версию HAMMER2, и описал особенности дизайна. [30] С выпуском после 5.0.0, версии 5.2.0, HAMMER2 стала новой файловой системой по умолчанию.

devfs

В 2007 году DragonFly BSD получила новую файловую систему устройств (devfs), которая динамически добавляет и удаляет узлы устройств, позволяет получать доступ к устройствам по путям подключения, распознает диски по серийным номерам и устраняет необходимость в предварительно заполненной /devиерархии файловой системы. Она была реализована как проект Google Summer of Code 2009. [31]

Снимки приложений

DragonFly BSD поддерживает функцию резидентных приложений в стиле Amiga : она делает снимок большого, динамически связанного пространства виртуальной памяти программы после загрузки, позволяя будущим экземплярам программы запускаться гораздо быстрее, чем это было бы в противном случае. Это заменяет возможность предварительного связывания , над которой работали ранее в истории проекта, поскольку резидентная поддержка намного эффективнее. Большие программы, такие как те, что находятся в KDE Software Compilation со многими общими библиотеками, получат наибольшую выгоду от этой поддержки. [32]

Разработка и распространение

DragonFly BSD 6.2.1 с рабочей средой Lumina

Как и в случае с FreeBSD и OpenBSD , разработчики DragonFly BSD постепенно заменяют код C в стиле прототипа функции на более современные эквиваленты ANSI . Подобно другим операционным системам, версия GNU Compiler Collection от DragonFly имеет усовершенствование под названием Stack-Smashing Protector (ProPolice), включенное по умолчанию, что обеспечивает дополнительную защиту от атак, основанных на переполнении буфера . С 23 июля 2005 года ядро ​​больше не собирается с этой защитой по умолчанию. [32][обновлять]

Будучи производной от FreeBSD, DragonFly унаследовал простую в использовании интегрированную систему сборки, которая может пересобрать всю базовую систему из исходного кода всего несколькими командами. Разработчики DragonFly используют систему контроля версий Git для управления изменениями в исходном коде DragonFly . В отличие от родительской FreeBSD, DragonFly имеет как стабильные, так и нестабильные релизы в одном исходном дереве из-за меньшей базы разработчиков. [7]

Как и другие ядра BSD (и ядра большинства современных операционных систем), DragonFly использует встроенный отладчик ядра , чтобы помочь разработчикам находить ошибки ядра. Кроме того, с октября 2004 года [обновлять]отладочное ядро, которое делает отчеты об ошибках более полезными для отслеживания проблем, связанных с ядром, устанавливается по умолчанию за счет относительно небольшого количества дискового пространства. При установке нового ядра резервная копия предыдущего ядра и его модулей лишается своих отладочных символов, чтобы еще больше минимизировать использование дискового пространства.

Средства распространения информации

Операционная система распространяется в виде Live CD и Live USB , которые загружаются в полную систему DragonFly. [18] [31] Она включает в себя базовую систему и полный набор страниц руководства, а также может включать исходный код и полезные пакеты в будущих версиях. Преимущество этого в том, что с помощью одного CD пользователи могут установить программное обеспечение на компьютер, использовать полный набор инструментов для восстановления поврежденной установки или продемонстрировать возможности системы без ее установки. Ежедневные снимки доступны на главном сайте для тех, кто хочет установить самые последние версии DragonFly без сборки из исходников.

Как и другие свободные и открытые BSD, DragonFly распространяется на условиях современной версии лицензии BSD .

История релизов

ВерсияДата [33]Изменения
6.430 декабря 2022 г.
6.2.19 января 2022 г.
  • NVMM перенесен на DragonFly
  • Добавлена ​​поддержка growfs для изменения размера существующего тома HAMMER2 .
  • Добавлен xdisk. Удаленные диски HAMMER2 могут быть смонтированы (экспериментальная функция)
  • Импортированный драйвер amdgpu , соответствует поддержке Linux 4.19.
  • Обновленный DRM
6.010 мая 2021 г.
  • Улучшена работа инструмента 'dsynth', позволяющего поддерживать локальный репозиторий DPort.
  • Удалена поддержка MAP_VPAGETABLE mmap(), в результате чего в этом выпуске не может работать ни один 'vkernel'
5.83 марта 2020 г.
5.617 июня 2019 г.
  • Улучшенная система виртуальной памяти
  • Обновления для radeon и ttm
  • Улучшения производительности для HAMMER2
5.43 декабря 2018 г.
  • Обновлены драйверы для сети, виртуальных машин и дисплея
  • GCC 8.0 с предыдущими версиями GCC
  • Hammer с большим количеством исправлений ошибок
5.210 апреля 2018 г.
5.016 октября 2017 г.
  • Новая файловая система HAMMER2
  • Теперь может поддерживать более 900 000 процессов на одной машине
  • Улучшенная поддержка i915
  • IPFW лучшая производительность
4.827 марта 2017 г.
  • Первоначальная поддержка AMD Ryzen
  • Улучшенная поддержка i915
  • Улучшена производительность ядра
  • поддержка загрузки eMMC
  • LibreSSL заменил OpenSSL в базе
  • ССЗ 5.4.1
  • Поддержка LTO
  • Первоначальный фреймворк Clang
  • Поддержка установки UEFI
4.62 августа 2016 г.
  • Улучшенная поддержка i915 и Radeon
  • Поддержка NVM Express
  • Улучшенная производительность SMP
  • Улучшенная производительность сети
  • Предварительная поддержка загрузки UEFI
  • autofs импортирован из FreeBSD, amdудален
4.47 декабря 2015 г.
  • ССЗ 5.2
  • goldтеперь компоновщик по умолчанию
  • Улучшенная поддержка i915 и Radeon
  • Полная переработка системы локалей
  • Поддержка сортировки для именованных локалей
  • Библиотека Regex заменена на TRE
  • Поддержка управления версиями символов в libc
  • Многочисленные исправления и доработки HAMMER
4.229 июня 2015 г.
  • ССЗ 5.1.1
  • Улучшенная поддержка i915 и Radeon
  • Улучшенная звуковая поддержка
  • Улучшенная поддержка контроллера памяти и датчиков температуры
  • Обнаружение MTU пути включено по умолчанию
  • Поддержка SCTP удалена
  • Sendmail заменен на DMA
  • Удалены страницы GNU Info
4.025 ноября 2014 г.
  • Неблокируемый, многопоточный PF
  • Связанные сетевые соединения лучше организованы для повышения пропускной способности
  • Функция безопасности Procctl в ядре
  • Поддержка до 256 ЦП
  • Улучшенная поддержка беспроводных сетей
  • Теперь поддерживаются Rust и Free Pascal
  • Поддержка i915 значительно улучшена
  • ССЗ 4.7.4
3.84 июня 2014 г.
  • Поддержка динамического корня и PAM
  • USB4BSD теперь по умолчанию
  • Собственная поддержка C-State для процессоров Intel
  • Разделение маркера порта TCP для лучшей производительности TCP-подключения(2)
  • ССЗ 4.7.3
  • HAMMER2 в системе (не готов к использованию в производстве)
  • Финальный 32-битный релиз
3.625 ноября 2013 г.
3.429 апреля 2013 г.
  • Представлен новый менеджер пакетов DPorts
  • ССЗ 4.7
  • Улучшение использования ЦП и производительности tmpfs при экстремальной нагрузке
3.22 ноября 2012 г.
  • Многопроцессорное ядро ​​стало обязательным.
  • Улучшения производительности планировщика.
  • USB4BSD импортирован из FreeBSD.
  • PUFFS импортирован из NetBSD.
3.022 февраля 2012 г.
  • Ядро с поддержкой многопроцессорности стало ядром по умолчанию
  • Улучшения производительности HAMMER
  • Поддержка шифрования, совместимого с TrueCrypt
  • dm-crypt заменен на совместимую библиотеку с лицензией BSD
  • Улучшенная совместимость с POSIX
  • Драйвер устройства для памяти ECC
  • Основные улучшения стека сетевых протоколов и SMP
  • Улучшения, связанные с ACPI
2.1026 апреля 2011 г.
  • Гигантская блокировка снята со всех областей, кроме подсистемы виртуальной памяти.
  • Дедупликация HAMMER
  • ССЗ 4.4
  • Система мостов переписана
  • Значительные улучшения производительности
2.830 октября 2010 г.
2.66 апреля 2010 г.
  • SwapCache
  • tmpfs импортирован из NetBSD
  • HAMMER и общие улучшения ввода-вывода
2.416 сентября 2009 г.
  • devfs
  • Новый драйвер AHCI , включающий полную поддержку NCQ [35]
  • Улучшения NFS
  • Полная поддержка x86-64
2.217 февраля 2009 г.
  • HAMMER официально готов к производству [18]
  • Значительные улучшения стабильности
  • Новые носители релиза: LiveCD и LiveUSB
2.020 июля 2008 г.
  • Значительные улучшения HAMMER
1.1226 февраля 2008 г.
  • Фреймворк сенсора, импортированный из FreeBSD
  • Bluetooth- стек
  • ССЗ 4.1
  • DragonFly Mail Agent (DMA), заглушка MTA
  • Поддержка процессора 386 прекращена
  • Предварительная поддержка x86-64 (не работает)
  • Экспериментальная поддержка HAMMER
1.106 августа 2007 г.
1.830 января 2007 г.
1.624 июля 2006 г.
  • Новый генератор случайных чисел
  • Рефакторинг фреймворка IEEE 802.11
  • Крупные улучшения в области блокировки, кластеризации и пользовательского пространства VFS
  • Значительные улучшения стабильности [36]
1.47 января 2006 г.
1.28 апреля 2005 г.
1.012 июля 2004 г.

Смотрите также

Ссылки

  1. ^ "DragonFly BSD 6.4". Dragonfly BSD . Получено 15 января 2023 г. .
  2. Диллон, Мэтью (22 августа 2006 г.), «Re: How much of microkernel?», список рассылки по ядру , получено 14 сентября 2011 г.
  3. ^ "DragonFly BSD License", DragonFly BSD , получено 17 января 2015 г.
  4. Диллон, Мэтью (16 июля 2003 г.), «Анонсируем DragonFly BSD!», список рассылки freebsd-current , получено 26 июля 2007 г.
  5. ^ Lehey, Greg (2001), Улучшение реализации FreeBSD SMP (PDF) , USENIX , получено 22 февраля 2012 г.
  6. ^ ab Kerner, Sean Michael (10 января 2006 г.), "New DragonFly Released For BSD Users", InternetNews , заархивировано из оригинала 28 июня 2011 г. , извлечено 20 ноября 2011 г.
  7. ^ abcdef Biancuzzi, Federico (8 июля 2004 г.), "Behind DragonFly BSD", O'Reilly Media , заархивировано из оригинала 9 апреля 2014 г. , извлечено 20 ноября 2011 г.
  8. Loli-Queru, Eugenia (13 марта 2004 г.), «Интервью с Мэтью Диллоном из DragonFly BSD», OSNews , получено 22 февраля 2012 г.
  9. ^ abcdef Chisnall, David (15 июня 2007 г.), "DragonFly BSD: UNIX для кластеров?", InformIT , получено 22 ноября 2011 г.
  10. ^ Hsu, Jeffery M. (13 марта 2004 г.). Операционная система DragonFly BSD (PDF) . AsiaBSDCon 2004. Тайбэй, Тайвань . Получено 20 ноября 2011 г.
  11. ^ abc Andrews, Jeremy (6 августа 2007 г.), "Интервью: Мэтью Диллон", KernelTrap , заархивировано из оригинала 15 мая 2011 г.
  12. ^ "DragonFly BSD MP Performance Significantly Improved", OSNews , 16 ноября 2011 г. , получено 19 ноября 2011 г.
  13. ^ ab Luciani, Robert (24 мая 2009 г.), M:N threading in DragonflyBSD (PDF) , BSDCon, архивировано из оригинала (PDF) 23 декабря 2010 г.
  14. Sherrill, Justin (11 января 2004 г.), Paying off already, архивировано из оригинала 30 апреля 2014 г. , извлечено 20 ноября 2011 г.
  15. Пистритто, Джо; Диллон, Мэтью; Шеррилл, Джастин С.; и др. (24 апреля 2004 г.), «Сериализация токена», список рассылки ядра , заархивировано из оригинала 15 апреля 2013 г. , извлечено 20 марта 2012 г.
  16. Бонвик, Джефф ; Адамс, Джонатан (3 января 2002 г.), Журналы и Vmem: расширение распределителя Slab для многих ЦП и произвольных ресурсов, USENIX , получено 20 ноября 2011 г.
  17. Диллон, Мэтью (23 апреля 2009 г.), «New libc malloc commited», список рассылки ядра , получено 8 августа 2011 г.
  18. ^ abcd Vervloesem, Koen (21 апреля 2010 г.), «DragonFly BSD 2.6: на пути к свободной кластерной операционной системе», LWN.net , получено 19 ноября 2011 г.
  19. ^ Экономопулос, Аггелос (16 апреля 2007 г.), «Взгляд на виртуальное ядро ​​DragonFly», LWN.net , вып. часть 1 , получено 8 декабря 2011 г.
  20. ^ Экономопулос, Аггелос (16 апреля 2007 г.), «Взгляд на виртуальное ядро ​​DragonFly», LWN.net , вып. часть 2 , дата обращения 8 декабря 2011 г.
  21. ^ "HowTo DPorts", DragonFly BSD , получено 2 декабря 2013 г.
  22. ^ Weinem, Mark (2007). "10 лет pkgsrc". NetBSD . Йорг Зонненбергер о pkgsrc на DragonFly BSD и его проектах по разработке pkgsrc . Получено 22 ноября 2011 г.
  23. Sherrill, Justin (30 сентября 2013 г.), «Почему dports?», DragonFly BSD Digest , архивировано из оригинала 30 апреля 2014 г. , извлечено 2 декабря 2011 г.
  24. Sherrill, Justin (29 сентября 2013 г.), «Есть ли новые пакеты?», список рассылки пользователей , получено 2 декабря 2013 г.
  25. Buschmann, Jonathan (14 марта 2007 г.), «First Patch to get CARP on Dfly», список рассылки ядра , получено 20 ноября 2011 г.
  26. ^ "CARP(4) manual page", DragonFly On-Line Manual Pages , получено 20 ноября 2011 г.
  27. Диллон, Мэтью (10 октября 2007 г.), "Re: Обновление файловой системы HAMMER - проектный документ", список рассылки ядра , получено 20 ноября 2011 г.
  28. ^ Larabel, Michael (7 января 2011 г.), "Can DragonFlyBSD's HAMMER Compete With Btrfs, ZFS?", Phoronix , получено 20 ноября 2011 г. , HAMMER, похоже, очень интересная файловая система BSD. Она, хотя и не такая быстрая, как файловая система ZFS в BSD, но это также оригинальная файловая система для проекта DragonFlyBSD, а не порт из OpenSolaris. HAMMER не только в целом быстрее обычной файловой системы UFS, но и имеет гораздо больший набор функций.
  29. ^ Диллон, Мэтью (8 февраля 2012 г.), "DESIGN document for HAMMER2 (обновление от 08 февраля 2012 г.)", пользователи , получено 22 февраля 2012 г.
  30. ^ Диллон, Мэтью (18 августа 2017 г.), «Следующий релиз DFly будет иметь начальную реализацию HAMMER2», пользователи , получено 3 июля 2018 г.
  31. ^ ab Mr (7 января 2010 г.), "DragonFlyBSD с Мэтью Диллоном", bsdtalk , заархивировано из оригинала ( ogg ) 25 апреля 2012 г. , извлечено 20 ноября 2011 г.
  32. ^ ab "DragonFly BSD diary", DragonFly BSD , 7 января 2006 г. , получено 19 ноября 2011 г.
  33. ^ "DragonFly: Releases", DragonFly BSD , получено 19 июня 2014 г.
  34. ^ Тижо, Франсуа (31 июля 2007 г.), «KMS + i915 support now in -master», список рассылки пользователей , получено 2 декабря 2013 г.
  35. ^ Мэтью Диллон (4 июня 2009 г.). ""Re: DragonFly-2.3.1.165.g25822 master sys/dev/disk/ahci Makefile TODO ahci.c ahci.h ahci_attach.c ahci_cam.c ahci_dragonfly.c ahci_dragonfly.h atascsi.h"".
  36. ^ ab Kerner, Sean Michael (25 июля 2006 г.), "DragonFly BSD 1.6 Cuts the Cord", InternetNews , получено 20 ноября 2011 г.
  37. Таунсенд, Трент (18 января 2006 г.), «Краткий обзор DragonFly BSD 1.4», OSNews , получено 16 ноября 2011 г.
  • Официальный сайт
Retrieved from "https://en.wikipedia.org/w/index.php?title=DragonFly_BSD&oldid=1256234781"