FreeBSD
FreeBSD — UNIX-подібна операційна система, коріння якої тягнеться від AT&T UNIX, через Berkeley Software Distribution (BSD) гілку операційних систем 386BSD та 4.4BSD. Працює на Intel x86 (IA-32), сумісних з ПК системах (включно з Microsoft Xbox, а також DEC Alpha, Sun, Itanium (IA-64), AMD64, PowerPC та NEC PC-98 архітектурах. FreeBSD добре зарекомендувала себе як система для побудови інтранет- і інтернет-серверів. Вона надає достатньо надійні мережеві служби і ефективне управління пам'яттю.
Екран привітання FreeBSD | |
Розробник | FreeBSD Project |
---|---|
Родина ОС | BSD |
Стан проєкту | Актуальне |
Модель коду | Відкриті |
Останній стабільний випуск | 12.0/ 11 грудня 2018 |
Тип ядра | Монолітне |
Ліцензія | BSD |
Вебсайт | www.freebsd.org |
FreeBSD у Вікісховищі |
FreeBSD розробляється як повноцінна операційна система. Ядро, драйвери пристроїв та базові користувацькі утиліти (так звані Userland), на кшталт командного процесору (shell) розробляються в єдиному дереві сирцевих текстів. Це одна з головних відмінностей системи від Linux, у котрій робота над розробкою ядра ведеться однією групою програмістів, базових користувацьких утиліт іншою (наприклад, проєктом GNU), і усе це збираються третіми групами у так званий дистрибутив.
Історія та розробка
Започаткування проєкту
Розробка FreeBSD почалася в 1993 році із набору патчів користувачів системи 386BSD, що швидко зростав. Цей набір пізніше виріс і відокремився від 386bsd в окрему операційну систему, що увібрала код від Free Software Foundation. Перша офіційна версія FreeBSD 1.0 вийшла у грудні 1993 року. Walnut Creek CDROM погодилася поширювати FreeBSD на компакт-диску і також надала для роботи проєкту окремий комп'ютер з інтернет-з'єднанням. Керівництво до FreeBSD містить докладнішу історичну інформацію про походження системи[1].
Проте, в січні 1995 року з міркувань законності використання запозиченого у 386BSD коду, а також через судовий процес між Novell та Берклі, проєкт випустив спеціальну версію системи FreeBSD 2.0, де було переписано більшу частину її коду, чимало якого запозичено у 4.4BSD-Lite.
FreeBSD 3.0 приніс до проєкту багато змін: перехід до двійкового формату ELF, з'явилася початкова підтримка SMP-систем і 64-розрядної архітектури Alpha. У свій час, гілка 3.х серйозно критикувалася, оскільки багато змін не були очевидно вигідними і мало впливали на роботу, однак, вона була необхідним кроком у розвитку проєкту, котрий допоміг гілці 4.х стати дуже успішною.
FreeBSD 4 була дуже популярною серед інтернет-провайдерів і хостерів часів першого «міхура доткомів» і вважалася за одну з найстабільніших і високопродуктивних систем класу Unix. Одним з головних недоліків FreeBSD 4 вважається погана підтримка багатопроцесорних систем, особливо в режимі багатонитевості. FreeBSD 4 поставила своєрідний рекорд за тривалістю розробки однієї гілки операційної системи — за п'ять років було усунено велику кількість помилок і отримана на рідкість стабільна система. В середині розробки FreeBSD 4 від неї відокремився проєкт Dragonflybsd, засновники якого поставили собі за мету серйозну оптимізацію ядра для високо-навантажених систем, зокрема кращу підтримку багатопроцесорності (зменшення часу, необхідного для перемикання ниток і ін.).
Модель розробки FreeBSD
Існує близько 4000 розробників, які працюють над системою на добровільній основі. Всі вони можуть читати дерево репозиторія, але не можуть вносити зміни. Замість цього розробник звертається до комітера, який має право вносити зміну до коду. Існує близько 400 комітерів. Розробник може вирости по соціальних сходах проєкту і стати комітером. Кандидатуру нового комітера пропонує до розгляду ментор майбутнього комітера. Залежно від основної області діяльності, новий комітер затверджується основною командою, portmgr@ або docmgr@. Основна команда є адміністративним ядром проєкту і складається з 9 чоловік, які вибираються на 2 роки комітерами зі свого складу. Основна команда вирішує конфлікти між комітерами[2].
Учасники проєкту розробляють гілку CURRENT («поточна» версія) і декілька STABLE («стабільна», стабільність означає гарантію незмінності інтерфейсів, як API, ABI і так далі).
Новий код поміщають у гілку CURRENT, де він отримує ширше тестування. Нові функції, додані в CURRENT, можуть залишитися в системі або від них можуть відмовитися, якщо реалізація виявиться невдалою. Інколи ця версія може опинитися в непридатному для використання стані. З початком використання perforce як допоміжного репозиторія, і з виділенням projects/ області в svn, проєкт прагне гарантувати постійну працездатність CURRENT.
STABLE-версія містить тільки ті нововведення, які пройшли перевірку в CURRENT. Проте, ця версія теж призначена в основному для розробників. Не рекомендується оновлювати відповідальні робочі сервери до STABLE, заздалегідь її не протестувавши. На основі STABLE регулярно створюються ретельно протестовані розробниками, групою release-інженерів і ширшим довкола користувачів RELEASE-версії.
Після випуску релізів створюються додаткові гілки розробки для підтримки релізів, але в них вносяться лише найнеобхідніші зміни, що виправляють серйозні помилки або проблеми з безпекою системи. До четвертої версії FreeBSD у стабільної і поточної гілок був один і той же старший номер версії. Потім поточній гілці був привласнений номер 5, а у стабільної залишився номер 4.
Ліцензія
Як і споріднені з нею операційні системи, код FreeBSD розповсюджується під різними ліцензіями. Весь код ядра і весь новостворений код розповсюджується під ліцензією BSD, котра дозволяє будь-кому використовувати і розповсюджувати FreeBSD скільки їм заманеться.
FreeBSD популярна завдяки своїй ліцензії, яка істотно відрізняється від широко відомої ліцензії GNU GPL — вона дозволяє використовувати код не лише в вільному ПЗ, але і в пропрієтарному. На відміну від GNU LGPL, яка теж дозволяє використовувати вільний код в закритій програмі[3], ліцензія BSD простіша і коротша.
Частина коду утиліт розповсюджується за ліцензіями GPL, LGPL, ISC, CDDL та Beerware.
Деякий код доступний лише у двійковому вигляді, на кшталт шару абстрагування апаратних засобів (HAL) драйверів для бездротових пристроїв Atheros та утиліт для Adaptec AAC RAID (поставляється у вигляді пакету).
Сумісність з Linux
FreeBSD забезпечує сумісність з деякими іншими UNIX-подібними операційними системами, зокрема, з Лінукс. Шар сумісності надає можливість працювати з програмним забезпеченням для Лінукс, котре розповсюджується лише у двійковому форматі, і не може бути портовано на FreeBSD.
FreeBSD має два можливих варіанти сумісності: для користувачів та для розробників. Варіант для користувачів має назву, що починається linux_base а для розробників — linux_dist. Обидва варіанти можна встановити із портів, розділ emulators (емулятори).
Відгалуження
- DragonFlyBSD — відгалуження від FreeBSD 4.8. Вона має систему потокової обробки повідомлень, схожу на ту, що застосовується в системах із мікроядром.
- FreeNAS — дистрибутив на базі мінімального FreeBSD, орієнтований для створення NAS-систем
- Frenzy — LiveCD-дистрибутив на базі FreeBSD, орієнтований на україномовних та російськомовних системних адміністраторів.
- FreeSBIE — LiveCD-дистрибутив FreeBSD.
- BSDeviant — також LiveCD-дистрибутив FreeBSD.
- PicoBSD — мініатюрна версія FreeBSD, відгалуження від другої гілки, в наш час не розвивається.
- Darwin — ядро Mac OS X, чимало запозичило у FreeBSD, розробляється фірмою Apple.
- TrueOS — дистрибутив PC-BSD починаючи з 1 вересня 2016 змінив назву. Орієнтований на настільні системи та комплектується графічним інсталятором.
- DesktopBSD — дистрибутив для настільних систем.
- TrueBSD — дистрибутив для настільних систем.
- RoFreeSBIE — румунський дистрибутив для настільних систем.
Версії системи
Ім'я | Дата виходу релізу | Примітки та особливості |
---|---|---|
FreeBSD 1.0 | Листопад 1993 року | Серед ключових поліпшень: |
FreeBSD 2.0 | Березень 1994 року | Серед ключових поліпшень: |
FreeBSD 3.0 | 13 жовтня 1998 року | Серед ключових поліпшень:
|
FreeBSD 4.0[5] | Березнь 2000 року | Серед ключових поліпшень:
|
FreeBSD 5.0 | Січень 2003 року | Була випущена довгоочікувана версія 5.0-release. Ця версія надавала розширену підтримку багатопроцесорності і багатонитевості, а також підтримку платформ UltraSPARC і IA-64.
Найбільші архітектурні зміни в FreeBSD 5 — це зміна механізму блокування на нижньому рівні ядра, щоб поліпшити підтримку багатопроцесорних smp-систем. Це звільнило велику частку ядра від так званого «гігантського блокування» (Giant lock). Тепер в ядрі з'явилася можливість виконувати більш за одне завдання одночасно. Іншою важливою зміною була реалізація «рідної» підтримки багатонитевості типа M: N під назвою Kernel Scheduled Entities (KSE). Починаючи з FreeBSD 5.3 ця реалізація нитей була встановлена по-замовчуванню, поки не була замінена на реалізацію моделі 1:1 в FreeBSD 7. У FreeBSD 5 була серйозно змінена система блокового введення-виводу за допомогою введення модульною структурной системи перетворення запитів вводу-виводу GEOM (внесеною Poul-henning Kamp). GEOM дає можливість створювати різну функціональність, таку як зеркалірованіє (mirroring) або шифрування (модулі GBDE і GELI). |
FreeBSD 5.1[6] | Червень 2003 року | Серед ключових поліпшень:
|
FreeBSD 5.2[7] | Січень 2004 року | Серед ключових поліпшень:
|
FreeBSD 5.3[8] | Листопад 2004 року | Серед ключових поліпшень:
|
FreeBSD 5.4[9] | Травень 2005 року | Серед ключових поліпшень:
|
FreeBSD 5.5[10] | Травень 2006 року | Серед ключових поліпшень:
|
FreeBSD 6.0[11] | 4 листопада 2005 року | Серед ключових поліпшень:
|
FreeBSD 6.1[12] | Травень 2006 року | Серед ключових поліпшень:
|
FreeBSD 6.2[13] | Січень 2007 року | Серед ключових поліпшень:
|
FreeBSD 6.3[14] | Січень 2008 року | Серед ключових поліпшень:
|
FreeBSD 6.4 | 11 листопада 2008 року | Ці версії є продовженням оптимізації підтримки smp і багатонитевості разом з розширеною підтримкою стандарту 802.11, записом подій безпеки проєкту TRUSTEDBSD, серйозними поліпшеннями продуктивності мережевої підсистеми. Основне досягнення цього реліза — виключення «гігантського блокування» (Giant lock) з віртуальної файлової підсистеми (VFS), реалізація додаткової, продуктивнішої підтримки багатонитевості (libthr) з моделлю 1:1, і додавання OPENBSM — первинного модуля безпеки, який був створений проєктом TRUSTEDBSD. |
FreeBSD 7.0[15] | 27 лютого 2008 року | Серед ключових поліпшень:
|
FreeBSD 7.1[16] | 5 січня 2009 року | Серед ключових поліпшень:
Нова система показала значні поліпшення в швидкості в порівнянні з попередніми версіями і системою Linux[19]. |
FreeBSD 7.2 | 4 травня 2009 року | Серед ключових поліпшень:
На сьогоднішній день вже розроблені відеодрайвера NVIDIA для 64-розрядної архітектури Amd64. Остаточна адаптація файлової системи ZFS v.13 для цієї гілки майже завершена[20]. |
FreeBSD 7.3[21] | Березень 2010 року | Серед ключових поліпшень:
|
FreeBSD 7.4[22] | 24 січня 2011 року | Серед ключових поліпшень:
|
FreeBSD 8.0 | 25 листопада 2009 року[23] | Серед нововведень в цій версії можна відзначити:
Крім того, слід зазначити:
|
FreeBSD 9.0 | 12 січня 2012 року | Серед ключових поліпшень:
|
FreeBSD 9.1 | 30 грудня 2012 року | Серед ключових поліпшень:
|
FreeBSD 10.0[24] | 20 січня 2014 | Серед ключових поліпшень:
|
FreeBSD 10.1 | 14 листопада 2014 року |
|
FreeBSD 10.2 | 25 листопада 2015 року |
|
FreeBSD 12.0 | 11 грудня 2018 року |
|
Варіанти установки
Операційна система FreeBSD може бути встановлена з різних носіїв, таких як:
- DVD;
- CD;
- USB флеш-накопичувач;
- дискета;
- магнітна стрічка;
- FAT-розділ жорсткого диска;
- віддалений сервер (по протоколу FTP або nfs).
Порти і пакети
В даний час FreeBSD надає користувачеві дві взаємодоповнюючі технології установки програмного забезпечення сторонніх розробників: колекція портів FreeBSD і бінарні пакети з програмним забезпеченням. Будь-яка з цих систем може бути використана для установки найостанніших версій додатків з локальних носіїв або прямо з мережі. Тепер колекція портів налічує понад 22 тис. додатків самого різного призначення[26].
Талісмани та логотипи
Спочатку FreeBSD використовувала як свій логотип демона BSD, однак у 2005 році, був влаштований конкурс на створення нового логотипу. 8 жовтня 2005 змагання завершилися, і переміг у них Anton K. Gural, малюнок котрого став новим логотипом проєкту. Однак, демон BSD залишається талісманом проєкту FreeBSD.
Крім того, талісманом також вважається Devilette — дівчина в червоному костюмі демона.
Контроверсія щодо України
Під час встановлення FreeBSD, для України система пропонує кілька часових зон. Окрім єдиної легальної, серед списку також московський час для Криму, часовий пояс Ruthenia для Закарпаття, а також інший часовий пояс для Запорізької та Луганської областей.
Список являє собою всі історичні й нібито фактичні часові зони на території України, які відбивають історичні зміни до прийнятого 1996 року закону "Про порядок обчислення часу на території України"[27]. Однак ці опції все одно частково суперечать постанові про єдиний київський час на всій території України від 1992 року[28] і небезпідставно, особливо недотичними назвами, викликають непорозуміння в громадян України, підозри в підтримці сепаратизму в Україні, підтримці російського тероризму, а також сприймаються як загалом неетичні й неповажні до національних почуттів українців, про що свідчать наявні повідомлення про вади системи на офіційному сайті[29][30].
Всі такі повідомлення про вади закрито як вирішені, підтримувачі ОС перекладають відповідальність на розробників бази даних часових поясів. 10 березня 2020 до проєкту часових зон, на який спирається FreeBSD, внесено правки по назвах історичних часових зон України. Зокрема внесок запроваджує такі важливі зміни як видалення MSK з назви часового пояса Криму, а також перейменування Ruthenia на Transcarpathia.[31]
Відомі користувачі
FreeBSD використовують як платформу на багатьох[джерело?] великих серверах такі компанії, як:
- Yahoo[джерело?]
- Apache Corporation[джерело?]
- Pair Networks[джерело?]
- Sony Japan[джерело?]
- Netcraft[джерело?]
Див. також
Примітки
- Про Проєкт FreeBSD
- Маккузік. FreeBSD. Архітектура і реалізація.
- Why you shouldn't use the Lesser GPL for your next library — GNU Project — Free Software Foundation (FSF)
- The BSD Certification Group.; PDF з результатами Архівовано 7 жовтня 2012 у WebCite
- FreeBSD 4.0 Release Notes
- FreeBSD 5.1-RELEASE Announcement
- jason Evans. (16 квітня 2006). a Scalable Concurrent malloc(3) Implementation for Freebsd. Архів оригіналу за 22 серпня 2011. Процитовано 13 лютого 2008.
- Federico Biancuzzi. What's New in FREEBSD 7.0 26 лютого 2008
- Introducing FREEBSD 7.0
- The arrow of time — ZFS v13 in 7-stable. Архів оригіналу за 27 травня 2009. Процитовано 27 травня 2011.
- FREEBSD 8.0-release Announcement
- http://www.opennet.ru/opennews/art.shtml?num=37908
- Бета-випуск FreeBSD 12.1.
- Найсвіжіша інформація про порти
- Постанова Кабінету Міністрів України «Про порядок обчислення часу на території України» від 13.05.1996 № 509
- Постанова Кабінету Міністрів України «Про порядок обчислення часу на території України» від 20.03.1992 № 139
- FreeBSDhttps://bugs.freebsd.org/bugzilla/show_bug.cgi?id=19822
- https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=47468
- https://github.com/eggert/tz/commit/33fd3277ecf0f60c2d2bf268bbfafd1a3889f2d6
Література
- Christopher Negus, Francois Caen, BSD UNIX Toolbox: 1000+ Commands for FREEBSD, OPENBSD and NETBSD, Wiley, May 5 2008, 309 стор., ISBN 0-470-37603-1.
- Корниенко К. А. «FreeBSD 9. Корпоративный Интернет-сервер», Киев-2013, ISBN 966-8637-57-7
- Babak Farrokhi (April 14 2008). Network Administration with FREEBSD 7: Building, securing, and maintaining networks with the FREEBSD operating system (англ.). Packt Publishing. ISBN 1-84719-264-5.
- Bryan J. Hong, Building а Server with FREEBSD 7, No Starch Press, April 1 2008, 288 стор., ISBN 5-8459-0741-1.
- Joseph Kong, Designing BSD Rootkits: An Introduction to Kernel Hacking, No Starch Press, April 10 2007, 144 стор., ISBN 1-59327-142-5.
- Harald Zisler, FREEBSD, Franzis Verlag GMBH, August 31 2006, 381 стор., ISBN 3-7723-6538-8
- Родергик Сміт. Повний довідник по FREEBSD = FREEBSD: The Complete Reference. — М. : «Вильямс», 2005. — 672 с. — ISBN 5-8459-0576-1.
- Tiemann, Brian; Urban, Michael C. (2006). FreeBSD 6 Unleashed. Sams. ISBN 978-0-672-32875-6.
- Yanek Korff, Paco Норі, Bruce Potter., mastering FREEBSD and OPENBSD Security, O'reilly, March 2005. ISBN 0-596-00626-8.
- Michael W. Lucas (12 квітня 2013). Absolute FreeBSD, 2nd Edition: The Complete Guide to FreeBSD. No Starch Press. ISBN 978-1-59327-221-0.
- Dru Lavigne. BSD Hacks, 100 Industrial-strength tips for BSD users and administrators. O'reilly, May 2004. ISBN 0-596-00679-9.
- Michael Urban, Brian Tiemann. FREEBSD Unleashed, Second Edition. Sams Publishing, April 2003. ISBN 0-672-32456-3.
- Greg Lehey. The Complete FREEBSD, 4th Edition, Documentation from the Source. O'reilly April 2003. ISBN 0-596-00516-4.
- Marshall Kirk Mckusick George V. Neville-neil. The Design and Implementation of the FREEBSD Operating System. Addison Wesley Professional, August, 2004. ISBN 0-201-70245-2.
- Ted Mittelstaedt. The FREEBSD Corporate Networkers Guide. Addison-wesley, December 2000. Paperback, book & CD edition, 401 pages. ISBN 0-201-70481-1.
- The FREEBSD Handbook, Volume 1: User Guide, 3rd Edition. FREEBSD Documentation Project. FREEBSD Mall, November 2003. ISBN 1-57176-327-9.
- The FREEBSD Handbook, Volume 2: Admin Guide, 3rd Edition. FREEBSD Documentation Project. FREEBSD Mall, September 2004. ISBN 1-57176-328-7.
Посилання
- Офіційний сайт(англ.)
- Російська версія(рос.)
- FREEBSD wiki(англ.)
- Офіційний FREEBSD forum(англ.)
- Проєкт російської документації FREEBSD(рос.)
- Коротка історія FREEBSD(рос.) — написана одним із засновників FREEBSD Джорданом Хаббардом (Jordan Hubbard)
- Різна інформація і статті по BSD системам на OPENNET
- FREEBSD Software(англ.) — свіжа інформація про зміни в колекції портів
- The FREEBSD Diary (англ.) — Щоденник FREEBSD з робочими прикладами
- wiki-сайт, присвячений FREEBSD(англ.)
- Форум присвячений питанням використання ОС FREEBSD
- Канал на youtube — відеозаписи доповідей з різних конференцій BSD
- Freebsdnews.net(англ.) — блог новин FREEBSD
- FREEBSD Ports FREEBSD 8 review(англ.)
- Real-time FREEBSD Блог про використання FREEBSD як ОС реального часу(рос.)
- FREEBSD канали на twitter
- freebsd (англ.) — спільний по freebsd.
- bsdevents (англ.) — події, конференції і т. д.
- freebsdblogs (англ.) — блоги org/ Planet freebsd[недоступне посилання з червня 2019].
- freebsdannounce (англ.) — новинний канал.
- FREEBSD jabber-конференції
- xmpp: freebsd@conference.jabber.ru — російськомовна jabber конференція на сервері jabber.ru