Redigerer
Linuxkjernen
(avsnitt)
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
== Utvikling == {{utdypende|Versjoner av Linuxkjernen}} [[Fil:Alan Cox at FOSS 2007.jpg|thumb|Den engelske programmereren [[Alan Cox]] er en prominent utvikler av Linuxkjernen.{{byline|Foto: TariqueSani|22. desember 2008}}]] [[Fil:AndrewMorton-3.jpg|thumb|… Den australske programmereren [[Andrew Morton (programmerer)|Andrew Morton]] er en annen …{{byline|Foto: Ilya Voyager|23. april 2008}}]] [[Fil:Greg Kroah-Hartman lks08.jpg|thumb| …[[Greg Kroah-Hartman]] er en tredje …. {{byline|Foto: Julien|5. februar 2009}}]] === Brukernettverket === Linuxkjernen vedlikeholdes av et [[Brukernettverk|nettverk med brukere]], hvor det inngår eller har inngått [[multinasjonalt selskap|multinasjonale selskaper]] som [[Intel]],<ref name="Corbet2012_9"/> [[IBM]],<ref name="Corbet2012_9"/> [[Texas Instruments]],<ref name="Foster">Dawn Foster: [https://thenewstack.io/contributes-linux-kernel/ Who Contributes to the Linux Kernel], The New Stack, 18. januar 2017</ref> [[Advanced Micro Devices]],<ref name="Corbet2012_10"/> [[Hewlett-Packard]],<ref name="History"/> [[ARM Holdings]],<ref name="Foster"/> [[Dell]],<ref>[http://cateee.net/lkddb/web-lkddb/DELL_LAPTOP.html CONFIG_DELL_LAPTOP: Dell Laptop Extras], Linux Kernel Driver Database, 2017</ref> [[Red Hat]],<ref name="Corbet2012_9"/> [[SuSE]],<ref>Libby Clark: [https://www.linux.com/blog/top-10-developers-and-companies-contributing-linux-kernel-2015-2016 The Top 10 Developers and Companies Contributing to the Linux Kernel in 2015–2016], Linux.com, 22. august 2016</ref> [[Novell]],<ref name="Love2015"/><ref name="Corbet2012_9"/> [[Linaro]],<ref name="Love2015"/> [[Oracle Corporation|Oracle]],<ref name="Corbet2012_9"/> [[Nokia (selskap)|Nokia]],<ref name="Corbet2012_9"/> [[Google]],<ref name="Corbet2012_10"/> [[Facebook]],<ref name="Foster"/> [[Fujitsu]]<ref name="Corbet2012_10"/> og [[Samsung]].<ref name="Corbet2012_10"/> I 2015 hadde nesten 12 000 [[programmerer]]e fra omkring 1 200 selskaper bidratt til kjernens utvikling,<ref name="LinuxContributor"/><ref name="Corbet2012"/> mens gruppen «amatører» i 2007 stod for 3,9 % av endringene.<ref name="Marti"/> Siden 1996 har utviklingsdiskusjoner foregått daglig på [[Linuxkjernens e-postliste]].<ref name="Love2015"/> I 2007 hadde utviklingen av kjernen skiftet fokus. Fra at de 20 mest aktive utviklere skrev 80 % av koden, var det endret til at de 30 mest aktive skrev 30 % av koden. De mest aktive utviklere brukte derimot mer tid på å gjennomgå forandringene.<ref name=":0">{{Cite news|url=http://www.computerworlduk.com/applications/are-top-linux-developers-losing-the-will-to-code-604/|title=Are top Linux developers losing the will to code?|last=Marti|first=Don|newspaper=ComputerworldUK|language=en-GB|access-date=2016-10-24}}</ref> I 2007 ble endringer i kjernen angivelig gjort av 1900 utviklere. Dette kan være et betydelig underestimat fordi utviklere som arbeider i team vanligvis regnes som en. Det er antatt at Linuxkjernens brukernettverk består av mellom 5000 og 6000 personer. [[Linux Foundation]] offentliggjorde i 2016 en rapport<ref>{{Kilde www |url=http://go.linuxfoundation.org/linux-kernel-development-report-2016 |tittel=2016 Linux Kernel Development Report |besøksdato=2017-06-09 |arkiv-dato=2016-08-22 |arkiv-url=https://web.archive.org/web/20160822224924/http://go.linuxfoundation.org/linux-kernel-development-report-2016 |url-status=død }}</ref> for perioden desember 2014 til juli 2016, som viste at omkring 1500 utviklere bidrar til hver versjon fra omkring 200–250 selskaper. De 30 mest aktive utviklere bidro til litt mer enn 16 % av koden. De største bidragsyterne blant selskaper var Intel (12.9 %) og Red Hat (8.0 %); tredje og fjerde plass ble holdt av kategoriene «ingen» (7.7 %) og «ukjent» (6.8 %). === Kodebasen === Den 2. juli 2007 uttalte Greg-Kroah Hartmann om versjon 2.6.22.0 at 5 % av koden var en del av «kjernen», mens 52 % var utstyrsdrivere.<ref name=":0" /> {{Sitat|I stedet for et veikart, er det tekniske veiledninger. I stedet for en sentral ressursallokering, er det personer og selskaper som alle tar del i den videre utvikling av Linuxkjernen, helt uavhengig av hverandre:<br/> Folk som Linus Torvalds og jeg planlegger ikke kjernens utvikling. Vi sitter ikke der og tenker ut et veikart for de neste to år, og deretter tildeler ressurser til de ulike nye egenskaper. Dette er fordi vi ikke har noen ressurser. Ressursene blir alle eid av de forskjellige korporasjoner som bruker og bidrar til Linux, så vel som av alle de forskjellige uavhengige bidragsytere der ute. Det er de folkene som eier ressursene som bestemmer...|[[Andrew Morton (programmerer)|Andrew Morton]], 2005}} {{Sitat|Linux er evolusjon, ikke intelligent konstruksjon!|[[Linus Torvalds]], 2005<ref>{{cite web |url=http://www.sprg.uniroma2.it/kernelhacking2008/lectures/lkhc08-01b.pdf |title=Linux Evolution |date=26. mars 2008}}</ref><ref>{{cite web |url=http://www.cs.huji.ac.il/~feit/papers/LinuxDev12JSS.pdf |title=Perpetual Development: A Model of the Linux Kernel Life Cycle |date=25. oktober 2011}}</ref><ref>{{cite web |url=http://lkml.iu.edu/hypermail/linux/kernel/0802.1/2159.html |title=Re: Announce: Linux-next (Or Andrew's dream :-)) |date=12. februar 2008 |accessdate=30. januar 2017 |mailing-list=Linux Kernel Mailing List |last=Kroah-Hartman |first=Greg}}</ref>|source=}} [[Evolusjon]]en gjør ofte uventede (og ikke nødvendigvis optimale) ting, men ingen av dens inkrementelle forandringer får Linuxkjernen til ''å bryte sammen'' på et gitt tidspunkt. Enhver versjon av Linuxkjernen er brukbar, selv om utstyrsdrivere ikke støtter alle egenskapene ved maskinvaren som de er skrevet for. Arkitekturen til Linuxkjernen har vist seg å fungere på grunn av dens utvidbarhet og tilgangen på utviklere. Mange uavhengige frivillige utviklere har sørget for at de delene som krever mest utvikling — utstyrsdrivere, filsystemer og nettverksprotokoller — blir implementert på en utvidbar måte. Disse systemene er gjort utvidbare ved å bruke en data-abstraksjon, der hver utstyrsdriver er implementert som et separat modul med et felles grensesnitt. En utvikler kan tilføye en ny utstyrsdriver, med minimal interaksjon med andre utviklere. Det er også enkelt å tilføye flere maskinvareplattformer. Arkitekturen separerer maskinvarespesifikk kode i distinkte moduler innenfor hvert undersystem. På denne måten kan en liten gruppe av utviklere implementere en portering til en ny datamaskinarkitektur ved å utelukkende omskrive de maskinvare-spesifikke delene av kjernen. === Estimerte kostnader ved å utvikle Linuxkjernen på nytt === [[Fil:Redevelopment costs of Linux kernel.png|thumb|Kostnadene ved å utvikle Linuxkjernen på nytt.{{byline|Illustrasjon: Spitzl|31. januar 2017}}]] Kostnadene ved å utvikle versjon 2.6.0 av Linuxkjernen på nytt i et tradisjonell proprietært miljø har blitt estimert til 612 millioner [[amerikanske dollar]], 467 millioner [[euro]] og 394 millioner [[britisk pund|britiske pund]] i 2004-priser ved å benytte estimasjonsmodellen [[årsverk]] i [[COCOMO]].<ref>{{cite web |url = http://www.dwheeler.com/essays/linux-kernel-cost.html |title = Linux Kernel 2.6: It's Worth More! |last = Wheeler |first = David A. |access-date = 2017-06-11 |archive-date = 2011-08-20 |archive-url = https://web.archive.org/web/20110820092909/http://www.dwheeler.com/essays/linux-kernel-cost.html |url-status = yes }}</ref> I 2006 fastslo et studium som ble finansiert av [[den europeiske union]] at kostnadene ved å utvikle versjon 2.6.8 eller høyere av Linuxkjernen på nytt til 1.14 milliarder amerikanske dollar, 882 millioner euro og 744 millioner pund.<ref>{{cite web|url=http://ec.europa.eu/enterprise/sectors/ict/files/2006-11-20-flossimpact_en.pdf|title=Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector|type=Table 3 on page 50}}</ref> En studie fra 30. juni 2001 fant at distribusjonen [[Red Hat Linux]] 7.1 inneholdt 30 millioner [[kildekode|linjer med kildekode]]. Ved å bruke COCOMO-modellen, fant studien at Red Hat Linux 7.1 ville krevd omtrent åtte tusen årsverk om den skulle blitt utviklet ved konvensjonelle proprietære metoder. Ifølge studien ville dette ha kostet omtrent 1,08 milliarder år-2000-US-dollar å utvikle ved konvensjonelle proprietære metoder.<ref name = "estimating_size">{{Språkikon|en|Engelsk}} {{Kilde www | tittel = More Than a Gigabuck: Estimating GNU/Linux's Size | url = http://www.dwheeler.com/sloc/redhat71-v1/redhat71sloc.html | utgiver = | forfatter = David A. Wheeler | dato = 29. juli 2002 | besøksdato = 11. mai 2006 | kommentar = | arkiv-dato = 2020-04-28 | arkiv-url = https://web.archive.org/web/20200428111826/https://dwheeler.com/sloc/redhat71-v1/redhat71sloc.html | url-status=død }}</ref> En lignende analyse av [[Debian]] 2.2 «potato» viste at denne inneholdt 55 millioner kodelinjer og ville kostet 1,9 milliarder år-2000-US-dollar eller 14 milliarder norske kroner å utvikle med konvensjonelle metoder.<ref>{{Språkikon|en|Engelsk}} {{Kilde www|tittel=Counting potatoes: The size of Debian 2.2 |url=http://people.debian.org/~jgb/debian-counting/counting-potatoes/ |utgiver= |forfatter=Jesús M. González-Barahona |utgivelsesdato=3. januar 2002 |besøksdato=11. mai 2006 |kommentar= |url-status=død |arkivurl=https://web.archive.org/web/20080503001817/http://people.debian.org/~jgb/debian-counting/counting-potatoes/ |arkivdato=2008-05-03 }}</ref> En [[SLOC]]-studie for Debian 3.1 «sarge» anno 2005 viste at den inneholdt 215 millioner linjer med kode, som tilsvarer en utviklingskostnad på ca. 58 milliarder norske kroner.<ref>{{Språkikon|en|Engelsk}} {{Kilde www | tittel = SLOCCount Web for Debian Sarge | url = http://libresoft.dat.escet.urjc.es/debian-counting/sarge/index.php?menu=Statistics | utgiver = Libre Software | utgivelsesdato = <!-- oppdateres kontinuerlig --> | besøksdato = 16. juli 2007 | kommentar = | arkiv-url = https://web.archive.org/web/20060115140056/http://libresoft.dat.escet.urjc.es/debian-counting/sarge/index.php?menu=Statistics | arkivdato = 2006-01-15 | url-status=død }}</ref> Debian 4.0 «Etch» inneholdt ifølge en [[SLOC]]-studie fra 17. juni 2007 hele 283 millioner linjer med kildekode (76,5 milliarder kroner). Dette var 7 ganger flere linjer enn [[Windows XP]] (40 millioner linjer med kildekode og 10,8 milliarder kroner).<ref>{{Språkikon|en|Engelsk}} {{Kilde www | tittel = Measuring Etch | url = https://penta.debconf.org/~joerg/attachments/32-measuring_etch_slides.odp | utgiver = debconf.org | utgivelsesdato = 17. juni 2007 | besøksdato = 16. juli 2007 | format = ODF | url-status=død | arkivurl = https://web.archive.org/web/20110527195700/https://penta.debconf.org/~joerg/attachments/32-measuring_etch_slides.odp | arkivdato = 2011-05-27 }}</ref> I januar 2016 estimerte Black Duck [[Open Hub]] at Debian 8, «Jessie» (med 74 millioner linjer kode) ville koste omkring 1.4 milliarder dollar å utvikle, ved å bruke en annen metode basert på samme modell.<ref>{{cite web |url = https://www.openhub.net/p/debian/estimated_cost |title = Estimated Cost |publisher = Black Duck [[Open Hub]] |access-date = 2016-01-06 }}</ref><ref>{{cite web |url = https://packages.debian.org/stable/ohcount |title = Package: ohcount (3.0.0-8 and others) |publisher = Debian |access-date = 2016-01-06 }}</ref> Ved å bruke [[David A. Wheeler]]'s metodologi, estimerte Amanda McPherson, Brian Proffitt og Ron Hale-Evans i oktober 2008 at det å utvikle versjon 2.6.25 av Linuxkjernen på nytt ville ha kostet 1.3 milliarder dollar. De estimerte kostnadene ved å utvikle [[Versjoner av Fedora#Fedora 9 «Sulphur»|Fedora 9 «Sulphur»]] på nytt (6 772 902 linjer med kildekode) var 10.8 milliarder dollar.<ref>{{cite web|url=http://www.linuxfoundation.org/publications/estimatinglinux.pdf|title=Estimating Total Development Cost Of a Linux Distribution|type=Table on page 6|url-status=dead|archiveurl=https://web.archive.org/web/20100711025812/http://www.linuxfoundation.org/publications/estimatinglinux.pdf|archivedate=2010-07-11|tittel=Arkivert kopi|besøksdato=2010-01-08|arkivurl=https://web.archive.org/web/20100711025812/http://www.linuxfoundation.org/publications/estimatinglinux.pdf|arkivdato=2010-07-11|url-status=død}} {{Kilde www |url=http://www.linuxfoundation.org/publications/estimatinglinux.pdf |tittel=Arkivert kopi |besøksdato=2017-06-11 |arkiv-dato=2010-07-11 |arkiv-url=https://web.archive.org/web/20100711025812/http://www.linuxfoundation.org/publications/estimatinglinux.pdf |url-status=yes }}</ref> Garcia-Garcia og Alonso de Magdaleno fra [[Universitetet i Oviedo]], [[Spania]], anslo den årlige verdiøkning av kjernen til omkring 100 millioner euro mellom 2005 og 2007 og 225 millioner euro i 2008. Anslagene viste at det ville koste 1 milliarder euro eller 1,4 milliarder dollar per februar 2010 (versjon 2.6.33) å utvikle den på nytt i den europeiske union.<ref>{{cite web|url=http://linux.slashdot.org/story/10/02/24/155214/The-Billion-Dollar-Kernel |title=The Billion Dollar Kernel |publisher=Linux.slashdot.org |date=24. februar 2010 |accessdate=12. november 2010}}</ref> Den 7. mars 2011 ble tilsvarende tall for versjon 2.6.37.x av Linuxkjernen, ved å bruke David A. Wheeler's beregninger, oppgitt til omkring 3 milliarder dollar og 2.2 milliarder euro, og tallene fortsetter å øke.<ref>{{cite web|last=Wheeler|first=David|title=The Linux Kernel: It's Worth More!|url=http://www.dwheeler.com/essays/linux-kernel-cost.html|accessdate=17. september 2012|archive-date=2011-08-20|archive-url=https://web.archive.org/web/20110820092909/http://www.dwheeler.com/essays/linux-kernel-cost.html|url-status=yes}}</ref> === Utviklingsmodell === {{Grafkart | width = 800 | height = 400 | type = rect | xAxisTitle = Kernel Version | yAxisTitle = Million Lines of Code | x = 0.01, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 2.6.0, 3.0, 4.0, 4.10, 4.15, 4.19 | y = 0.008, 0.17, 0.17, 0.29, 0.32, 0.71, 0.73, 1.67, 1.76, 3.15, 3.83, 8.10, 14.64, 19.31, 22.84, 25.36, 25.59 }} Den nåværende utviklingsmodellen går ut på at Linus Torvalds lanserer nye «mainline» versjoner («[[vanillaprogramvare|vanillaversjoner]]») av Linuxkjernen. De utgjør hovedgreinen eller den generiske utviklingsgreinen. Nye versjoner blir offisielt lansert omtrentlig hver tiende uke, etter at Torvalds foretar en innledende runde med å integrere større endringer som er foretatt av andre utviklere, og etter flere runder med feilrettende testutgaver. Hovedgreinen er ikke den ''stabile'' greinen, men inkorporerer alle former for endringer, deriblant de siste egenskaper, sikkerhetsoppdateringer og feilrettinger. Brukere som ikke vil risikere en ny versjon som ikke er grundig testet, kan benytte en separat ''stabil'' utviklingsgrein. Den følger hver versjon, og er ment for de som bare ønsker oppdateringer av sikkerhetsmoduler og feilrettinger, men ikke en helt ny versjon. Denne greinen blir vedlikeholdt av det ''stabile utviklingsteamet'', som inkluderer [[Greg Kroah-Hartman]], [[Chris Wright (programmerer)|Chris Wright]], [[Alan Cox]], med flere. Forut for versjon 2.6 fantes det en stabil grein (2.4) for relativt små og trygge endringer, og en ustabil grein (2.5), hvor store endringer og opprettinger var tillatt. Begge greinene ble vedlikeholdt av den samme gruppen utviklere, ledet av Torvalds. Brukerne hadde alltid tilgjengelig en grundig testet 2.4 versjon med de siste sikkerhetsoppdateringer og feilrettinger, men måtte vente på de nye egenskapene i 2.5-greinen. Ulempene var at den ''stabile'' versjonen ble akterutseilt. Den støttet ikke lenger ny maskinvare og manglet nødvendige nye egenskaper. På slutten av 2.5-greinens levetid, begynte enkelte vedlikeholdere å portere endringene tilbake til 2.4-serien. Men dette resulterte i introduksjonen av nye feil. 2.5 greinen ble til slutt stabil og omdøpt til 2.6. Men i stedet for å åpne en ustabil 2.7-grein, bestemte kjernens utviklere å fortsette med å tilføye store endringer i 2.6-greinen. Disse versjonene ble lansert i en raskere rekkefølge enn 2.4.x, men tregere enn 2.5.x. Dette gjorde at nye egenskaper ble raskere tilgjengelig og ble mer testet. Som respons på mangelen på et ''stabilt'' kjernetre hvor feilrettinger kunne koordineres, kunngjorde Adrian Bunk i desember 2005 at han ville fortsette med å utgi 2.6.16.y-kjerner, selv om det stabile utviklingsteamet gikk over til 2.6.17.<ref>{{cite web |url=http://kerneltrap.org/node/6930 |title=Linux: 2.6.16.y Lives On |author=Jeremy |date=4. august 2006 |publisher=KernelTrap |accessdate=30. oktober 2010 |archive-url=https://web.archive.org/web/20100914234714/http://kerneltrap.org/node/6930 |archivedate=14. september 2010 |url-status=dead |df= |archiveurl=https://archive.today/20120724093633/kerneltrap.org/node/6930 }}</ref><ref name="2.6.16-longterm">{{cite web |url=http://lkml.iu.edu/hypermail/linux/kernel/0608.0/1111.html |title=Adrian Bunk is now taking over the 2.6.16-stable branch |last=Kroah-Hartman |first=Greg |authorlink=Greg Kroah-Hartman |date=3. august 2006 |mailinglist=[[LKML]] |accessdate=21. februar 2015}}</ref> Han inkluderte også enkelte oppdatering av utstyrsdrivere, og gjorde vedlikeholdsreglene i 2.6.16-serien svært lik dem i 2.4.<ref>{{cite web |url=http://kerneltrap.org/node/6386 |title=Linux: Maintaining A 2.6.16.y Tree |author=Jeremy |date=23. mars 2006 |publisher=KernelTrap |accessdate=30. oktober 2010 |archive-url=https://web.archive.org/web/20100620015441/http://kerneltrap.org/node/6386 |archive-date=20. juni 2010 |url-status=dead |df= |archiveurl=https://archive.today/20120709101718/kerneltrap.org/node/6386 }}</ref> Siden da ble en ''stabil'' grein dannet, og ble oppdatert med feilopprettinger. I oktober 2009 kunngjorde Adrian Bunk at han ville vedlikeholde 2.6.27 i fem år som en erstatning for 2.6.16.<ref>{{cite web |url=http://marc.info/?l=linux-kernel&m=122375909403298&w=2 |title=Linux 2.6.27 will be a longtime supported kernel |last=Bunk |first=Adrian |date=11. oktober 2008 |mailinglist=[[LKML]] |accessdate=30. oktober 2010}}</ref> Dermed ble en ny ''stabil grein'' dannet, med stadige feilrettinger.<ref>{{cite web |url=http://marc.info/?l=linux-kernel&m=125245118518458 |title=Re: 2.6.27 maintenance plans after 2.6.32 is released |last=Kroah-Hartman |first=Greg |date=8. september 2009 |mailinglist=[[LKML]]}}</ref> Fra versjon 2.6 ønsket noen fortsatt et ''ustabilt'' kjernetre. [[Andrew Morton (programmerer)|Andrew Morton]] endret hensikten i sitt [[mm tre|-mm tre]] fra å behandle minnehåndtering til å bli et sted for eksperimentell kode. I september 2007 stanset han vedlikeholdet av dette treet.<ref>{{cite web|url=http://kerneltrap.org/Linux/2.6.23-rc6-mm1_This_Just_Isnt_Working_Any_More |archiveurl=https://web.archive.org/web/20080127062120/http://kerneltrap.org/Linux/2.6.23-rc6-mm1_This_Just_Isnt_Working_Any_More |title=This Just Isn't Working Any More |website=kerneltrap.org |date=18. september 2007 |archivedate=27. januar 2008 |url-status=dead |df= }}</ref> ===''Linux-next''=== Den 12. februar 2008 skapte Stephen Rothwell ''linux-next'' treet for å samle patcher som skulle havne i den stabile greinen i neste utviklingssyklus.<ref>{{cite web |url=https://lkml.org/lkml/2008/2/11/512 |title=Announce: Linux-next (Or Andrew's dream :-)) |last=Rothwell |first=Stephen |date=12. februar 2008 |mailinglist=LKML |accessdate=30. oktober 2010}}</ref><ref>{{cite web |url=https://lwn.net/Articles/269120/ |title=linux-next and patch management process |last=Corbet |first=Jonathan |date=21. oktober 2010 |work=[[LWN.net]] |publisher=Eklektix, Inc |accessdate=30. oktober 2010}}</ref> Flere vedlikeholdere av undersystemer adopterte endelsen ''next'' på trær med kode som skulle inkluderes i neste stabile versjon. Per 24. mars 2022 holdes utviklingsversjonen av Linuxkjernen i greinen ''linux-next''.<ref>{{cite web |url=http://www.kernel.org |title=The Linux Kernel Archives |publisher=Kernel.org |accessdate=18. mars 2022}}</ref> === Langtidsversjoner === Fra versjon 2.6.16 har det jevnlig blitt utgitt versjoner med [[langtidsstøtte]] (LTS). De passer særlig for industrielle og kommersielle miljøer som trenger stabilitet. Det er blitt utgitt 20 versjoner med langtidsstøtte, hvorav fire er gjeldende:<ref>[https://www.kernel.org/category/releases.html Active kernel releases], kernel.org, besøkt 31. januar 2017</ref> {|class="wikitable" |- ! LTS # ! Versjon ! Lansert ! Støttet til |-bgcolor=#FFFFCC | bgcolor=#E6E6FF|17 | 4.9 | 11. desember 2016 | Januar 2019 |-bgcolor=#FFFFCC | bgcolor=#E6E6FF|18 | 4.14 | 12. november 2017 | Januar 2020 |-bgcolor=#FFFFCC | bgcolor=#E6E6FF|19 | 4.19 | 22. oktober 2018 |Desember 2020 |-bgcolor=#FFFFCC | bgcolor=#E6E6FF|20 | 5.4 | 24. november 2019 | Desember 2021 |} === Forholdet til Linuxdistribusjoner === Mange Linuxbrukere kjører en «vanillakjerne» (stabil kjerne) som følger med en [[Linuxdistribusjon]]. Flere leverandører av distribusjoner (deriblant [[Red Hat]] og [[Debian]]) vedlikeholder også et annet sett av Linuxkjernen som blir oppdatert langsommere enn «vanillakjernen». De inneholder vanligvis alle rettinger fra den relevante ''stabile'' greinen, men støtter også utstyrsdrivere og egenskaper som ikke har blitt lansert i «vanillaversjonen» som distribusjonen startet sin grein fra. [[Red Hat Enterprise Linux]] 6 «Santiago» leveres for eksempel sammen med versjon 2.6.32 av Linuxkjernen. Denne versjonen hadde langtidsstøtte, og siste offisielle underversjon var 2.6.32.71. Red Hat har laget sine egne uoffisielle oppdateringer, og Red Hat Enterprise Linux 6.10 ble for eksempel lansert sammen med versjon 2.6.32-794 av Linuxkjernen. === Revisjonskontroll === [[Fil:Gitweb.png|thumb|right|Skjermbilde av Gitweb, grensesnittet til Git på internett{{byline|Foto: Git Team|3. oktober 2011}}]] {{utdypende|Git}} Linuxkjernens kildekode ble tidligere vedlikeholdt uten noe automatisert [[versjonskontrollsystem]], stort sett fordi Linus Torvalds mislikte tanken på et sentralisert system. I 2002 gikk utviklingsteamet over til å bruke [[BitKeeper]]. BitKeeper var tilgjengelig for Linus og flere andre uten kostander, men var ikke fri programvare, noe som ble en kilde til kontrovers. Systemet hadde en viss interoperabilitet med frie versjonskontrollsystemer som [[Concurrent Versions System]] (CVS) og [[Subversion]]. I april 2005 prøvde [[Andrew Tridgell]] å gjenskape en fri utgave av BitKeeper gjennom omvendt ingeniørkunst. Dette førte til at BitMover, selskapet som utga BitKeeper, stanset støtten til Linuxkjernens brukernettverk. Som en reaksjon skrev Torvalds og andre kildekoden til det nye versjonskontrollsystemet [[Git]]. Det nye systemet ble skrevet i løpet av noen uker, og i løpet av to måneder ble det tatt i bruk på den offisielle Linuxkjernen.<ref>{{cite web|mailinglist=git-commits-head |author=Linux Kernel Mailing List |url=http://marc.info/?l=git-commits-head&m=111904216911731 |title=Linux 2.6.12 | date=17. juni 2005}}</ref> Versjon 0.99 av Git ble lansert 11. juli 2005. Siste versjon er 2.47.1, som ble lansert 25. november 2024. === Versjonsnummer === Linuxkjernen har hatt tre forskjellige former for versjonsnummer. Den første nummereringen ble brukt forut for versjon 1.0. Den første versjonen av kjernen var 0.01. Den ble etterfulgt av 0.02, 0.03, 0.10, 0.11, 0.12 (første versjon lansert under GPL), 0.95, 0.96, 0.97, 0.98, 0.99 og deretter 1.0.<ref>{{cite web |url=http://ftp.cdut.edu.cn/pub/linux/kernel/history/lka-001.html |title=Linux Kernel Archives - Volume 1 |last=Williams |first=Riley |url-status=dead |archiveurl=https://archive.today/20050511062834/http://ftp.cdut.edu.cn/pub/linux/kernel/history/lka-001.html |archivedate=2005-05-11 |tittel=Arkivert kopi |besøksdato=2007-12-22 |arkivurl=https://archive.today/20050511062834/http://ftp.cdut.edu.cn/pub/linux/kernel/history/lka-001.html |arkivdato=2005-05-11 |url-status=død }}</ref> Fra 0.95 og fremover var det mange patch-utgaver mellom versjonene. [[Fil:Linus Torvalds.jpeg|thumb|200px|[[Linus Torvalds]].{{byline|Ukjent fotograf (Linux Magazine)|Desember 2002}}]] Etter versjon 1.0 og før versjon 2.6, bestod versjonsnumrene av «a.b.c». Tallet «a» var hovedversjonen, tallet «b» betegnet en større revisjon av versjonen, og tallet «c» indikerte en mindre revisjon. Eksempel på denne nummereringen er 2.2.6. Hovedversjonen endret versjonsnummer i 1994 (versjon 1.0) og i 1996 (versjon 2.0). Versjon 3.0 ble lansert i 2011, men var ingen større endring i kjernen. Heller ikke versjon 4.0 (lansert i 2015), var noen fundamental endring. Endringene ble gjort kort og godt for å forhindre at tallet «b» skulle vokse å bli for stort. De mindre revisjonene bestod av patcher for sikkerhet, feilrettinger eller nye ustyrsdrivere. Testutgaver ble tildelt oddetall i sifferet «b»: 1.1.x, 1.3.x, 2.1.x, 2.3.x og 2.5.x. Etter lanseringen av versjon 2.6.0 i 2004, oppstod det flere diskusjoner om versjonsnummereringen blant utviklerne.<ref>{{cite web|last=Offline |first=Jeremy |url=http://kerneltrap.org/Linux/Kernel_Release_Numbering_Redux |title=Kernel Release Numbering Redux |publisher=KernelTrap |date=13. oktober 2001 |accessdate=30. oktober 2010 |archiveurl=https://web.archive.org/web/20101124183405/http://kerneltrap.org/Linux/Kernel_Release_Numbering_Redux |archivedate=24. november 2010 }}</ref><ref>{{cite web |mailinglist=[[LKML]] |url=https://lkml.org/lkml/2005/3/2/247 |last=Torvalds |first=Linus |title=RFD: Kernel release numbering |publisher=LKML |accessdate=30. oktober 2010}}</ref> Til slutt avgjorde Linus Torvalds og andre at en mye kortere «tidsbasert» utgivelsessyklus ville være egnet. I omkring syv år var de to første tallene «2.6», og et tredje tall ble inkrementert med hver ny versjon, som utkom etter to til tre måneder. Et fjerde tall ble noen ganger tilføyd for å spesifisere en feilretting eller en sikkerhetsoppdatering. Det var slutt på bruken av oddetall for å markere ustabile versjoner. I stedet ble utviklingsversjoner kalt utgivbare kandidater (''release candidates''), og fikk [[suffiks]]et «-rc» etterfulgt av et ordinært tall. Utgivbare kandidater er en teknisk betegnelse på noe som kommer etter [[betaversjon]]er. Et fjerde tall ble brukt ved en alvorlig feil som måtte fikses øyeblikkelig. Dette var tilfelle med koden for [[Network File System]] (NFS) i versjon 2.6.8, og versjon 2.6.8.1 rettet denne feilen. Det var ikke tilstrekkelig med andre endringer i kjernen for å legitimere en ny mindre versjon, som ville vært 2.6.9. Fra versjon 2.6.11 ble dette en ny offisiell versjonsnummerering. Det ble vanlig praksis å tilføye sikkerhetsoppdateringer og feilrettinger, og indikere dette med et fjerde tall. Den 29. mai 2011 kunngjorde Linus Torvalds<ref>{{cite web |last=Torvalds |first=Linus |url=https://lkml.org/lkml/2011/5/29/204 |title=Linux 3.0-rc1 |date=29. mai 2011 |accessdate=16. august 2011}}</ref> at versjonen etter 2.6.39 ville bli versjon 3.0. Dette var både for å hindre at versjonsnumrene ble for store og for å minnes 20-årsjubileet til Linux. Utgivelsessyklusen skulle fortsatt være tidsbasert, ved å bruke det andre tallet; 3.1 skulle følge etter 3.0 etter noen få måneder. Et tilleggstall (nå det tredje tallet) skulle indikere feilrettinger og sikkerhetsoppdateringer, som for eksempel 3.0.18. Linuxfellesskapet refererer til dette som versjonsnummeret «x.y.z». Etter versjon 3.19 ble det nye versjonsnummeret endret til 4.0.<ref>{{cite web |mailinglist=[[LKML]] |url=https://lkml.org/lkml/2013/11/3/160 |last=Torvalds |first=Linus |title=Linux 3.12 released .. and no merge window yet .. and 4.0 plans? |publisher=LKML |accessdate=22. januar 2014}}</ref>{{#tag:ref|Skiftet fra versjon 3.0 til 4.0 ble avgjort ved en avstemning i Linuxmiljøet. Linus Torvalds skrev den 12. februar 2015 ([https://plus.google.com/+LinusTorvalds/posts/jmtzzLiiejc So, I made noises some time ago ...]): ''Men la oss se hva folk mener. Fortsette med v3.20 fordi større tall er sexy, eller bare flytte til v4.0, og nullstille tallene med noe mindre?'' * ''Jeg liker store versjoner og kan ikke lyve'' * ''v4.0 fordi jeg lett blir forvirret''|group="lower-alpha"|name="versjon 4.0"}} Versjoner med suffiks som «tip», indikerer en annen [[Fork|utviklingsgrein]] av Linuxkjernen, ofte med initialene til personen som laget den. «ck» betyr for eksempel [[Con Kolivas]], «ac» står for [[Alan Cox]], etc. Noen ganger er bokstavene relatert til utviklingsgreinens fokus; «wi» (''wireless networking'') indikerer for eksempel testutgaver for [[trådløst nettverk|trådløse nettverk]]. Linuxdistribusjoner kan også ha sine egne suffikser med et annet nummereringssystem på deres stabile men eldre Linuxversjoner for næringslivet. === Varianter av Linuxkjernen === [[Fil:Lines of Code Linux Kernel.svg|thumb|Antall linjer med kode i ulike versjoner av Linuxkjernen]] Flere nåværende og tidligere varianter av Linuxkjernen sørger for tilleggsfunksjonalitet, men tilhører ikke den offisielle utviklingsgreinen. Av varianter kan nevnes [[μClinux]], [[Linux-libre]], [[Compute Node Linux]], [[Cooperative Linux]], [[Longene]], [[grsecurity]], [[INK (operativsystemkjerne)|INK]], [[L4Linux|L<sup>4</sup>Linux]], [[MkLinux]], [[RTLinux]] og [[User-mode Linux]]. Noen varianter har etterhvert blitt slått sammen med den offisielle utviklingsgreinen.<ref>{{cite web |url = https://linuxplumbersconf.org/ocw/proposals/49 |title = The state of preempt-rt |accessdate = 14. juni 2016 |website = linuxplumbersconf.org |url-status = død |archiveurl = https://web.archive.org/web/20161015044835/https://linuxplumbersconf.org/ocw/proposals/49 |archivedate = 2016-10-15 |tittel = Arkivert kopi |besøksdato = 2016-06-14 |arkivurl = https://web.archive.org/web/20170108064417/https://linuxplumbersconf.org/ocw/proposals/49 |arkivdato = 2017-01-08 |url-status = død }} {{Kilde www |url=https://linuxplumbersconf.org/ocw/proposals/49 |tittel=Arkivert kopi |besøksdato=2017-07-04 |arkiv-dato=2016-10-15 |arkiv-url=https://web.archive.org/web/20161015044835/https://linuxplumbersconf.org/ocw/proposals/49 |url-status=unfit }}</ref> μClinux var en [[fork]] av Linuxkjernen for [[mikrokontroller]]e i [[innebygd system|innebygde systemer]] uten en [[minnehåndterer]].<ref>{{cite web|url=http://www.uclinux.org/description/|title=uClinux Description|accessdate=2007-12-31|author=D. Jeff Dionne|author2=Michael Durrant|url-status=dead|archiveurl=https://web.archive.org/web/20071225125038/http://www.uclinux.org/description/|archivedate=2007-12-25|tittel=Arkivert kopi|besøksdato=2007-12-31|arkivurl=https://web.archive.org/web/20071225125038/http://www.uclinux.org/description/|arkivdato=2007-12-25|url-status=død}} {{Kilde www |url=http://www.uclinux.org/description/ |tittel=Arkivert kopi |besøksdato=2017-07-04 |arkiv-dato=2007-12-25 |arkiv-url=https://web.archive.org/web/20071225125038/http://www.uclinux.org/description/ |url-status=yes }}</ref> μClinux ble skapt som en fork av versjon 2.0.33 av Linuxkjernen, og ble gjenforent med hovedversjonen av Linuxkjernen i versjon 2.5.46. Linux-libre er en kjerne uten binary blobs. Compute Node Linux (CNL) er en avart av Linuxkjernen som kjører på [[superdatamaskin]]er fra [[Cray Inc.]] Den er basert på [[SUSE Linux Enterprise Server]].<ref name="wallace-2007a">{{cite web|last1=Wallace|first1=David|title=Compute Node Linux: Overview, Progress to Date & Roadmap|date=2007-05-04|url=http://www.ece.uc.edu/~paw/classes/ece975/sp2010/papers/wallace-07.pdf|accessdate=2015-02-16|archive-date=2015-02-16|archive-url=https://web.archive.org/web/20150216062717/http://www.ece.uc.edu/~paw/classes/ece975/sp2010/papers/wallace-07.pdf|url-status=yes}}</ref><ref name="wallace-2007b">{{cite web|last1=Wallace|first1=David|title=Compute Node Linux: New Frontiers in Compute Node Operating System|url=https://cug.org/5-publications/proceedings_attendee_lists/2007CD/S07_Proceedings/pages/Authors/Wallace-12B/Wallace-12B_paper.pdf|website=Cray User Group|accessdate=2015-02-16}}</ref> CNL er en del av [[UNICOS|Cray Linux Environment]]. I november 2016 ble CNL kjørt på verdens tredje raskeste superdatamaskin. Cooperative Linux er en tidligere distribusjon som var basert på [[Slackware]] og som kunne kjøres i parallell med Microsoft Windows på samme datamaskin. Longene er en variant som har som formål å være binærkompatibel med applikasjonsprogramvare og utstyrsdrivere som er laget for både Microsoft Windows og Linux.<ref>[http://www.longene.org/en/index.php Longene web site] {{Wayback|url=http://www.longene.org/en/index.php |date=20090225090005 }}</ref> Grsecurity er en variant som ivektlegger forbedringer på [[datasikkerhet]],<ref>{{cite web|url=https://grsecurity.net/features.php|title=Grsecurity Features|last=|first=|date=|website=|archive-url=|archive-date=|access-date=}}</ref> deriblant på [[webtjener]]e med nettverkstilgang til usikre steder. INK<ref name=EuroPar2006 /> er konstruert for å kjøre på superdatamaskinen [[Blue Gene]] fra IBM.<ref name=EuroPar2004>''Euro-Par 2004 Parallel Processing: 10th International Euro-Par Conference'' 2004, by Marco Danelutto, Marco Vanneschi and Domenico Laforenza {{ISBN|3-540-22924-8}} pages 835</ref><ref name=EuroPar2006 >''Euro-Par 2006 Parallel Processing: 12th International Euro-Par Conference'', 2006, by Wolfgang E. Nagel, Wolfgang V. Walter and Wolfgang Lehner {{ISBN|3-540-37783-2}} page</ref> L<sup>4</sup>Linux er en variant av Linuxkjernen som kan kjøre [[virtualisering|virtualisert]] på [[L4 mikrokjernefamilien]]. MkLinux («mikrokjerne Linux») er en tidligere Linuxdistribusjon som ble startet av [[Open Software Foundation]] Research Institute<ref name="LinuxonOSFMach3">{{cite web|title=Linux on the OSF Mach3 microkernel |url=http://bat8.inria.fr/~lang/hotlist/free/licence/fsf96/mklinux.html |archiveurl=https://web.archive.org/web/20120211081545/http://bat8.inria.fr/~lang/hotlist/free/licence/fsf96/mklinux.html |url-status=live |archivedate=2012-02-11 |accessdate=4. april 2013 |first1=François |last1=Barbou des Places |first2=Nick |last2=Stephen |first3=Franklin D. |last3=Reynolds |publisher=OSF Research Institute |location=Grenoble and Cambridge |date=12. januar 1996 }}</ref> og [[Apple Computer]].<ref name="LinuxonOSFMach3" /><ref name="AppleKernelProgrammingGuide">{{cite web | title=Kernel Programming Guide: Mach API Reference | url=http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/About/About.html#//apple_ref/doc/uid/TP30000905-CH204-CHDHDDGC | publisher=Apple, Inc | accessdate=4. april 2013 }}</ref> MkLinux var beregnet på [[Macintosh]] med PowerPC mikroprosessorer. RTLinux («real time Linux») er en mikrokjerne for [[sanntidsoperativsystem]]er som kjører Linux som en prosess med [[Forkjøpsrett (informatikk)|forkjøpsrett]]. [[Sanntidssystem]]et gjør det mulig å kontrollere [[robot]]er, datainnsamling, produksjonsystemer og andre tidssensitive instrumenter og maskiner. User-mode Linux (UML) er en variant av Linuxkjernen som gjør det mulig for flere virtuelle Linuxbaserte operativsystemer (kjent som «gjester») å kjøre som en applikasjon innenfor et Linuxsystem («vert»).
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Denne siden er medlem av 5 skjulte kategorier:
Kategori:Artikkelnavn som lett kan forveksles med andre artikkelnavn
Kategori:Artikler med offisielle lenker og uten kobling til Wikidata
Kategori:Artikler med seksjoner som behøver utvidelse
Kategori:Artikler uten offisielle lenker fra Wikidata
Kategori:CS1-vedlikehold: Uheldig URL
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon