Linuxkjernen

Fra Wikipedia, den frie encyklopedi
(Omdirigert fra Linux (kjerne))
Hopp til: navigasjon, søk
Denne artikkelen omhandler Linuxkjernen. For operativsystemet, se GNU/Linux.
Linuxkjernen
Linuxkjernen
Linuxkjernen
Oppstart av Linux-kjernen 2.6.25.17
Skaper Linus Torvalds
Utgitt 17. september 1991 (utviklingsversjon)
14. mars 1994 (stabil versjon)[1]
Nyeste versjon 4.7.2 (20. august 2016; 4 dager siden (2016-08-20)[2])
Nyeste beta-versjon 4.8 rc3 (21. august 2016; 3 dager siden (2016-08-21))
Plattform Mange arkitekturer
Skrevet i C og AT&T assembler
Skrivebordsmiljø Ingen. Kommandobasert operativmiljø
OS-familie Unix-liknende
Type Tidsdelte operativsystemer
Kjerne Monolittisk kjerne
Lisens GNU General Public License versjon 2
Nettsted www.kernel.org

Linuxkjernen er en fri og åpen Unix-liknende operativsystemkjerne som benyttes verden over i operativsystemet Linux.[3] Den anvendes både i tradisjonelle datasystemer som personlige datamaskiner og tjenere,[4] vanligvis i form av Linuxdistribusjoner,[5] og i ulike innebygde systemer som rutere, trådløse basestasjoner, hustelefonsentraler, TV-mottakere, smart-TV'er,[6] digitale videopptakere[7] og nettverkstilsluttete datalagre. Operativsystemet Android for nettbrett, smarttelefoner og smartur er bygd opp rundt en modifisert Linuxkjerne.

Linuxkjernen ble skapt av finnen Linus Torvalds (1969–),[8] som lanserte første utviklingsversjon den 17. september 1991.[9] Første stabile versjon ble lansert 14. mars 1994.[1] I dag vedlikeholdes og videreutvikles den av et nettverk med brukere, hvor det blant annet inngår multinasjonale selskaper som Intel,[10] Red Hat,[10] IBM,[10] Hewlett-Packard,[9] Novell,[11][10] Oracle[10], Nokia,[10] Google,[12] Advanced Micro Devices,[12] Fujitsu[12] og Samsung.[12] Totalt har nesten 12 000 programmerere fra omkring 1 200 selskaper bidratt til kjernens utvikling.[13][14] Gruppen «amatører» stod i 2007 fortsatt for 3,9% av endringene.[15] Utviklingsdiskusjoner foregår daglig på Linuxkjernens e-postliste.[11] Siste versjon er 4.7.0 som ble lansert 24. juli 2016.

Linuxkjernen er en monolittisk kjerne, og var i starten avhengig av mikrokjernen Minix under oppstart. Kjernen er skrevet nesten utelukkende i programmeringsspråket C (med noen GNU C syntaksutvidelser) og AT&T assembler. Første utviklingsversjon bestod av 8 413 linjer med C-kode.

Linuxkjernen ble opprinnelig utviklet for Intels 32-biter mikroprosessor 80386, men etter hvert har den blitt portert til mange andre plattformer: x86-64, Motorola 68000, SPARC, PowerPC, IBM POWER, MIPS, PA-RISC, DEC Alpha, SuperH, IBM System z9, Intel Itanium, ARM, m.fl. Støtten for grafikkprosessorer er fortsatt mangelfull.

Etterhvert har den også blitt utvidet med kooperativ og deretter preemptive fleroppgavekjøring, symmetrisk flerprosessering, multitråder, delte biblioteker, virtuell hukommelse og demand paging, dynamisk lastbare moduler, støtte for et tyvetalls ulike filsystemer, avansert støtte for datanett og kommunikasjon med nettverksoperativsystemer (deriblant Network File System (NFS), Netware, m.m.), internett, støtte for ulike busser for periferienheter etter hvert som disse har utviklet seg (ISA, EISA, MCA, VESA, I2O, AGP, PCI, PCI-X, PCI Express, USB, FireWire) og utstyrsdrivere for ulike former for periferiutstyr. Som resultat har Linuxkjernen vokst til å omfatte 21 712 846 linjer med C-kode i versjon 4.7.0.

Linuxkjernen er utviklet under GNU General Public License versjon 2, og kildekoden er derfor fri programvare.

Arkitektur[rediger | rediger kilde]

Monolittisk kjerne[rediger | rediger kilde]

Utdypende artikler: Monolittisk kjerne og Mikrokjerne

Linuxkjernen er en monolittisk kjerne. Dette betyr at hele operativsystemet kjører i operativsystemkjernen. Et alternativ til monolittiske kjerner er mikrokjerner, hvor det absolutt minste antall tjenester opererer innenfor kjernen, og hvor andre tjenester bygges i lag på lag omkring den. Operativsystemet Unix og de fleste av dets derivater benytter monolittiske kjerner, som er den tradisjonelle arkitekturen. Mikrokjerner oppstod i 1980-årene som en reaksjon på flere utfordringer som tradisjonelle kjerner hadde i den teknologiske utvikling. Stadige forandringer i informatikkens verden gjorde at man stadig måtte utvikle nye utstyrsdrivere, nettverksprotokoller, filsystemer og andre deler av operativsystemene. Spesielt i distribuerte operativsystemer var dette et problem, for datanett kunne bestå av ulike datamaskinarkitekturer, med sine egne utstyrsdrivere og andre egenarter. Og hver enkelt av disse kunne gjennomgå sin egen særegne utvikling.

Løsningen på disse problemene var modulær programmering, og i mikrokjerner er drivere, nettverksprotokoller, filsystemer og flere ting fjernet fra kjernen. De er blitt isolerte i moduler utenfor kjernen, hvor de er lettere å håndtere og modifisere.

Forløperen til Linuxkjernen var MINIX, og i begynnelsen var Linuxkjernen avhengig av MINIX under oppstart. MINIX er basert på en mikrokjerne, og første versjon ble lansert i 1987. MINIX ble opprinnelig utviklet av Andrew S. Tanenbaum ved Vrije Universiteit i Amsterdam. Den 29. januar 1992 startet Tanenbaum en debatt på Usenets diskusjonsgruppe comp.os.minix, hvor han hevdet at mikrokjerner var overlegen i forhold til monolittiske kjerner, og at Linuxkjernen allerede i 1992 – før lanseringen av første stabile versjon, var foreldet. Debatten startet høflig og saklig, men utviklet seg etterhvert til en «flame war». Emnet ble tatt opp igjen den 9. mai 2006, og den 12. mai 2006 forklarte Tanenbaum på nytt sin holdning til monolittiske kjerner.

En annen mikrokjerne er verd å nevne, fordi den er en del av GNU Prosjektet. Og det er GNU Mach, som er kjernen i GNU Hurd, og som har sin forløper i mikrokjernen Mach fra Carnegie Mellon University. Linuxkjernen er ikke en del av GNU Prosjektet, men er blitt utviklet ved hjelp av GNU C og andre utviklingsverktøy fra GNU. Linuxkjernen er også lisensiert under GNU General Public License. Selv om Debian offisielt er en Linuxdistribusjon, finnes det også en spesiell Debian-utgave med navnet hurd-i386. Denne benytter GNU Hurd som operativsystemkjerne.

Beskyttelsesringer[rediger | rediger kilde]

Moderne mikroprosessorer har beskyttelsesringer, som beskytter data og funksjonalitet fra feil.


Linux skiller mellom brukermodus og supervisory mode. Programmer i brukermodus har ikke lov til å utføre disse maskinvarerelaterte kommandoene direkte. De må sende et systemkall til supervisory mode, hvor en betrodd del av Linux utfører funksjonen. Denne betrodde delen av Linux er Linuxkjernen. Vi sier at Linuxkjernen kjører i ring 0, mens de øvrige prosesser kjører i ring 3.

Linux var i starten avhengig av mikrokjernen Minix under oppstart. Kjernen er skrevet nesten utelukkende i programmeringsspråket C (med noen GNU C syntaksutvidelser) og AT&T assembler.

Historie[rediger | rediger kilde]

Linux

Minix[rediger | rediger kilde]

Forløperen til Linux-kjernen var Minix. Da Unix var et ungt operativsystem, var kildekoden åpent tilgjengelig. Frem til UNIX versjon 6 ble kildekoden distribuert på universiteter, og John Lions ved University of New South Wales publiserte endog en beskrivelse av hver eneste linje i kildekoden.

AT&T oppdaget etter hvert operativsystemets potensial som et kommersielt produkt. Ved lanseringen av UNIX versjon 7 var kildekoden blitt en forretningshemmelighet som var ulovlig å studere på universiteter.

I denne situasjonen ble Minix utviklet av Andrew S. Tanenbaum ved Vrije Universiteit i Amsterdam. I 1987 publiserte han hele kildekoden med sine 12,649 linjer i en lærebok om operativsystemer.[16]

Linux tar form[rediger | rediger kilde]

Blant brukerne av Minix var Linus Torvalds. Minix 1.0 var blitt utviklet for å kjøre på Intels 16-bit mikroposessorer. Minix 1.5, som ble lansert i 1991, ble portert til Motorola 68000 og SPARC. Linus savnet et system for Intels nye 32-bit mikroprosessorer 80386 og 80486, og begynte arbeidet med å lage et nytt operativsystem for denne nye familien av mikroprosessorer.

Prosjektet startet den 26. august 1991 med en posting av Linus på Usenet-gruppen comp.os.minix:

Sitat Jeg lager et (fritt) operativsystem (bare en hobby, vil ikke bli stort og profesjonelt som gnu) for 386(486) AT-kloner... Dette har vært i anmarsj siden april, og begynner å bli ferdig. ... Jeg har for øyeblikket portert bash(1.08) og gcc(1.40). ... Det er uten noen minix-kode, og har et filsystem med multitråder.[17] Sitat

GNU-prosjektet hadde allerede skapt mange nødvendige komponenter i et fritt operativsystem. Operativsystem-kjernen GNU Hurd var likevel ennå ikke ferdig utviklet, og BSD-operativsystemene hadde ikke frigjort seg fra juridiske problemstillinger, slik at de kunne distribueres som fri programvare.

AT&T's bruk av patenter som et kommersielt middel, mot konkurrenter såvel som universiteter, tvang frem et fritt alternativ. Linus hadde ikke noe avansert operativsystem i tankene. Ei heller var det ment for alment bruk. Han ante ikke at prosjektet raskt skulle samle utviklere og brukere, der Minix-hackere tidlig bidro med kode og idéer til Linux-kjernen. Ei heller kunne han ane at kjernen etterhvert fikk hjelp av flere tusen programvare-utviklere.

Definisjonen av prosjektet som «ikke profesjonelt» skyldes at Tanenbaum konstruerte Minix etter prinsippene om en mikrokjerne i det distribuerte operativsystemet Mach. Mach representerte avansert nytenkning på denne tiden i universitetsmiljøer.

Linux mangler mikrokjerne. Det både var (og er) «monolittisk» liksom den opprinnelige UNIX. Linus benyttet heller ikke segmentert swapping etter modell fra Multics, fordi dette lettere gir et fragmentert minne enn sideveksling. Istedet valgte Linus samme minne-modell som IBM gjorde i OS/2 3.x:

Sitat Det er for det meste skrevet i [programmeringsspråket] C. ... Det utnytter enhver tenkelig egenskap ved 386 som jeg kunne finne, ettersom dette også var et prosjekt for å lære meg selv om 386-[prosessoren]. Som allerede nevnt, benytter det en MMU for både sideveksling (ennå ikke til disk) og segmentering. Det er segmenteringen som VIRKELIG gjør det 386-avhengig (enhver oppgave har et 64Mb segment for kode & data &ndash: maksimum 64 oppgaver i 4Gb) .... Fragmentering er et onde ...Jeg vil muligens gjøre det slik at [minne]-grensene enkelt kan forandres (til 32 Mb/128 oppgaver for eksempel) gjennom bare en [lettvint] rekompilering av kjernen.[17] Sitat

Første versjon ble lansert den 17. september 1991 med versjonsnummeret 0.01. Datoen kan regnes som Linux-kjernens «fødselsdato», selv om den formelt ennå var uferdig. Kjernen hadde da 8.413 linjer med kode, og det ble solgt 90 datamaskiner som var bygd og sentrert omkring den nye operativsystem-kjernen.

Versjon 0.02 ble lansert den 5. oktober 1991.[18] Tredje versjon (desember 1991) hadde versjonsnummeret 0.11, og kunne rekompileres uavhengig av Minix. Ved lanseringen av verjon 0.12 i februar 1992, erstattet Linus sin egen lisens (som ikke tillot kommersiell distribuering) med GNU-lisensen for fri programvare.[19]

Den første postingen på Usenets diskusjonsgruppe alt.os.linux kom den 19. januar 1992.[20] Den 31. mars 1992 ble den omdøpt til comp.os.linux.[21]

Versjon 0.95 (7. mars 1992) kunne kjøre XFree86, som var en fri klone av vindussystemet X. Hoppet i nummereringen fra 0.12 til 0.95, skyldtes troen på at versjon 1.0 var umiddelbart forestående. Dette var en overoptimistisk antagelse: Versjon 0.95 ble etterfulgt av 0.95a, 0.96a (med fire revisjoner), 0.96b (med to revisjoner), 0.96c (med to revisjoner), 0.97 og 0.99. Fra 1993 til 1994 ble det lansert 15 oppdaterte versjoner av 0.99.

Den 13. mars 1994 ble Linux 1.0 endelig lansert. Et fritt operativsystem for Intel 80386 var en realitet, og er fødselsdatoen til den første stabile Linux-kjernen.

Versjon 1.2[rediger | rediger kilde]

Versjon 1.1 var en utviklingsversjon som kulminerte i lanseringen av den stabile versjon 1.2 den 7. mars 1995. En mer modulær oppbygning av kildekoden gjorde det enklere å portere Linux-kjernen til andre datamaskin-arkitekturer enn Intel 80386.

En variant av Linux-kjernen (versjonene 1.2 og 2.0) for Motorola 68000-serien, kalt Linux/mk68, ble utviklet uavhengig av det offisielle Linux-kjerne prosjektet. Debian's Linux-distribusjon Debian/mk68k benyttet denne porteringen av versjon 2.0.[22]

Versjon 2.0[rediger | rediger kilde]

Versjon 2.0 ble lansert den 9. juni 1996, etter å ha blitt utviklet gjennom utviklingsversjonen 1.3. Denne nye stabile versjonen ble utviklet ved hjelp av GNU C-kompilatoren versjon 2.7.2 og binutils 2.6.0.14.

Versjon 2.0 hadde bedre støtte for nettverk, med protokollene PPP, SLIP, CSLIP og PLIP, såvel som DDP (Appletalk), samt flere utstyrsdrivere. Den støttet også symmetrisk flerprosessering, der opptil 16 mikroprosessorer kunne kjøre i parallell i en og samme datamaskin. Den var enda mer modulært oppbygd enn versjon 1.2, og hadde dynamisk opplastbare moduler hvor blant annet aksess-lister ble implementert.

Versjon 2.0 var også den første operativsystem-kjernen med innebygd støtte for Java.

Versjon 2.2[rediger | rediger kilde]

Versjon 2.2, den stabile utgaven av utviklingsversjonen 2.1, ble lansert den 25. januar 1999.[23] Den ble portert til Motorola 68000, PowerPC, såvel som til 64-bit mikroprosessorene SPARC64 og DEC Alpha. Den støttet også optimaliseringer for x86-kloner fra AMD og Cyrix Corporation. Versjon 2.2 innførte også støtte for Micro Channel architecture, «Plug & Play» for PCI-kort, støtte for CD-ROM, DVD, Iomega zip-drives, irDA, digital penn, og utvidet støtte for de fleste typer av Joystick. Koden for håndtering av lyd, lydkort og periferiutstyr for lyd (høytalere, etc.), var gjort mer modulær og enklere å oppdatere. Støtten for video var kraftig forbedret, med støtte for et voksende antall kort for TV (Video4Linux), radio og digitale kameraer. Det samme gjaldt støtten for amatør-radioer ved å tilføye støtte for protokollene NetROM og ROSE, og forbedringer i AX.25-laget.

Versjon 2.2 innførte støtte for internett-protokollen IPv6, med SPX og IPX.

Det «utvidede filsystemet» (ext) i de tidligere utgavene av Linux-kjernen, ble erstattet med ext2.

I nettverk ble det mulig å lese innholdet på datamaskiner med andre operativsystemer, og deres filsystemer: NTFS (Windows NT), FAT (MS-DOS), Virtual FAT og FAT32 (Windows 95 og Windows 98), Microsoft Joliet system (med lange filnavn på CD-ROM), HFS (Apple Macintosh), FFS (Amiga), UFS (BSD), SysVFS, Minix, Acorn RiscOS, FreeBSD, SunOS, og Solaris. I nettverk ble også støtten for NetWare forbedret.

To andre viktige nyheter i versjon 2.2, var støtte for Unicode og en gryende tilpasning til Unix98 standarden.

Versjon 2.4[rediger | rediger kilde]

Versjon 2.4, den stabile utgaven av utviklingsversjonen 2.3, ble lansert den 4. januar 2001. I heterogene nettverk ble støtten til andre operativsystemers filformater utvidet til å omfatte OS/2, Efs (Irix) og NextStep. Linux-kjernen støttet for første gang Sun NFS 3.0.[24] Versjon 2.2 av Linux-kjernen var den første operativsystem-kjernen som var fullstendig kompatibel med IPv4-spesifikasjonen. Versjon 2.4 gjorde implementasjonen enda mer skalerbar. I nettverkslaget ble det også tilføyd støtte for DECNet, og innenfor OSI-modellens datalink-lag ble de to lagene for PPP og ISDN i versjon 2.2 slått sammen til ét lag.

Versjon 2.2 satte en grense på 1024 samtidig kjørende prosesser eller tråder. I versjon 2.4 var grensen skalerbar under kjøring, slik at det eneste som begrenser antall prosesser var datamaskinens mengde med RAM.

Versjon 2.4 tilføyde støtte for USB, PCMCIA, PCI-utvidelsen I2O og ISA Plug and Play. IDE-kontrollere støttet maksimalt 4 lagringsenheter i en datamaskin, det være seg harddisker, CD-ROM eller DVD. Versjon 2.2 utvidet grensen til 4 kontrollere og 10 IDE-enheter. I versjon 2.4 ble dette utvidet til 10 kontrollere og 20 enheter. Versjon 2.4 kunne også kjøres i innebygde systemer.

En generisk program-laster gjorde det mulig å kjøre DOS- og Windows-programmer direkte fra kjernen gjennom emulatorer som WINE og Dosemu. Versjon 2.4 var også mer kompatibel med POSIX, og mer avhengig av formatet ELF enn versjon 2.2, selv om versjon 2.2 var den første Linux-kjernen som bare kunne kompileres som ELF.

Versjonshistorikk[rediger | rediger kilde]

Tidslinje[rediger | rediger kilde]

Versjonene før 2.6[rediger kilde]

Versjon Underversjon Lansert Antall linjer i
kildekoden
Størrelse i Kb Datamaskiner1 Merknader
0.x 0.01 17. september 1991 8 413 230 88 Første utviklingsversjon. Ble bootet på Intel 80386 med Minix, finsk
tastatur og kommandotolken bash.
0.02 5. oktober 1991 10 239
1.0 1.0.0 13. mars 1994 170 581 1 259 563 Første stabile versjon.
1.0.1 16. mars 1994
1.0.2 18. mars 1994
1.0.3 21. mars 1994
1.0.4 22. mars 1994
1.0.5 28. mars 1994
1.0.6 3. april 1994
1.0.7 6. april 1994
1.0.8 7. april 1994
1.0.9 16. april 1994 1 256 Siste underversjon
1.1 1.1.0 6. april 1994 170 320 1 256 561 Utviklingsversjoner
1.1.95 2. mars 1995 2 301
1.2 1.2.0 7. mars 1995 294 623 2 301 909 Portabel til flere arkitekturer. Lansert for Motorola 68000,
Alpha, MIPS og SPARC
1.2.1 17. mars 1995
1.2.2 27. mars 1995
1.2.3 2. april 1995
1.2.4 6. april 1995
1.2.5 12. april 1995
1.2.6 23. april 1995
1.2.7 29. april 1995
1.2.8 3. mai 1995
1.2.9 1. juni 1995
1.2.10 12. juni 1995
1.2.11 26. juni 1995
1.2.12 25. juli 1995
1.2.13 2. august 1995 2 355
1.3 1.3.0 12. juni 1995 323 581 2 558 992 Utviklingsversjoner
1.3.100 10. mai 1996   5 615
2.0 2.0.0 9. juni 1996 716 119 5 844 2 015 Symmetrisk multiprosessering, aksesslister i dynamisk
opplastbare moduler, Java, flere nettverksprotokoller.
2.0.1 3. juli 1996
2.0.2 5. juli 1996
2.0.40 8. februar 2004   7 551
2.1 2.1.0 30. september 1996 735 736 6 033 1 727 Utviklingsversjoner
2.2.0-pre9 21. januar 1999   13 077
2.2 2.2.0 25. januar 1999 1 676 182 13 080 4 599 Porteringer til 64-bit RISC: Power, DEC Alpha, PA-RISC,
SPARC64, UltraSPARC. Støtte for internettprotokollen IP v.6
og det nye filsystemet ext 2.
2.2.26 25. februar 2004   19 530
2.3 2.3.0 11. mai 1999 1 763 358 13 804 4 721 Utviklingsversjoner
2.3.0-pre9 23. mai 2000   20 882
2.4 2.4.0 4. januar 2001 3 158 560 24 379 8 187 Utvidet støtte for teknologier for periferienheter: ACPI, USB, etc.,
utvidet støtte for nettverk, skalerbar grense for antall multitråder
som flyttes ved utvidelse av RAM
2.4.37 2. desember 2008   38 735
2.4.37.11 18. desember 2010     Siste underversjon

Versjon 2.6[rediger | rediger kilde]

Versjon Underversjon Lansert Antall linjer i
kildekoden
Størrelse i Kb Datamaskiner1 Merknader
2.5 2.5.0 23. november 2001 3 833 603 29 405 9 893 Utviklingsversjoner
2.5.75 10. juli 2003   40 969
2.6 2.6.0 18. desember 2003 5 475 685 41 614 15 007
2.6.11 2. mars 2005     Nytt undernivå i versjonsnummerering (2.6.x.x).
2.6.11.12 12. juni 2005    
2.6.12 17. juni 2005    
2.6.12.6 29. august 2005    
2.6.13 29. august 2005    
2.6.13.5 15. desember 2005    
2.6.14 28. oktober 2005    
2.6.14.7 31. januar 2006    
2.6.15 3. januar 2006    
2.6.15.7 28. mars 2006    
2.6.16 20. mars 2006    
2.6.16.62 21. juli 2008    
2.6.17 18. juni 2006    
2.6.17.14 13. oktober 2006    
2.6.18 20. september 2006    
2.6.18.8 23. februar 2007    
2.6.19 29. november 2006    
2.6.19.7 3. mars 2007    
2.6.20 4. februar 2007 8 102 486 54 548 21 280
2.6.20.21 17. oktober 2007    
2.6.21 26. april 2007 8 246 470 55 329 21 614
2.6.21.7 4. august 2007    
2.6.22 8. juli 2007 8 499 363 56 914 22 411
2.6.22.19 26. februar 2008    
2.6.23 9. oktober 2007 8 566 554 57 404 22 530
2.6.23.17 26. februar 2008    
2.6.24 24. januar 2008 8 859 629 59 079 23 062
2.6.24.7 7. mai 2008    
2.6.25 17. april 2008 9 232 484 61 518 23 810
2.6.25.20 10. november 2008    
2.6.26 13. juli 2008 9 411 724 62 550 24 270
2.6.26.8 10. november 2008    
2.6.27 9. oktober 2008 9 709 868 63 721 24 354 Støtte for ny maskinvare, deriblant Serial Attached SCSI
2.6.27.62 17. mars 2012    
2.6.28 24. desember 2008 10 195 507 66 766 25 255
2.6.28.10 2. mai 2009    
2.6.29 23. mars 2009 11 010 647 71 977 26 668
2.6.29.6 2. juli 2009    
2.6.30 10. juni 2009 11 637 173 75 768 27 879 Støtte for USB 3.0
2.6.30.10 4. desember 2009    
2.6.31 9. september 2009 12 046 317 78 279 29 111
2.6.31.14 5. juli 2010    
2.6.32 3. desember 2009 12 610 030 81 901 30 485
2.6.32.65 13. desember 2014    
2.6.33 24. februar 2010 12 990 041 84 533 31 565
2.6.33.20 7. november 2011    
2.6.34 16. mai 2010 13 320 934 86 520 32 297
2.6.34.15 11. februar 2014    
2.6.35 1. august 2010      
2.6.35.14 1. august 2011    
2.6.36 20. oktober 2010      
2.6.36.4 17. februar 2011    
2.6.37 5. januar 2011      
2.6.37.6 27. mars 2011    
2.6.38 15. mars 2011      
2.6.38.8 3. juni 2011    
2.6.39 19. mai 2011      
2.6.39.4 3. august 2011    

Versjon 2.6–[rediger | rediger kilde]

Versjon Underversjon Lansert Antall linjer i
kildekoden
Størrelse i Kb Datamaskiner1 Merknader
3.0 3.0 rc1 29. mai 2011     Utviklingsversjoner
3.0 rc7 11. juli 2011
3.0 22. juli 2011    
3.0.101 22. oktober 2013    
3.1 3.1 rc1 8. august 2011     Utviklingsversjoner
3.1 rc10 17. oktober 2011
3.1 24. oktober 2011     Støtte for OpenRISC
3.1.10 18. januar 2012    
3.2 3.2 rc1 8. november 2011     Utviklingsversjoner
3.2 rc7 24. desember 2011    
3.2.0 4. januar 2012      
3.2.68 6. mars 2015      
3.3 3.3 rc1 19. januar 2012     Utviklingsversjoner
3.3 rc7 10. mars 2012    
3.3.0 19. mars 2012      
3.3.8 1. juni 2012      
3.4 3.4 rc1 31. mars 2012     Utviklingsversjoner
3.4 rc7 13. mai 2012    
3.4.0 21. mai 2012      
3.4.106 2. februar 2015      
3.5 3.5 rc1 3. juni 2012     Utviklingsversjoner
3.5 rc7 14. juli 2012    
3.5.0 21. juli 2012      
3.5.7 12. oktober 2012      
3.6 3.6 rc1 2. august 2012     Utviklingsversjoner
3.6 rc4 1. september 2012    
3.6.0 1. oktober 2012      
3.6.11 17. desember 2012      
3.7 3.7.0 11. desember 2012      
3.7.10 27. februar 2013      
3.8 3.8.0 19. februar 2013      
3.8.13 11. mai 2013      
3.9 3.9.0 29. april 2013      
3.9.11 21. juli 2013      
3.10 3.10.0 30. juni 2013      
3.10.73 26. mars 2015      
3.11 3.11.0 2. september 2013      
3.11.10 29. november 2013      
3.12 3.12.0 3. november 2013      
3.12.39 19. mars 2015      

1 Antall datamaskiner solgt med find . -type f | wc -l

Referanser[rediger | rediger kilde]

  1. ^ a b Index of /pub/linux/kernel/v1.0, kernel.org, besøkt 2. august 2016
  2. ^ Linus Torvalds (10. januar 2016). «Linux 4.4». 
  3. ^ Bovet 2005, side 1
  4. ^ Bovet 2005, side 7
  5. ^ «README». Linux kernel source tree, git.kernel.org. Besøkt 1. august 2016. 
  6. ^ Linux TV, linuxtv.org, 26. mai 2016, besøkt 3. august 2016
  7. ^ PVR recording software, Kodi, 4. februar 2016
  8. ^ Richardson, Marjorie (1. november 1999). «Interview: Linus Torvalds». Linux Journal. Besøkt 2. august 2016. 
  9. ^ a b Linux, history-computer.com, 2007
  10. ^ a b c d e f Corbet 2012, side 9
  11. ^ a b Love 2015
  12. ^ a b c d Corbet 2012, side 10
  13. ^ «The Linux Foundation Releases Linux Development Report». Linux Foundation. 18. februar 2015. Besøkt 1. august 2016. 
  14. ^ Corbet 2012
  15. ^ Don Marti: Linux contributor base broadens, Computerworld, 2. juli 2007
  16. ^ Andrew S. Tanenbaum: Operating Systems: Design and Implementation, Appendix E: Minix source code listing, side 433–686, Prentice-Hall International, Inc., 1987, ISBN 0-13-637331-3
  17. ^ a b (en) Linus Benedict Thorvalds (26. august 1991). ««What would you like to see most in minix?»». comp.os.minix. Besøkt 29. oktober 2009. 
  18. ^ (en) Linus Benedict Thorvalds (5. oktober 1991). ««Free minix-like kernel sources for 386-AT»». comp.os.minix. Besøkt 29. oktober 2009. 
  19. ^ (en) Linus Benedict Thorvalds (februar 1992). ««Release notes for Linux v0.12»». www.kernel.org. Besøkt 29. oktober 2009. 
  20. ^ (en) David D. Summers (19. januar 1992). ««Troubles with partions»». Besøkt 29. oktober 2009. 
  21. ^ (en) Allan B. Clegg (31. mars 1992). ««It's here!»». Besøkt 29. oktober 2009. 
  22. ^ (en) Chris Lawrence (1. mai 1997). «Linux/m68k: Linux on Motorola's 68000 Processor». Linux Journal. Besøkt 29. oktober 2009. 
  23. ^ (en) Joseph Pranevich (26. januar 1999). «The Wonderful World of Linux 2.2 -- 'revised millennium penguin' version». Linux Today. Besøkt 29. oktober 2009. 
  24. ^ (en) Joseph Pranevich (14. september 1999). «Wonderful World of Linux 2.4 (Quite Nearly There Edition)». Linux Today. Besøkt 29. oktober 2009. 

Eksterne lenker[rediger | rediger kilde]

Litteratur[rediger | rediger kilde]

  • Bovet, Daniel P.; Cesati, Marco (2005). Understanding the Linux Kernel. O'Reilly Media, 1. utgave, november 2000, 2. utgave, desember 2002; 3. utgave, november 2005. ISBN 978-0596005658. ISBN 05-960056-5-2. 
  • Corbet, Jonathan; Kroah-Hartman, Greg; McPherson, Amanda (2012). Linux Kernel Development. How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It. Linux Foundation, mars 2012. 
  • Love, Robert (2015). Linux Kernel Development. Novell Press, 12. januar 2015. ISBN 978-0-672-32720-9. ISBN 0-672-32720-1. 
  • Negus, Christopher (2015). Linux Bible. Wiley, 9. utgave, 27. april 2015. ISBN 978-1118999875. ISBN 11-189998-7-8.