Wprowadzenie do FreeBSD
FreeBSD to zaawansowany system operacyjny oparty na kodzie źródłowym 4.4BSD. Oferuje wsparcie dla wielu architektur sprzętowych, w tym i386, AMD64, ARM i RISC-V. System charakteryzuje się monolitycznym jądrem z możliwością dodawania modułów w trakcie pracy.
Wsparcie architektur
Wsparcie dla architektur w FreeBSD podzielone jest na trzy poziomy:
- tier1: Pełne wsparcie, aktualizacje binarne i prekompilowane pakiety. W wersji 12.2 obejmowało amd64 i i386, a w wersji 13 – amd64 i aarch64.
- tier2: Architektury rozwojowe, które nie mają bieżącego wsparcia, ale użytkownicy mogą zbudować środowisko ze źródeł.
- tier3: Eksperymentalny poziom bez gwarancji kompilowalności źródeł.
Kompatybilność ABI
FreeBSD umożliwia uruchamianie programów skompilowanych dla systemów Linux, SCO oraz SVR4 (Solaris). Programy dla BSDI, NetBSD i OpenBSD działają w natywnym trybie.
System portów i pakietów
System pakietowania w FreeBSD oparty jest na portach, które wykorzystują pliki Makefile. Repozytorium portów zawiera około 33 tysięcy programów, a użytkownicy mogą korzystać z prekompilowanych pakietów. Porty były inspiracją dla podobnych systemów w OpenBSD, NetBSD oraz dystrybucjach Linuksa.
Zastosowania i znaczenie FreeBSD
FreeBSD jest użyteczny w aplikacjach biurowych i multimedialnych. Administracja może integrować systemy codziennego użytku z testowaniem nowych rozwiązań. Ciekawostką jest, że część efektów specjalnych w filmie „Matrix” została stworzona na klastrze maszyn z FreeBSD.
Fragmenty kodu FreeBSD znalazły zastosowanie w projektach takich jak Microsoft Windows oraz Apple OS X. Wiele urządzeń, takich jak routery Junipera, także działa na FreeBSD. System operacyjny konsoli PlayStation 4, OrbisOS, oparty jest na FreeBSD.
Wybrane narzędzia FreeBSD
- IPFW – zapora sieciowa do filtrowania pakietów.
- natd – demon do translacji adresów sieciowych.
- dummynet – rozwiązanie QoS do kontroli ruchu sieciowego.
- IPsec – protokoły do tworzenia szyfrowanych sieci wirtualnych.
- ULE – planista jądra systemowego.