FreeBSD - FreeBSD
Utvikler | FreeBSD -prosjektet |
---|---|
OS -familie | Unix-aktig |
Arbeidstilstand | Strøm |
Kildemodell | Åpen kilde |
Første utgivelse | 1. november 1993 |
Siste utgivelse | 13.0 (13. april 2021 [±]
12.2 (27. oktober 2020 ) [±] |
)
Siste forhåndsvisning | 13.0-RC4 (29. mars 2021 [±] | )
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 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
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 virtualisering på operativsystemnivå 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. "
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.
Logo
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
Det finnes en rekke programvaredistribusjoner basert på FreeBSD. Bemerkelsesverdige derivater inkluderer:
- DesktopBSD (desktop-orientert operativsystem, opprinnelig basert på KDE)
- TrueNAS (for nettverkstilkoblede lagringsenheter )
- FreeSBIE ( live CD )
- GhostBSD ( MATE -basert distribusjon, som også tilbyr andre skrivebordsmiljøer)
- MidnattBSD
- NanoBSD
- PicoBSD
- IntelliStar (satellittsystem som kjører TV -programmer som Weatherscan og Local On The 8s)
- m0n0wall (brannmur)
- OpenServer 10 (server)
- OPNsense (brannmur)
- pfSense (brannmur)
- TrueOS , tidligere kjent som PC-BSD (rettet mot hjemmebrukere og arbeidsstasjoner, men med en FreeNAS-lignende serverversjon og TrueOS pico for ARM 32-biters innebygde enheter)
- TrustedBSD
- XigmaNAS (for nettverkstilkoblede lagringsenheter )
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 | Fremtidig utgivelse |
---|
Versjon | Utgivelsesdato | Støttes til | Betydelige endringer |
---|---|---|---|
1.x | November 1993 | ||
2.x | 22. november 1994 |
|
|
3.x | 16. oktober 1998 |
|
|
4.x | 14. mars 2000 | 31. januar 2007 |
|
5.x | 14. januar 2003 | 31. mai 2008 |
|
6.x | 1. november 2005 | 30. november 2010 |
|
7.x | 27. februar 2008 | 28. februar 2013 |
|
8.x | 26. november 2009 | 1. august 2015 | |
9.x | 12. januar 2012 | 31. desember 2016 |
|
10.x | 20. januar 2014 | 31. oktober 2018 |
|
11.x | 10. oktober 2016 | 30. september 2021 |
|
12.x | 11. desember 2018 |
|
|
13.x | 13. april 2021 |
|
|
Versjon | Utgivelsesdato | Støttes til | Betydelige endringer |
Se også
- BAPP , et sett med vanlig programvare med FreeBSD
- Berkeley Software Distribution
- Sammenligning av BSD -operativsystemer
- Sammenligning av operativsystemkjerner
- Sammenligning av operativsystemer
- Datasystemforskningsgruppe
- Marshall Kirk McKusick
Referanser
Sitater
Kilder
- Negus, Christopher; Caen, Francois (5. mai 2008), BSD UNIX Toolbox: 1000+ kommandoer for FreeBSD, OpenBSD og NetBSD (første utgave), Wiley , s. 309, ISBN 978-0-470-37603-4, arkivert fra originalen 2. mai 2009 , hentet 30. april 2009
- Lavigne, Dru (24. mai 2004), BSD Hacks (første utgave), O'Reilly Media , s. 448, ISBN 0-596-00679-9
- Lucas, Michael W. (14. november 2007), Absolute FreeBSD (andre utg.), No Starch Press , s. 744, ISBN 978-1-59327-151-0
- Lavigne, Dru; Lehey, Greg; Reed, Jeremy C. (20. desember 2007), The Best of FreeBSD Basics (første utgave), Reed Media Services, s. 596, ISBN 978-0-9790342-2-0
- Hong, Bryan J. (1. april 2008), Building a Server with FreeBSD 7 (First ed.), No Starch Press , s. 288, ISBN 978-1-59327-145-9, arkivert fra originalen 7. april 2008 , hentet 2. april 2008
- Tiemann, Brian; Urban, Michael (15. juni 2006), FreeBSD 6 Unleashed (første utgave), Sams , s. 912, ISBN 0-672-32875-5
- Korff, Yanek; Håp, Paco; Potter, Bruce (mars 2005), Mastering FreeBSD og OpenBSD Security (første utgave), O'Reilly Media , s. 464, ISBN 0-596-00626-8
- Lehey, Greg (april 2003), The Complete FreeBSD (fjerde utgave), O'Reilly Media , s. 720, ISBN 0-596-00516-4
- McKusick, Marshall K .; Neville-Neil, George V. (2. august 2004), The Design and Implementation of the FreeBSD Operating System (First ed.), Addison-Wesley , s. 720, ISBN 0-201-70245-2
- Mittelstaedt, Ted (15. desember 2000), The FreeBSD Corporate Networker's Guide (første utgave), Addison - Wesley , s. 432, ISBN 0-201-70481-1
- Stokely, Murray; Lee, Chern (1. mars 2004), The FreeBSD Handbook, Volume 1: User Guide (Third ed.), FreeBSD Mall, s. 408, ISBN 1-57176-327-9
- Stokely, Murray (1. september 2004), The FreeBSD Handbook, bind 2: Admin Guide (tredje utg.), FreeBSD Mall, s. 537, ISBN 1-57176-328-7