FreeBSD - FreeBSD

FreeBSD
Freebsd logo.svg
VirtualBox FreeBSD 12.1 07 05 2020 11 59 43.png
FreeBSD 12.1 bootloader med ASCII art logo
Utvikler FreeBSD -prosjektet
OS -familie Unix-aktig
Arbeidstilstand Strøm
Kildemodell Åpen kilde
Første utgivelse 1. november 1993 ; 27 år siden ( 1993-11-01 )
Siste utgivelse 13.0 (13. april 2021 ; for 6 måneder siden ) [±] 12.2 (27. oktober 2020 ; for 11 måneder siden ) [±] ( 2021-04-13 )
 ( 2020-10-27 )
Siste forhåndsvisning 13.0-RC4 (29. mars 2021 ; for 6 måneder siden ) [±] ( 2021-03-29 )
Oppbevaringssted
Markedsføringsmål Servere , arbeidsstasjoner , innebygde systemer , nettverksbrannmurer
Pakkebehandler pkg
Plattformer x86-64 , ARM64 , ARM32 , IA-32 , MIPS , PowerPC , RISC-V , 64-bit SPARC
Kernel typen Monolitisk kjerne
Brukerland BSD
Standard
brukergrensesnitt
Unix skall
Tillatelse FreeBSD -lisens , FreeBSD -dokumentasjonslisens
Offesiell nettside www .freebsd .org

FreeBSD er et gratis og åpen kildekode Unix-lignende operativsystem som stammer fra Berkeley Software Distribution (BSD), som var basert på Research Unix . Den første versjonen av FreeBSD ble utgitt i 1993. I 2005 var FreeBSD det mest populære BSD-operativsystemet med åpen kildekode , som sto for mer enn tre fjerdedeler av alle installerte, enkelt og tillatt BSD-systemer.

FreeBSD har likheter med Linux , med to store forskjeller i omfang og lisensiering: FreeBSD opprettholder et komplett system, det vil si at prosjektet leverer en kjerne , enhetsdrivere , brukerland -verktøy og dokumentasjon , i motsetning til at Linux bare leverer en kjerne og drivere, og stole på på tredjeparter for systemprogramvare; og FreeBSD -kildekoden blir vanligvis utgitt under en tillatelig BSD -lisens , i motsetning til kopyleft GPL som brukes av Linux.

FreeBSD -prosjektet inkluderer et sikkerhetsteam som overvåker all programvare som leveres i basisdistribusjonen. Et bredt spekter av tilleggstredjeparts applikasjoner kan installeres fra binærpakker ved hjelp av pkg pakkesystem eller fra kilde via FreeBSD Ports , eller ved å manuelt kompilere kildekoden.

Mye av FreeBSDs kodebase har blitt en integrert del av andre operativsystemer som Darwin (grunnlaget for macOS , iOS , iPadOS , watchOS og tvOS ), TrueNAS (et åpen kildekode NAS / SAN- operativsystem) og systemprogramvaren for de PlayStation 3 og PlayStation 4 spillkonsoller.

Historie

Bakgrunn

I 1974 anskaffet professor Bob Fabry ved University of California, Berkeley , en Unix -kildelisens fra AT&T . Støttet av finansiering fra DARPA , begynte Computer Systems Research Group å modifisere og forbedre AT&T Research Unix. De kalte denne modifiserte versjonen "Berkeley Unix" eller " Berkeley Software Distribution " (BSD), og implementerte funksjoner som TCP/IP , virtuelt minne og Berkeley Fast File System . BSD -prosjektet ble grunnlagt i 1976 av Bill Joy . Men siden BSD inneholdt kode fra AT&T Unix, måtte alle mottakerne først få en lisens fra AT&T for å kunne bruke BSD.

I juni 1989 ble "Networking Release 1" eller ganske enkelt Net-1-den første offentlige versjonen av BSD-utgitt. Etter å ha sluppet Net-1, foreslo Keith Bostic , en utvikler av BSD, å bytte ut alle AT & T-koder med fritt distribuerbar kode under den opprinnelige BSD-lisensen . Arbeidet med å erstatte AT & T -koden begynte, og etter 18 måneder ble mye av AT & T -koden erstattet. Imidlertid forble seks filer som inneholdt AT & T -kode i kjernen. BSD-utviklerne bestemte seg for å gi ut "Networking Release 2" (Net-2) uten de seks filene. Net-2 ble utgitt i 1991.

Fødsel av FreeBSD

I 1992, flere måneder etter utgivelsen av Net -2, skrev William og Lynne Jolitz erstatninger for de seks AT & T -filene, portet BSD til Intel 80386 -baserte mikroprosessorer og kalte deres nye operativsystem 386BSD . De ga ut 386BSD via en anonym FTP -server. Utviklingsflyten på 386BSD var treg, og etter en periode med forsømmelse bestemte en gruppe på 386BSD -brukere seg for å forgrene seg selv slik at de kunne holde operativsystemet oppdatert. Juni 1993 ble navnet FreeBSD valgt for prosjektet. Den første versjonen av FreeBSD ble utgitt i november 1993.

I de første dagene av prosjektets oppstart ble et selskap ved navn Walnut Creek CDROM , etter forslag fra de to FreeBSD-utviklerne, enige om å gi ut operativsystemet på CD-ROM . I tillegg til det ansatte selskapet Jordan Hubbard og David Greenman, drev FreeBSD på sine servere, sponset FreeBSD-konferanser og publiserte FreeBSD-relaterte bøker, inkludert The Complete FreeBSD av Greg Lehey . I 1997 var FreeBSD Walnut Creek sitt "mest suksessrike produkt". Selskapet omdøpte seg senere til The FreeBSD Mall og senere iXsystems .

I dag brukes FreeBSD av mange IT -selskaper som IBM , Nokia , Juniper Networks og NetApp for å bygge sine produkter. Visse deler av Apple er Mac OS X -operativsystemet er basert på FreeBSD. Den PlayStation 3 operativsystemet låner også visse komponenter fra FreeBSD, mens den PlayStation 4- operativsystemet er avledet fra FreeBSD 9. Netflix , WhatsApp , og FlightAware er også eksempler på store, vellykkede og tungt nett-orienterte selskaper som kjører FreeBSD.

Rettssak

386BSD og FreeBSD var begge avledet fra BSD -utgivelser. I januar 1992 begynte Berkeley Software Design Inc. (BSDi) å gi ut BSD/386 , senere kalt BSD/OS, et operativsystem som ligner FreeBSD og er basert på 4.3BSD Net/2. AT&T anla søksmål mot BSDi og påstått distribusjon av AT & T -kildekoden i strid med lisensavtaler. Søksmålet ble avgjort utenfor retten, og de eksakte vilkårene ble ikke avslørt alle. Den eneste som ble offentlig var at BSDi ville migrere sin kildebase til de nyere 4.4BSD-Lite2-kildene. Selv om de ikke var involvert i rettssaken, ble det foreslått for FreeBSD at de også skulle flytte til 4.4BSD-Lite2. FreeBSD 2.0, som ble utgitt i november 1994, var den første versjonen av FreeBSD uten kode fra AT&T.

Funksjoner

FreeBSD 9.1 oppstart med konsollinnlogging

Bruk saker

FreeBSD inneholder en betydelig samling av serverrelatert programvare i basissystemet og portsamlingen, slik at FreeBSD kan konfigureres og brukes som en postserver , webserver , brannmur , FTP-server , DNS-server og en ruter , blant andre applikasjoner.

FreeBSD kan installeres på en vanlig stasjonær eller bærbar datamaskin. The X Window System er ikke installert som standard, men er tilgjengelig på FreeBSD havner samlingen . Wayland (skjermserverprotokoll) er også tilgjengelig for FreeBSD (uoffisielt støttet). En rekke skrivebordsmiljøer som GNOME , KDE og Xfce , samt lette vindusbehandlere som Openbox , Fluxbox , dwm og bspwm , er også tilgjengelige for FreeBSD. Fra FreeBSD 12 er støtte for en moderne grafikkstabel tilgjengelig via drm-kmod. Et stort antall trådløse adaptere støttes.

FreeBSD gir ut installasjonsbilder for støttede plattformer. Siden FreeBSD 13 har fokus vært på x86-64 og aarch64 plattformer som har Tier 1-støtte. x86-32 er en Tier 1-plattform i FreeBSD 12, men er en Tier 2-plattform i FreeBSD 13. 32-biters ARM-prosessorer som bruker armv6 eller armv7 har også Tier 2-støtte. 64-biters versjoner av PowerPC og RISC-V støttes også. Interessen for RISC-V-arkitekturen har vokst. Den MIPS-arkitektur porten er merket for avskrivninger og det er ikke noe bilde for alle støttede foreløpig versjon. FreeBSD 12 støtter SPARC, men det er ikke noe bilde for FreeBSD 13.

Nettverk

FreeBSDs TCP/IP -stabel er basert på 4.2BSD -implementeringen av TCP/IP som i stor grad bidro til den utbredte adopsjonen av disse protokollene. FreeBSD støtter også IPv6 , SCTP , IPSec og trådløst nettverk ( Wi-Fi ). IPv6- og IPSec -stablene ble hentet fra KAME -prosjektet . Før versjon 11.0 støttet FreeBSD IPX- og AppleTalk -protokoller, men de regnes som gamle og har nå blitt droppet.

Fra FreeBSD 5.4 ble støtte for Common Address Redundancy Protocol (CARP) importert fra OpenBSD -prosjektet. CARP lar flere noder dele et sett med IP -adresser, så hvis en av nodene går ned, kan andre noder fortsatt betjene forespørslene.

Oppbevaring

FreeBSD har flere unike funksjoner knyttet til lagring. Myke oppdateringer kan beskytte konsistensen til UFS -filsystemet (mye brukt på BSD -ene) i tilfelle systemkrasj. Filsystemets øyeblikksbilder lar et bilde av et UFS -filsystem på et øyeblikk effektivt opprettes. Øyeblikksbilder gir pålitelig sikkerhetskopiering av et levende filsystem. GEOM er et modulært rammeverk som gir RAID (nivå 0, 1, 3 for øyeblikket), full diskkryptering , journalføring , sammenkobling, bufring og tilgang til nettverksbasert lagring. GEOM tillater bygging av komplekse lagringsløsninger som kombinerer ("kjetting") disse mekanismene. FreeBSD gir to rammer for datakryptering: GBDE og Geli . Både GBDE og Geli opererer på disknivå. GBDE ble skrevet av Poul-Henning Kamp og distribueres under to-ledd BSD-lisensen. Geli er et alternativ til GBDE som ble skrevet av Pawel Jakub Dawidek og først dukket opp i FreeBSD 6.0.

Fra 7.0 og fremover støtter FreeBSD ZFS -filsystemet. ZFS var tidligere et filsystem med åpen kildekode som først ble utviklet av Sun Microsystems , men da Oracle kjøpte Sun, ble ZFS et proprietært produkt. FreeBSD -prosjektet utvikler imidlertid og forbedrer ZFS -implementeringen sin via OpenZFS -prosjektet.

Sikkerhet

FreeBSD tilbyr flere sikkerhetsrelaterte funksjoner, inkludert tilgangskontrollister (ACLer), revisjon av sikkerhetshendelser, utvidede filsystemattributter, obligatoriske tilgangskontroller (MAC) og finkornete muligheter . Disse sikkerhetsforbedringene ble utviklet av TrustedBSD -prosjektet. Prosjektet ble grunnlagt av Robert Watson med det formål å implementere konsepter fra Common Criteria for Information Technology Security Evaluation og Orange Book . Dette prosjektet pågår og mange av utvidelsene er integrert i FreeBSD. Prosjektet støttes av en rekke organisasjoner, inkludert DARPA, NSA, Network Associates Laboratories, Safeport Network Services, University of Pennsylvania, Yahoo !, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, University of Cambridge Datalaboratorium og andre.

Prosjektet har også portet NSA 's FLASK / TE implementering fra SELinux til FreeBSD. Andre arbeider inkluderer utvikling av OpenBSM , en åpen kildekode-implementering av Suns Basic Security Module (BSM) API og revisjonsloggfilformat, som støtter et omfattende sikkerhetsrevisjonssystem. Dette ble sendt som en del av FreeBSD 6.2. Annet infrastrukturarbeid i FreeBSD utført som en del av TrustedBSD -prosjektet har inkludert GEOM og OpenPAM.

De fleste komponentene i TrustedBSD -prosjektet blir til slutt brettet inn i hovedkildene for FreeBSD. I tillegg finner mange funksjoner, når de først er modnet, veien inn i andre operativsystemer. For eksempel har OpenPAM blitt adoptert av NetBSD . Videre har TrustedBSD MAC Framework blitt vedtatt av Apple for macOS .

FreeBSD leveres med tre forskjellige brannmurpakker: IPFW , pf og IPFilter . IPFW er FreeBSDs opprinnelige brannmur. pf ble hentet fra OpenBSD og IPFilter ble portet til FreeBSD av Darren Reed.

Tatt fra OpenBSD, var OpenSSH -programmet inkludert i standardinstallasjonen. OpenSSH er en gratis implementering av SSH -protokollen og er en erstatning for telnet . I motsetning til telnet, krypterer OpenSSH all informasjon (inkludert brukernavn og passord).

I november 2012 kunngjorde The FreeBSD Security Team at hackere fikk uautorisert tilgang på to av prosjektets servere. Disse serverne ble slått av umiddelbart. Mer forskning viste at den første uautoriserte tilgangen til hackere skjedde 19. september. Tilsynelatende fikk hackere tilgang til disse serverne ved å stjele SSH -nøkler fra en av utviklerne, ikke ved å utnytte en feil i selve operativsystemet. Disse to hackede serverne var en del av infrastrukturen som ble brukt til å bygge tredjeparts programvarepakker. FreeBSD Security Team sjekket integriteten til de binære pakkene og kunngjorde at det ikke ble gjort uautoriserte endringer i de binære pakkene, men uttalte at de ikke kunne garantere integriteten til pakker som ble lastet ned mellom 19. september og 11. november.

Bærbarhet

FreeBSD har blitt portet til en rekke instruksjonssettarkitekturer . FreeBSD -prosjektet organiserer arkitekturer i nivåer som kjennetegner støttenivået. Tier 1 -arkitekturer er modne og fullt ut støttet, f.eks. Er det det eneste nivået "støttet av sikkerhetsoffiser". Tier 3 -arkitekturer er eksperimentelle eller er ikke lenger under aktiv utvikling, og Tier 4 -arkitekturer har ingen støtte i det hele tatt.

Fra mars 2021 har FreeBSD blitt portet til følgende arkitekturer:

Arkitektur Støttenivå Merknader
x86-64 Nivå 1 referert til som "amd64"
x86 (IA-32) Nivå 1 (nivå 2 i 13.x) referert til som "i386"
64-biters ARM Nivå 1
32-biters ARM Nivå 2
MIPS Nivå 2
32-biters og 64-biters PowerPC Nivå 2
64-biters SPARC Nivå 2 (nivå 4 i 13.x) bare 64-biters (V9) arkitektur
64-biters RISC-V Nivå 3 (nivå 2 i 13.x) fra 12-RELEASE
NEC PC-9801 Nivå 4 (nivå 2 i 11.x) referert til som "pc98", støtte fjernet i 12-CURRENT
IA-64 (var nivå 3) støttes ikke fra 11.0
DEC Alpha (var nivå 4) støtte avviklet i 7.0

32-biters ARM (inkludert OTG) og MIPS-støtte er hovedsakelig rettet mot innebygde systemer ( ARM64 er også rettet mot servere), men FreeBSD/ARM kjører på en rekke enkeltbordsmaskiner , inkludert BeagleBone Black , Raspberry Pi og Wandboard .

Maskinvarekompatibilitet

Støttede enheter er oppført i FreeBSD 12.1-RELEASE Hardware Notes. Dokumentet beskriver enhetene som for øyeblikket er kjent for å bli støttet av FreeBSD. Andre konfigurasjoner kan også fungere, men har ganske enkelt ikke blitt testet ennå. Grove automatisk utpakkede lister over støttede enhets -ID -er er tilgjengelige i et tredjepartslager.

I 2020 ble et nytt prosjekt introdusert for automatisk å samle informasjon om testede maskinvarekonfigurasjoner.

Tredjeparts programvare

FreeBSD har et programvarelager med over 30 000 applikasjoner som er utviklet av tredjeparter. Eksempler inkluderer: vindusystemer , nettlesere , e -postklienter , kontorsuiter og så videre. Generelt utvikler ikke selve prosjektet denne programvaren, bare rammeverket for å la disse programmene installeres, som er kjent som Ports -samlingen. Søknader kan enten kompileres fra kilde ("porter"), forutsatt at lisensvilkårene tillater dette, eller lastes ned som forhåndskompilerte binærfiler ("pakker"). Portsamlingen støtter nåværende og stabile grener av FreeBSD. Eldre versjoner støttes ikke og fungerer kanskje ikke riktig med en oppdatert Ports-samling.

Porter bruker Make-filer for automatisk å hente den ønskede anvendelse er kildekode , enten fra en lokal eller fjerntliggende oppbevaringssted , pakke det i systemet, gjelder plastre til det og kompilere det. Avhengig av størrelsen på kildekoden kan kompilering ta lang tid, men det gir brukeren mer kontroll over prosessen og resultatet. De fleste porter har også pakkemotparter (dvs. forhåndskompilerte binærfiler), noe som gir brukeren et valg. Selv om denne metoden er raskere, har brukeren færre tilpasningsmuligheter.

FreeBSD versjon 10.0 introduserte pakkebehandleren pkg som en erstatning for de tidligere brukte pakke verktøy. Det ligner funksjonelt på apt og yum i Linux -distribusjoner . Den tillater installasjon, oppgradering og fjerning av både porter og pakker. I tillegg til pkg kan PackageKit også brukes til å få tilgang til Ports -samlingen.

Fengsler

Fengsler ble først introdusert i FreeBSD versjon 4, og er en sikkerhetsmekanisme og en implementering av virtualiseringoperativsystemnivå som gjør at brukeren kan kjøre flere forekomster av et gjestoperativsystem på toppen av en FreeBSD-vert. Det er en forbedret versjon av den tradisjonelle chroot -mekanismen. En prosess som kjører i et slikt fengsel, får ikke tilgang til ressursene utenfor den. Hvert fengsel har sitt eget vertsnavn og IP -adresse . Det er mulig å kjøre flere fengsler samtidig, men kjernen deles mellom dem alle. Derfor kan bare programvare som støttes av FreeBSD -kjernen kjøres i et fengsel.

Virtualisering

bhyve , en ny virtualiseringsløsning, ble introdusert i FreeBSD 10.0. bhyve lar en bruker kjøre en rekke gjesteoperativsystemer (FreeBSD, OpenBSD , Linux og Microsoft Windows ) samtidig. Andre operativsystemer som Illumos er planlagt. bhyve ble skrevet av Neel Natu og Peter Grehan og ble kunngjort på BSDCan -konferansen i 2011 for første gang. Hovedforskjellen mellom bhyve- og FreeBSD-fengsler er at fengsler er virtualisering på operativsystemnivå og derfor begrenset til bare FreeBSD-gjester; men bhyve er en hypervisor av type 2 og er ikke begrenset til bare FreeBSD -gjester . Til sammenligning er bhyve en lignende teknologi som KVM, mens fengsler er nærmere LXC -containere eller Solaris -soner . Amazon EC2 AMI -forekomster støttes også viaamazon-ssm-agent

Siden FreeBSD 11.0 har det vært støtte for kjøring som Dom0 -privilegert domene for Xen type 1 hypervisor. Støtte for å kjøre som DomU (gjest) har vært tilgjengelig siden FreeBSD 8.0.

VirtualBox (uten den utvidede pakken med lukket kildekode ) og QEMU er tilgjengelig på FreeBSD.

OS -kompatibilitetslag

De fleste programvare som kjører på Linux kan kjøres på FreeBSD ved hjelp av et valgfritt innebygd kompatibilitetslag . Derfor kan de fleste Linux -binære filer kjøres på FreeBSD, inkludert noen proprietære applikasjoner som bare distribueres i binær form. Dette kompatibilitetslaget er ikke en emulering ; Linux systemanropsgrensesnitt er implementert i FreeBSDs kjerne, og derfor blir Linux kjørbare bilder og delte biblioteker behandlet det samme som FreeBSDs opprinnelige kjørbare bilder og delte biblioteker. I tillegg gir FreeBSD kompatibilitetslag for flere andre Unix-lignende operativsystemer , i tillegg til Linux, for eksempel BSD/OS og SVR4 , men det er mer vanlig at brukere kompilerer disse programmene direkte på FreeBSD.

Ingen merkbar ytelsesstraff over innfødte FreeBSD -programmer har blitt notert når du kjører Linux -binarier, og i noen tilfeller kan disse til og med fungere jevnere enn på Linux. Imidlertid er laget ikke helt sømløst, og noen Linux -binære filer er ubrukelige eller bare delvis brukbare på FreeBSD. Det er støtte for systemanrop opp til versjon 2.6.18, tilgjengelig siden FreeBSD 7.0 . Fra versjon 10.3 kan FreeBSD kjøre 64-biters Linux-binære filer.

FreeBSD har iverksatt en rekke Microsoft Windows innfødte NDIS kjerne grensesnitt for å tillate FreeBSD å kjøre (annet) Windows-bare nettverksdriverne.

The Wine kompatibilitet laget, som gjør at driften av mange Windows-programmer, spesielt spill, uten et (lisensiert) kopier av Microsoft Windows , er tilgjengelig for FreeBSD.

Kjerne

FreeBSDs kjerne gir støtte for noen viktige oppgaver som administrering av prosesser, kommunikasjon, oppstart og filsystemer. FreeBSD har en monolitisk kjerne, med en modulær design. Ulike deler av kjernen, for eksempel drivere, er designet som moduler. Brukeren kan laste og laste av disse modulene når som helst. ULE er standard planlegger i FreeBSD siden versjon 7.1, den støtter SMP og SMT . FreeBSD -kjernen har også et skalerbart hendelsesvarselgrensesnitt, kalt kqueue . Den har blitt portet til andre BSD-derivater som OpenBSD og NetBSD . Kernel -gjenging ble introdusert i FreeBSD 5.0, ved bruk av en M: N -gjengemodell . Denne modellen fungerer bra i teorien, men den er vanskelig å implementere, og få operativsystemer støtter den. Selv om FreeBSDs implementering av denne modellen fungerte, fungerte den ikke bra, så fra versjon 7.0 og utover begynte FreeBSD å bruke en 1: 1 trådmodell, kalt libthr.

Dokumentasjon og støtte

FreeBSDs dokumentasjon består av håndbøker, manuelle sider, postlistearkiver, vanlige spørsmål og en rekke artikler, hovedsakelig vedlikeholdt av The FreeBSD Documentation Project. FreeBSDs dokumentasjon er oversatt til flere språk. All offisiell dokumentasjon er utgitt under FreeBSD Documentation License , "en tillatelig ikke-kopyleft gratis dokumentasjonslisens som er kompatibel med GNU FDL". FreeBSDs dokumentasjon beskrives som "høy kvalitet".

FreeBSD -prosjektet har en rekke postlister. Blant de mest populære adresselistene er FreeBSD-spørsmål (generelle spørsmål) og FreeBSD-hackere (et sted for å stille flere tekniske spørsmål).

Siden 2004 gir databasen i New York City BSD Users Group dmesg- informasjon fra en samling datamaskiner ( bærbare datamaskiner , arbeidsstasjoner , enkeltkort-datamaskiner , innebygde systemer , virtuelle maskiner , etc.) som kjører FreeBSD.

Installatører

Fra versjon 2.0 til 8.4 brukte FreeBSD sysinstall -programmet som hovedinstallatør. Den ble skrevet i C av Jordan Hubbard . Den bruker et tekstbrukergrensesnitt , og er delt inn i en rekke menyer og skjermer som kan brukes til å konfigurere og kontrollere installasjonsprosessen. Den kan også brukes til å installere porter og pakker som et alternativ til kommandolinjegrensesnittet .

Sysinstall -verktøyet regnes nå som utdatert til fordel for bsdinstall, et nytt installasjonsprogram som ble introdusert i FreeBSD 9.0. bsdinstall er "en lett erstatning for sysinstall" som ble skrevet på sh. I følge OSNews , "Det har mistet noen funksjoner mens det har fått andre, men det er en mye mer fleksibel design, og vil til slutt være en betydelig forbedring".

Skall

Standard FreeBSD -skall er tcsh -skallet for rot, og Almquist -skallet (sh) for vanlige brukere. Standard scripting -skall er Almquist -skallet.

Utvikling

FreeBSD er utviklet av et frivillig team rundt om i verden. Utviklerne bruker Internett for all kommunikasjon, og mange har ikke møtt hverandre personlig. I tillegg til lokale brukergrupper sponset og deltatt av brukere, arrangeres en årlig konferanse, kalt BSDcon, av USENIX . BSDcon er ikke FreeBSD-spesifikt, så det omhandler de tekniske aspektene ved alle BSD-avledede operativsystemer, inkludert OpenBSD og NetBSD . I tillegg til BSDcon arrangeres tre andre årlige konferanser, EuroBSDCon, AsiaBSDCon og BSDCan i henholdsvis Europa , Japan og Canada .

Styringsstruktur

FreeBSD -prosjektet drives av rundt 500 forpliktelser eller utviklere som har forpliktet tilgang til hovedkildekodelagrene og kan utvikle, feilsøke eller forbedre enhver del av systemet. De fleste av utviklerne er frivillige og få utviklere er betalt av noen selskaper. Det finnes flere typer forpliktelser, inkludert kildeforpliktelser (basisoperativsystem), doc-forpliktere (dokumentasjon og nettstedforfattere) og porter (tredjeparts applikasjonsporting og infrastruktur). Hvert annet år velger FreeBSD-forpliktelsene et 9-delt FreeBSD-kjerneteam, som er ansvarlig for den overordnede prosjektretningen, setter og håndhever prosjektregler og godkjenner nye forpliktelser, eller gir SVN-forpliktelse. En rekke ansvarsområder er offisielt tildelt andre utviklingsteam av FreeBSD Core Team, for eksempel er ansvaret for å administrere havnesamlingen delegert til Ports Management Team.

I tillegg til utviklere har FreeBSD tusenvis av "bidragsytere". Bidragsytere er også frivillige utenfor FreeBSD -prosjektet som sender inn oppdateringer for behandling av forpliktelser, ettersom de ikke har direkte tilgang til FreeBSDs kildekodelager. Committers evaluerer deretter bidragsyteres innspill og bestemmer hva de skal godta og hva de skal avvise. En bidragsyter som sender oppdateringer av høy kvalitet, blir ofte bedt om å bli en forpliktelse.

Grener

FreeBSD -utviklere opprettholder minst to grener av samtidig utvikling. Den -CURRENT -grenen representerer alltid den " blødende kanten " av FreeBSD -utvikling. En -STABIL gren av FreeBSD opprettes for hvert hovedversjonsnummer, hvorfra -RELEASE kuttes omtrent en gang hver 4. til 6. måned. Hvis en funksjon er tilstrekkelig stabil og moden, vil den sannsynligvis bli returnert ( MFC eller Merge from CURRENT in FreeBSD developer slang) til -STABLE -grenen.

Fundament

"I forrige uke donerte jeg en million dollar til FreeBSD Foundation, som støtter operativsystemet med åpen kildekode som har hjulpet millioner av programmerere å forfølge lidenskapene sine og få liv i ideene sine. Jeg er faktisk en av dem. Jeg begynte å bruke FreeBSD på slutten av 90 -tallet, da jeg ikke hadde mye penger og bodde i offentlige boliger. På en måte hjalp FreeBSD med å løfte meg ut av fattigdom - en av hovedgrunnene til at jeg fikk jobb i Yahoo! er fordi de brukte FreeBSD, og ​​det var mitt valgfrie operativsystem. År senere, da Brian og jeg bestemte oss for å bygge WhatsApp, brukte vi FreeBSD for å holde serverne våre i gang. Vi gjør det fortsatt. Jeg kunngjør denne donasjonen for å skinne et lys over det gode arbeid som utføres av FreeBSD Foundation, med håp om at andre også vil bidra til å flytte dette prosjektet fremover. Vi vil alle tjene på om FreeBSD kan fortsette å gi folk den samme muligheten det ga meg - hvis det kan løfte flere innvandrerbarn ut av fattigdom , og hjelpe flere oppstart med å bygge noe suksessf ul, og til og med transformativ. "

Jan Koum

FreeBSD -utvikling støttes delvis av FreeBSD Foundation. Stiftelsen er en ideell organisasjon som tar imot donasjoner for å finansiere FreeBSD-utvikling. Slik finansiering har blitt brukt til å sponsere utviklere for spesifikke aktiviteter, kjøpe maskinvare og nettverksinfrastruktur, gi reisetilskudd til utviklertoppmøter og gi juridisk støtte til FreeBSD -prosjektet.

I november 2014 mottok FreeBSD Foundation en donasjon på 1 million dollar fra Jan Koum , medstifter og administrerende direktør i WhatsApp  -den største enkeltdonasjonen til stiftelsen siden oppstarten. I desember 2016 donerte Jan Koum ytterligere 500 tusen dollar. Jan Koum er selv en FreeBSD -bruker siden slutten av 1990 -tallet, og WhatsApp bruker FreeBSD på sine servere.

Tillatelse

FreeBSD er utgitt under en rekke lisenser med åpen kildekode. Kjernekoden og den mest nyopprettede koden frigis under BSD-lisensen med to klausuler som lar alle bruke og omfordele FreeBSD som de vil. Denne lisensen ble godkjent av Free Software Foundation og Open Source Initiative som henholdsvis Free Software og Open Source lisens. Free Software Foundation beskrev denne lisensen som "en slapp, tillatt, ikke-kopyleft gratis programvarelisens, kompatibel med GNU GPL". Det er deler utgitt under BSD-lisenser med tre og fire klausuler, samt Beerware- lisensen. Noen enhetsdrivere inkluderer en binær blob , for eksempel Atheros HAL of FreeBSD -versjoner før 7.2. Noe av koden fra andre prosjekter er lisensiert under GPL , LGPL , CDDL og ISC . All koden som er lisensiert under GPL og CDDL er klart atskilt fra koden under liberale lisenser, for å gjøre det enkelt for brukere som innebygde enhetsprodusenter å bare bruke tillatte gratis programvarelisenser . ClangBSD tar sikte på å erstatte noen GPL- avhengigheter i FreeBSD- basissystemet ved å erstatte GNU-kompilatorsamlingen med den BSD-lisensierte LLVM / Clang- kompilatoren. ClangBSD ble selvvert 16. april 2010.

I mange år var FreeBSDs logo den generiske BSD Daemon , også kalt Beastie , en forvrengt uttale av BSD . Beastie var imidlertid ikke unik for FreeBSD. De første versjonene av BSD-demonen ble første gang vist i 1976 på Unix T-skjorter kjøpt av Bell Labs , og ble tegnet av animasjonsdirektør John Lasseter fra 1984. Flere FreeBSD-spesifikke versjoner ble senere tegnet av Tatsumi Hosokawa.

I litografiske termer er Lasseter-grafikken ikke strektegn, og krever ofte en skjermet offsetutskrift med fire farger for trofast gjengivelse på fysiske overflater som papir. BSD-demonen ble også antatt å være for grafisk detaljert for jevn skalering og estetisk overavhengig av flere fargegraderinger, noe som gjør det vanskelig å reprodusere pålitelig som en enkel, standardisert logo i bare to eller tre farger, langt mindre i monokrom. På grunn av disse bekymringene ble det avholdt en konkurranse og en ny logo designet av Anton K. Gural, som fremdeles gjenspeiler BSD -demonen, ble utgitt 8. oktober 2005. Imidlertid ble det kunngjort av Robert Watson at FreeBSD -prosjektet "søker en ny logo, men ikke en ny maskot "og at FreeBSD -prosjektet vil fortsette å bruke Beastie som maskot.

Navnet "FreeBSD" ble laget av David Greenman 19. juni 1993, andre foreslåtte navn var "BSDFree86" og "Free86BSD". FreeBSDs slagord, "The Power to Serve", er et varemerke for The FreeBSD Foundation.

Derivater

PC-BSD versjon 10, operativsystemet som senere ble kjent som TrueOS

Det finnes en rekke programvaredistribusjoner basert på FreeBSD. Bemerkelsesverdige derivater inkluderer:

Alle disse distribusjonene har ingen eller bare mindre endringer sammenlignet med det originale FreeBSD -basissystemet. Hovedforskjellen med den opprinnelige FreeBSD er at de leveres med forhåndsinstallert og forhåndskonfigurert programvare for spesifikke brukstilfeller. Dette kan sammenlignes med Linux -distribusjoner, som alle er binære kompatible fordi de bruker samme kjerne og også bruker de samme grunnleggende verktøyene, kompilatorene og bibliotekene mens de kommer med forskjellige applikasjoner, konfigurasjoner og merkevarebygging.

Foruten disse distribusjonene er det noen uavhengige operativsystemer basert på FreeBSD. DragonFly BSD er en gaffel fra FreeBSD 4.8 med sikte på en annen multiprosessorsynkroniseringsstrategi enn den som er valgt for FreeBSD 5 og utvikling av noen mikrokjernefunksjoner . Det har ikke som mål å forbli kompatibel med FreeBSD og har store forskjeller i kjernen og det grunnleggende brukerlandet . MidnightBSD er en gaffel av FreeBSD 6.1 som låner tungt fra NeXTSTEP , spesielt i brukergrensesnittavdelingen.

Darwin , kjernen av Apple 's Macos , omfatter et virtuelt filsystem og nettverksstakken avledet fra de av FreeBSD, og komponenter av dets userspace er også FreeBSD-avledet.

Noen abonnementstjenester som er direkte basert på FreeBSD er:

  • WhatsApp  - behandler 2 millioner samtidige TCP -tilkoblinger per server.

Innebygde enheter og innebygde enhetsoperativsystemer basert på FreeBSD inkluderer:

  • Juniper 's JUNOS router -operativsystem.
  • EMC Isilon er OneFS operativsystem.
  • NetApp 's data ONTAP 8.x og den nå erstattet ONTAP GX (bare som en loader for proprietær kernel-space modul).
  • Netflix 's Open Connect Appliance for å håndtere innholdslevering.
  • The PlayStation 4 ( " Orbis OS ")
  • Panasas 'PanFS parallelle filsystem
  • pfSense , en åpen kildekode-brannmur, ruter og operativsystem for sikkerhetsapparater.

Versjonshistorikk

Legende: Gammel versjon, ikke vedlikeholdt Eldre versjon, fortsatt vedlikeholdt Gjeldende stabil versjon Siste forhåndsversjon Fremtidig utgivelse
Versjon Utgivelsesdato Støttes til Betydelige endringer
Gammel versjon, ikke lenger vedlikeholdt: 1.x November 1993
  • Den første offisielle utgivelsen.
  • Havnesamlingen.
  • Rettet noen utestående feil ved import av 386BSD
  • Tillegg av noen portede applikasjoner ( XFree86 , XView , InterViews , elm , nntp )
Gammel versjon, ikke lenger vedlikeholdt: 2.x 22. november 1994
  • Erstatt kodebase med BSD-Lite 4.4 (for å tilfredsstille vilkårene i USL v. BSDi søksmålsoppgjøret)
  • Ny installatør og ny boot manager
  • Lastbare filsystemer støtter flere filsystemer (MS-DOS, unionfs, kernfs )
  • Importerte lastbare kjernemoduler fra NetBSD
  • Erstatt BSD malloc med phkmalloc
  • Full Linux -emulering med ELF
  • Dummynet trafikkforming
Gammel versjon, ikke lenger vedlikeholdt: 3.x 16. oktober 1998
Gammel versjon, ikke lenger vedlikeholdt: 4.x 14. mars 2000 31. januar 2007
Gammel versjon, ikke lenger vedlikeholdt: 5.x 14. januar 2003 31. mai 2008
Gammel versjon, ikke lenger vedlikeholdt: 6.x 1. november 2005 30. november 2010
  • Ytelse overvåking tellere støtte
  • Ny Wi-Fi- stabel
  • GELI
  • Nettverksbro
  • NanoBSD -verktøy
  • NDIS driverstøtte
  • Tastaturmultiplexer
  • UFS -filsystemstabilitet
  • Autokonfigurasjon av Bluetooth
  • Ekstra Ethernet- og RAID -drivere
  • Støtte for Xbox -arkitektur
  • OpenBSM revisjonsundersystem
  • freebsd-update (binære oppdateringer for sikkerhetsrettelser og errata-oppdateringer)
Gammel versjon, ikke lenger vedlikeholdt: 7.x 27. februar 2008 28. februar 2013
Gammel versjon, ikke lenger vedlikeholdt: 8.x 26. november 2009 1. august 2015
  • SATA NCQ -støtte
  • Xen gjestestøtte
  • Lagring med høy tilgjengelighet
  • Native NFSv4 ACL -støtte
  • USB 3.0 -støtte
Gammel versjon, ikke lenger vedlikeholdt: 9.x 12. januar 2012 31. desember 2016
  • Capsicum evne Basert sikkerhetsmekanisme
  • UFS SoftUpdates+Journal
  • ZFS oppdatert til versjon 28
  • bsdconfig, systemkonfigurasjonsverktøy
  • bsdinstall, det nye systeminstallasjonsprogrammet
  • RCTL, en fleksibel mekanisme for ressursgrenser
  • GRAID, fleksibel RAID -implementering av programvare
  • virtio drivere
  • pkgng
  • vt, den nye virtuelle terminalimplementeringen
Gammel versjon, ikke lenger vedlikeholdt: 10.x 20. januar 2014 31. oktober 2018
  • BHyVe hypervisor
  • Clang erstattet GCC på støttede arkitekturer
  • Ny iSCSI -stabel
  • Lagt til støtte for Raspberry Pi
  • UEFI -oppstart for amd64
  • ZFS -oppstart via UEFI
  • ZFS på rotfilsystemet
  • ZFS pålitelighet og ytelsesforbedringer
  • Implementering av pkg, en ny FreeBSD -pakkeleder , også referert til som pkgng
  • Støtte for UDP Lite -protokoll (RFC 3828)
  • SMP -støtte for armv6
  • Ny autofs-basert automounter
  • DRM -koden oppdateres for å matche Linux 3.8.13, slik at flere samtidige X -servere
  • Støtte for 64-biters Linux-binærfiler gjennom kompatibilitetslaget
Gammel versjon, ikke lenger vedlikeholdt: 11.x 10. oktober 2016 30. september 2021
  • Ny versjon av NetMap
  • Støtte for 64-biters ARM Architecture
  • umount (8) -N nytt flagg som brukes til å kraftig avmontere et NFS -montert filsystem
  • crontab -f nytt flagg lagt til
  • De ZFS filsystem har blitt oppdatert til å gjennomføre parallelle montering.
  • Utstyret (8) er lagt til, som sletter innhold for blokker på flash-baserte lagringsenheter som bruker slitasjeutjevningsalgoritmer.
Eldre versjon, men likevel vedlikeholdt: 12.x 11. desember 2018
  • De EXT2FS (5) filsystem har blitt oppdatert til å støtte full lese / skrive-støtte for ext4
  • FreeBSD har endret måten grafikkdrivere håndteres på amd64 og i386. Grafikkdrivere for moderne ATI-AMD- og Intel-grafikkort er nå tilgjengelige i Ports Collection.
  • UFS/FFS filsystem har blitt oppdatert for å støtte sjekk hash til sylindergruppekart.
Gjeldende stabil versjon: 13.x 13. april 2021
  • Clang-, lld- og lldb-verktøyene og compiler-rt, llvm, libunwind og libc ++ bibliotekene har blitt oppdatert til versjon 11.0.1.
  • Fjernet de foreldede binutilene 2.17 og gcc (1) 4.2.1 fra treet. Alle støttede arkitekturer bruker nå LLVM/clang -verktøykjeden.
  • Kjernen støtter nå innramming og kryptering av Transport Layer Security (TLS) data på TCP-sockets for TLS versjoner 1.0 til 1.3. Overfør avlastning via in-core-kryptodrivere støttes for MtE-krypteringssuiter som bruker AES-CBC, så vel som AEAD-krypteringssuiter som bruker AES-GCM. Motta avlastning via in-core-kryptodrivere støttes for AES-GCM-krypteringspakker for TLS 1.2. Bruk av KTLS krever bruk av et KTLS-bevisst SSL-bibliotek for brukerland. OpenSSL -biblioteket som er inkludert i basissystemet, aktiverer ikke KTLS -støtte som standard, men støtte kan aktiveres ved å bygge med alternativet WITH_OPENSSL_KTLS
  • 64-biters ARM-arkitekturen kjent som arm64 eller AArch64 blir forfremmet til Tier-1-status for FreeBSD 13.
Versjon Utgivelsesdato Støttes til Betydelige endringer

Se også

Referanser

Sitater

Kilder

Eksterne linker