Меню
Главная
Случайная статья
Настройки
|
NetBSD — свободная и открытая, защищённая[5], Unix-подобная операционная система, основанная на BSD. NetBSD происходит из систем 4.3BSD и 386BSD[6][7]. Она продолжает активно развиваться и доступна для многих платформ, включая серверы, настольные компьютеры, карманные компьютеры и встраиваемые системы[8][9][10][11]. Проект NetBSD фокусируется на ясности кода, тщательном проектировании и переносимости на многие компьютерные архитектуры. Исходный код NetBSD находится в открытом доступе[12][13][14].
NetBSD портирована на огромное количество компьютерных архитектур. Лозунг NetBSD — «Конечно, это работает с NetBSD» (англ. «Of course it runs NetBSD»). Поддерживаются 53 аппаратные платформы[15] (существуют 57 портов, включая последний официальный выпуск[16] и мгновенные копии[17]). Компиляция пакетов происходит из одного дерева исходных кодов, поэтому новые функции в машинно-независимых частях появляются сразу для всех платформ без необходимости адаптации. Разработка драйверов также машинно-независима, поэтому один драйвер для карты, работающей, например, на шине PCI, будет работать на платформах i386, Alpha, PowerPC, SPARC и других, поддерживающих шину PCI. Такая платформонезависимость позволяет разрабатывать встраиваемые системы с помощью целого набора инструментов: компиляторов, отладчиков и других инструментов, поддерживающих кросс-компиляцию.
«NetBSD» — зарегистрированная торговая марка Фонда NetBSD[18].
В конце 1995 года от NetBSD появился форк — OpenBSD[19].
Содержание
История
NetBSD произошла от релиза 4.4BSD, сделанного Berkeley Software Distribution из Computer Systems Research Group Университета Калифорнии в Беркли через посредство их релиза исходного Net/2 и проекта 386BSD. Проект NetBSD создался в результате фрустрации в сообществе разработчиков 386BSD из-за скорости, и направления разработки системы[20]. Четыре основателя проекта NetBSD: Chris Demetriou, Theo de Raadt, Adam Glass и Charles Hannum — чувствовали, что более открытая модель разработки могла бы принести пользу проекту, который сконцентрирован на портируемом чистом корректном коде. Они стремились создать унифицированную мультиплатформенную систему на базе BSD, пригодную для производственного применения. Название «NetBSD», основанное на важности и росте сетей, подобных Интернету, в то время, и распределенном, совместном характере её разработки, было предложено Raadt’ом.
Репозиторий исходного кода NetBSD был основан 21 марта 1993 года, а первый официальный релиз NetBSD 0.8 сделали в апреле 1993[21][22]. Он происходил от 386BSD 0.1 плюс версия 0.2.2 неофициального набора патчей, с реинтеграцией нескольких программ из релиза Net/2, исчезнувших в 386BSD, и различными другими усовершенствованиями[23]. Первый мультиплатформенный релиз, NetBSD 1.0, сделали в октябре 1994[24]. Также в 1994 по спорным причинам одного из основателей, Theo de Raadt’а удалили из проекта. Позже, к концу 1995 года, он основал новый проект — OpenBSD — форк NetBSD 1.0[19]. В 1998 году, NetBSD 1.3 ввела в использование менеджер пакетов pkgsrc[25].
До 2004 года, релизы NetBSD 1.x выпускались примерно ежегодно, с небольшими релизами-«патчами» между ними. Начиная с релиза 2.0, NetBSD использует семантическое версионирование, и каждый важный релиз NetBSD соответствует увеличенному номеру версии, то есть важные релизы следующие за 2.0 будут 3.0, 4.0, и так далее. Более ранние меньшие релизы сейчас разделены на две категории: x.y — «стабильные» поддерживаемые релизы, и x.y.z релизы — содержащие только исправления ошибок безопасности и критических ошибок[26].
В качестве предварительно настроенного графического интерфейса (оконного менеджера), начиная с версии 9.1 (выпущена в 2020 году), предшественник TWM был заменен на более современный и универсальный CTWM.[27]
История версий
| Цвет |
Легенда
|
| красный |
Неподдерживаемая версия
|
| жёлтый |
Старая поддерживаемая версия
|
| зелёный |
Текущая версия
|
| золотой |
Последняя тестовая версия
|
| Версия |
Дата релиза |
Примечания
|
| 10.0
|
28 марта 2024
|
- Диспетчер операционной системы осведомлен о неоднородном доступе к памяти, гиперпоточность, и ARM big.LITTLE. Кэш пути к файлу заменен на более быстрое красно-чёрное дерево. Memory page кэш поиска заменен на более быстрый radix tree.
- Появилась поддержка новых устройств Apple M1, Raspberry Pi 4, Nintendo Wii[28][28] ASUS Tinker Board, Realtek 2.5GBASE-T Ethernet, Intel 40 Gigabit Ethernet
- Обновление Direct Rendering Manager (DRM) to Linux 5.6
- Поддержка новых функций безопасности AArch64: Привилегированный доступ по умолчанию недоступен, Аутентификация указателя, Идентификация цели ветки. Поддержка двоичной совместимости Linux на AArch64.
- Поддержка виртуализации PVH Xen, paravirtualization и multiprocessor Dom0 поддержка в Xen
- POSIX.1e ACL в Unix File System, Filesystem in Userspace API совместимость до FUSE 3.10, fsck, поддержка Universal Disk Format
- Совместимость с WireGuard VPNs, шифрование диска Adiantum (шифр), хеширование паролей Argon2, встроенная криптография с постоянным временем.
- Удаление различных устаревших и необслуживаемых сетевых компонентов, таких как HIPPI, Fiber Distributed Data Interface, и поддержка Token Ring
|
| 9.0[29] |
14 февраля 2020 |
- Появилась поддержка архитектуры 64-bit Armv8-A и была расширена поддержка Armv7-A;
- Обновлены драйвера GPU для x86 и добавлены для ARM;
- Первый релиз с ZFS, пригодной для каждодневного использования, но ZFS по-прежнему нельзя использовать в качестве корневой файловой системы;
- Переработана подсистема SATA для поддержки NCQ и более качественной обработки ошибок;
- Появились новые драйвера USB Ethernet.
|
| 8.0[30] |
2 июля 2018 |
- Добавлена поддержка USB 3.0[31], микшер аудио в ядре, ASLR включён по умолчанию, поддержка новых драйверов, большинство обновлений программ и т. д.
- Начиная с NetBSD 8.0, релизов минорных версий ОС больше не будет[32].
|
| 7.1[33] |
11 марта 2017 |
|
| 7.0[34][35] |
8 октября 2015 |
|
| 6.1[36] |
18 мая 2013 |
|
| 6.0[37] |
17 октября 2012 |
|
| 5.0[38][39][40] |
29 апреля 2009 |
|
| 4.0[41] |
19 декабря 2007 |
|
| 3.0[42] |
23 декабря 2005 |
|
| 2.0[43] |
9 декабря 2004 |
|
| 1.6[44] |
14 сентября 2002 |
|
| 1.5[45] |
6 декабря 2000 |
|
| 1.4[46] |
12 мая 1999 |
|
| 1.3[47] |
9 марта 1998 |
|
| 1.2[48] |
4 октября 1996 |
|
| 1.1[49] |
26 ноября 1995 |
|
| 1.0[50] |
26 октября 1994 |
|
| 0.9[51] |
20 августа 1993 |
|
| 0.8[52] |
20 апреля 1993 |
|
Коллекция пакетов
NetBSD содержит собственную систему пакетов — pkgsrc. На сентябрь 2015 года, в ней находится более 14000 пакетов[53][54]. Установка любой программы, будь то GNOME, KDE, Apache или Perl, сводится к тому, что надо войти в соответствующий каталог и набрать команду make install clean. После этого исходные коды будут загружены, распакованы, скомпилированы и установлены. Альтернативой самостоятельной сборки служат прекомпилированные (двоичные) пакеты. В любом случае все необходимые зависимости пакетов будут соблюдены автоматически.
Согласно своему лозунгу о портируемости, коллекция пакетов NetBSD портирована не только на все доступные аппаратные платформы, но и — с помощью системы autoconf — на многие другие операционные системы, например, Linux, FreeBSD, OpenBSD, QNX, Solaris, Darwin/Mac OS X, IRIX и другие.
Разработчики- Алистер Крукс — разработчик и основатель пакетной системы pkgsrc, с 1999 года является президентом фонда «The NetBSD Foundation».
- Тэо де Раадт — программист, сооснователь проекта NetBSD, основатель и лидер проекта OpenBSD
- Саймон Бурж — разработчик, реализовавший в NetBSD журналирование метаданных в файловой системе FFS (fast file system)
- Даррин Джьюэлл — сотрудник Wasabi Systems, автор подсистемы WAPBL (Write Ahead Physical Block Logging), реализующей поддержку журналируемых файловых систем в NetBSD
- Люк Мьюберн — автор системы инициализации rc.d (известной также под названием rc-ng), первоначально созданной для NetBSD, а в настоящее время используемой в FreeBSD и DragonFly BSD
- Чак Сильверс — автор подсистемы UBC, унифицированной системы ввода-вывода и кэширования памяти
- Чарльз Д. Кранор — автор подсистемы UVM — новой системы управления памятью
Полный состав разработчиков NetBSD.
NetBSD Foundation
NetBSD Foundation является юридическим лицом, которое владеет интеллектуальной собственностью и товарными знаками, связанными с NetBSD[55]. 22 января 2004 года, NetBSD Foundation стал 501(c)3—некоммерческой организацией, свободной от налогов. Участниками NetBSD Foundation являются разработчики, у которых есть доступ к CVS[56]. Фонд NetBSD имеет Совет директоров, избираемый голосованием членов фонда в течение двух лет[57].
Руководящие принципы
4 апреля 2004 года была опубликована первая версия руководящих принципов выполнения обязательств, которые определяют стандарты проекта NetBSD по внесению изменений в дерево кода CVS, 1.1.[58] В мае 2024 года второй пункт был расширен, чтобы объявить — нельзя помещать в репозиторий испорченный код:[59][60]
Код, сгенерированный большой языковой моделью или аналогичной технологией, такой как GitHub/Microsoft's Copilot, OpenAI's ChatGPT, или Facebook/Meta's Code Llama, считается испорченным кодом и не должен вводиться без предварительного письменного одобрения основной команды.
Логотип
«Флаг» NetBSD, разработанный Грантом Биссеттом, был представлен в 2004 году, и является абстракцией старого логотипа, разработанного Шоном Мюллером в 1994 году[61]. Версия Мюллера была основана на знаменитой фотографии Второй мировой войны «Водружение флага над Иводзимой», которые некоторые воспринимают как культурно нечувствительной, и неподходящей фотографией для международных проектов[62].
Лицензия
Ядро и большая часть дерева исходного кода NetBSD находятся под лицензией BSD. Некоторые части исходного дерева покрываются лицензией GPL.
Разработчики NetBSD разрабатывают свои условия лицензии по образцу того, что известно как «лицензия Беркли». Эта лицензия использовалась в Калифорнийском университете, втором выпуске Berkeley Networking и выпуске программного обеспечения 4.4BSD Lite. Лицензия NetBSD Foundation (TNF) — это лицензия в стиле Беркли с «2 пунктами»:
|
|