cyanic-selkie/wikianc huggingface dataset:
Linuxkjernen
Portabilitet
Linuxkjernen ble opprinnelig ikke konstruert som en portabel operativsystemkjerne. Den ble laget for 32-biter mikroprosessoren Intel 80386, som på denne tiden hadde vokst i popularitet. Støtten for Intel 80386 forsvant i versjon 3.8 av Linuxkjernen den 28. februar 2013. Den første portering ble gjort til Motorola 68000 av brukere av Amiga, men for å gjøre dette måtte store deler av Linuxkjernen omskrives. Linus Torvalds kalte dette for en fork og for et «Linuxlignende operativsystem». Med denne erfaringen i minne, ledet Torvalds en restrukturering av Linuxkjernen for å oppnå en portering til 64-biter RISC-arkitekturen DEC Alpha, slik at både 80386 og DEC Alpha kunne støttes i et enkelt tre i kildekoden. Idag er Linuxkjernen en av de mest porterte operativsystemkjerner i verden. Den har blitt portert til de fleste datamaskinarkitekturer, deriblant x86-64, SPARC, DEC Alpha, Blackfin, PowerPC, IBM POWER, MIPS, PA-RISC, SuperH, IBM System z9/z10/zEnterprise System, Intel Itanium, ARM og RISC-V.
Linux kjører som det primære operativsystem på Sunway TaihuLight, Tianhe-2, Titan-Cray XK7, IBMs Blue Gene og andre superdatamaskiner. I november 2016 ble Linuxkjernen kjørt på 498 av verdens 500 kraftigste superdatamaskiner, rangert på listen TOP500 (de to andre benyttet AIX og IBM POWER7). I november 2017 var dette tallet økt til 500.
Diverse operativsystemer for nettbrett, lesebrett, smarttelefoner og smartur benytter modifiserte Linuxkjerner. Eksempler på slike enheter er iPod og iPhone fra Apple Computer, med iPodLinux og iPhone Linux (iOS fra Apple er derimot basert på Mac OS X). Andre eksempler er Android, WebOS, Tizen, Sailfish OS, Openmoko Linux og Ångström, så vel som de tidligere operativsystemene Familiar Linux, Firefox OS, H5OS, Maemo, MeeGo, Moblin, OpenZaurus og Symbian. I 2013 ble Android det mest utbredte operativsystemet i verden.
Periferiutstyr og databusser
I årenes løp har Linuxkjernen støttet ulike busser for periferienheter etter hvert som disse har utviklet seg:
Sikkerhet
Linuxkjernens datasikkerhet har vært diskutert, fordi programvarefeil presenterer en potensiell sikkerhetsrisiko. Dette kan muliggjøre privilegie-eskalering og skape tjenestenektangrep. I løpet av årene er flere programvarefeil blitt oppdaget og rettet i Linuxkjernen. Nye egenskaper blir ofte implementert for å forbedre Linuxkjernens sikkerhet.
Kritikere har anklaget Linuxkjernens utviklere for å dekke over sikkerhetshull eller for å ikke informere om dem; i juli 2008 reagerte Linus Torvalds på kritikken med følgende uttalelse:
Linuxdistribusjoner lanserer ofte sikkerhetsoppdateringer til Linuxkjernen. Noen av dem (deriblant Debian, Ubuntu, Red Hat Enterprise Linux og SUSE Linux) tilbyr egne versjoner med langtidsstøtte hvor en spesiell versjon av Linuxkjernen oppdateres over en lengre periode.
Kjernepanikk og oopser
En kjernepanikk er en uopprettelig systemfeil som oppdages av Linuxkjernen, i motsetning til lignende feil som oppdages av kode i brukermodus. Kjernen indikerer en slik tilstand ved å kalle funksjonen  i filen. De fleste tilfeller av kjernepanikk skyldes uhåndterte unntak i kjernen, slik som referanser til ugyldige minneadresser. De indikerer typisk en programmeringsfeil et eller annet sted i kjeden av kall som fører til panikken. De kan også indikere en feil med maskinvaren, slik som feil i RAM eller i de aritmetiske funksjoner i mikroprosessoren som er forårsaket av en mikroprosessorfeil, en overhetet eller skadd mikroprosessor eller en myk feil.
En rapport om ikke-fatale programvarefeil i kjernen blir kalt et «oops»; slike avvik fra korrekt adferd av Linuxkjernen kan føre til fortsatt kjøring, men med redusert pålitelighet. Disse krasjrapportene blir automatisk samlet og kan sendes upstream av ulik programvare, slik som for eksempel programmet kernel oops, Automated Bug-Reporting Tool (ABRT) i distribusjonene Fedora, Red Hat Enterprise Linux, CentOS etc. og apport i distribusjonen Ubuntu. KernelOops.org samler disse rapportene og utgir statistikk på deres hjemmeside.
Kjernens panikkmeldinger kan ikke bli skrevet ut på en synlig måte, ved å ta i bruk grafikken på en stasjonær datamaskin. For å avluse slike tilstander må andre metoder benyttes, slik som å tilknytte en serieport.
Live oppdateringer av Linuxkjernen
Oppdateringer av Linuxkjernen, som kan installeres uten å omstarte datamaskinen, er tilgjengelige i form av live patcing. Programvaren Ksplice, som ble lansert 28. april 2008, sørget for dette. Den 21. juli 2011 ble denne oppkjøpt av Oracle Corporation. Den 26. februar 2014 lanserte selskapet Red Hat på sin side programmet kpatch, mens SuSE lanserte kGraft den 27. mars 2014. De utgjør et minimalistisk grunnlag for live patching. De ble integrert i Linuxkjernens versjon 4.0 den 12. april 2015, og danner essensen i kjernens ftrace-funksjonalitet. De danner en API for kjernemodulene og et binærgrensesnitt for programmer i brukermodus.
Versjon 4.0 av Linuxkjernen støtter bare x86-arkitekturen og mangler mekanismer som sikrer konsistens på funksjonsnivå mens oppdateringer pågår. Det pågår imidlertid arbeid med å integrere dette i Linuxkjernen.
MINIX file system
Dette filsystemet ble benyttet av MINIX, som var forgjengeren til Linux. Det ble introdusert i 1987 sammen med MINIX 1.0. Det støttes av Linuxkjernen, men er lite brukt av Linuxbrukere i dag.
extended file system (ext)
Dette ble utviklet for å overvinne visse begrensninger i MINIX file system, og hadde en metadatastruktur som var inspirert av Berkeley Fast File System i Berkeley Software Distribution (BSD). ext debuterte den 5. juli 1992 i versjon 0.96c av Linuxkjernen, og var den første implementasjonen som benyttet et virtuelt filsystem. Ext kunne håndtere filer på opptil 2 gigabyte i størrelse. ext ble erstattet av ext2 og xiafs. Den 14. januar 1997 ble ext fjernet fra versjon 2.1.21 av Linuxkjernen, og er ikke lenger i bruk.
Second extended file system (ext2)
ext2 eller second extended filesystem («det andre utvidede filsystem») var et POSIX-kompatibelt filsystem som ble lansert den 13. mars 1993 i versjon 0.99.7 av Linuxkjernen. ext2 var en erstatning for extended file system (ext); i begynnelsen konkurrerte det med filsystemet xiafs, men ble etter hvert ledende. Dets metadatastruktur var inspirert av det tidligere Berkeley Fast File System i Berkeley Software Distribution (BSD).
ext2 benyttes fortsatt på lagringsmedia med flashminne (slik som Secure Digital og minnepinner) fordi mangelen på en journal øker ytelsen og minimaliserer antall skrivinger (flashminne har et begrenset antall skrivesykluser). Avhengig av størrelsen på blokkene, hadde ext2 støtte for harddisker på maksimalt 2–32 tebibyte (TiB), og for datafiler med maksimal størrelsesorden på mellom 16 gibibyte (GiB) og 2 tebibyte (TiB). ext2 støttet lagring av datafiler med rett dato innenfor tidsrommet 14. desember 1901 og 18. januar 2038 i den gregorianske kalenderen.
Third extended filesystem (ext3)
ext3 eller third extended filesystem («det tredje utvidede filsystem») er et tidligere POSIX-kompatibelt og journalførende filsystem. Det var etterfølgeren til ext2, og ble en del av versjon 2.4.15 av Linuxkjernen den 23. november 2001. ext3 skilte seg fra ext2 på tre områder. Det første var innføringen av en journal, noe som økte stabiliteten og fjernet behovet for å kjøre en sjekk av filsystemet dersom datamaskinen skulle krasje. Det andre var at filsystemet kunne vokse i tilkoblet (online) tilstand. Det tredje var at HTrær ble benyttet som datastruktur for å indeksere større filkataloger. Dette økte skalerbarheten fra en praktisk grense på noen få tusen filer i ext2 til titalls millioner av filer per filkatalog.
Avhengig av størrelsen på blokkene, hadde ext3 støtte for harddisker på maksimalt 4–32 tebibyte (TiB), og for datafiler med maksimal størrelsesorden på mellom 16 gibibyte (GiB) og 2 tebibyte (TiB). ext3 støttet lagring av datafiler med rett dato innenfor tidsrommet 14. desember 1901 og 18. januar 2038 i den gregorianske kalenderen. ext3 manglet dynamisk inodeallokering og extents. Metadata hadde en fast størrelse, ble plassert på velkjente steder og datastrukturene hadde en viss redundans. Ved alvorlige datakrasj, var filene i ext2 og ext3 i større grad gjenopprettbare enn i et trebasert filsystem.
XFS
XFS er et 64-biter POSIX-kompatibelt og journalførende filsystem som ble lansert av Silicon Graphics i oktober 1993. Filsystemet var standard i operativsystemet IRIX fra versjon 5.3, som ble lansert i desember 1994. XFS er etterfølgeren til Extent File System (EFS), som var filsystemet til IRIX før versjon 5.3. I mai 2000 ble XFS lisensiert under GNU General Public License (GPL) versjon 2. Den 18. februar 2004 ble XFS innlemmet i versjon 2.4.25 av Linuxkjernen, og den 18. desember 2003 ble filsystemet innlemmet i Linuxkjernens versjon 2.6.
XFS støtter harddisker på opptil 18 exbibyte (EiB) (16 tebibyte (TiB) på 32-biter Linux) og datafiler på opptil 9 exbibyte (TiB) (16 tetibyte (TiB) på 32-biter Linux). Dette er noe mer enn ext4 og noe mindre enn btrfs.
Journaled File System (JFS)
Journaled File System (JFS) er et 64-biter journalførende filsystem som er utviklet av IBM. JFS ble lansert i februar 1990 i versjon 3.1 av UNIX-avarten AIX. I september 1994 ble det også tatt i bruk i OS/2 3.0 «Warp». Det finnes to generasjoner av filsystemet, JFS og JFS2. JFS2 ble integrert i Linuxkjernen fra versjon 2.4.18 og er fri programvare under GNU General Public License.
Veritas File System
Veritas File System (VxFS), også kalt JFS og OnlineJFS, er et extent-basert filsystem som ble utviklet av AT&Ts Unix System Laboratories, og lansert i 1991 av VERITAS Software. Det er det primære filsystem i operativsystemet HP-UX, med online støtte for defragmentering under navnet OnlineJFS. Det blir også støttes i AIX, Solaris og SCO OpenServer og ble tidligere også støttet av SINIX og UnixWare.
Dette filsystemet ble støttet fra versjon 2.6.0 av Linuxkjernen, og ble tidligere definert av. Fra versjon 2.6.29 av Linuxkjernen, som ble lansert den 23. mars 2009, har det vært definert av.
Veritas File System støtter harddisker på opptil 128 zettabyte (ZB) og filer på opptil 8 exabyte (EB).
ReiserFS
ReiserFS er et POSIX-kompatibelt journalførende filsystem som ble designet og utviklet av et team hos Namesys ledet av Hans Reiser. ReiserFS var det første journalførende filsystemet som ble støttet av Linuxkjernen; det ble integrert i Linuxkjernens versjon 2.4.1.
ReiserFS støtter harddisker på opptil 6 tetibye (TiB) og datafiler på opptil 1 exbibyte (EiB) (8 tetibyte (TiB) på 32-biter Linux). Datafiler i ext4 kan lagres med rett dato innenfor tidsrommet 14. desember 1901 og 18. januar 2038 i den gregorianske kalenderen.
Reiser4
Reiser4 er et journalførende filsystem som er utviklet av Hans Reiser og Namesys, som etterfølgeren til ReiserFS. Det ble innlemmet i versjon 3.15 av Linuxkjernen den 14. august 2014. Prosjektet har vært sponset av Defense Advanced Research Projects Agency (DARPA) og Linspire. Filsystemet blir fortsatt utviklet, men det er tvilsomt om disse endringene blir tilføyd Linuxkjernen i nær fremtid, ettersom opphavsmannen soner en fengselsdom.
ZFS og OpenZFS
ZFS (Zettabyte File System) er et kombinert filsystem og en logisk volumhåndterer som ble utviklet av Sun Microsystems for operativsystemet OpenSolaris i 2005. Det ble i utgangspunktet lisensiert under en åpen kildekodelisens, og integrert i Linuxkjernen. Oracle Corporation endret i 2010 lisensen til en proprietær lisens for operativsystemet Solaris. Grunnet lisensieringsproblemer er det ikke mulig å videreutvikle ZFS for Linuxkjernen, selv om en rekke Linuxdistribusjoner har hatt støtte for det. Eksempler er Arch Linux, Debian, Fedora, Gentoo, OpenSUSE, Red Hat Enterprise Linux, CentOS og Ubuntu.
OpenZFS oppstod som en fork av ZFS i 2010, og støttes også av Linuxkjernen. Ubuntu 16.04 LTS («Xenial Xerus»), som ble lansert den 21. april 2016, gjør det mulig å installere OpenZFS som filsystem.
ZFS innbefatter beskyttelse mot datakorrupsjon, svære lagringskapasiteter, effektiv datakompresjon, integrasjon av konsepter om volumhåndtering, snapshots, og copy-on-write kloner, kontinuerlig integritetssjekking og automatisk reparering, RAID-Z og aksesskontrollister i Network File System versjon 4 (NFSv4). Filsystemet støtter harddisker på 256 zebibytes og datafiler på 16 exibytes.
Fourth extended filesystem (ext4)
ext4, eller fourth extended filesystem («det fjerde utvidede filsystem»), er et POSIX-kompatibelt og journalførende filsystem. Det er etterfølgeren til filsystemet ext3, slik ext3 var etterfølgeren til ext2. ext4 er også bakoverkombatibelt med ext3. ext4 er inspirert av finesser som ble utviklet for filsystemet Lustre mellom 2003 og 2006, og som ga økt lagringsplass og ytelsesforbedringer. Den 21. oktober 2008 ble den endelige versjonen lansert i versjon 2.6.28 av Linuxkjernen.
I ext4 ble blokklagringen i ext2 og ext3 erstattet av extents som reduserer fragmentering og gir økt ytelse på store datafiler. En enkel extent i ext4 kan opprette inntil 128 mebibyte (MiB) med kontinuerlig diskplass innenfor en blokk på 4 kibibyte (Kib). Opptil fire extents kan lagres i en inode. Når det er mer enn fire extents i en datafil, blir resten indeksert i et tre. ext4 er hurtigere og mer stabilt enn ext3, fordi datafiler fragmenteres meget sjelden på grunn av «forsinket allokering». ext4 støtter harddisker på opptil 1 exbibyte (EiB), og datafiler på opptil 16 tebibyte (TiB). Datafiler kan lagres med rett dato innenfor tidsrommet 14. desember 1901 og 10. mai 2446 i den gregorianske kalenderen.
B-tree file system (btrfs)
Btrfs, en forkortelse for B-tree file system, uttalt butter F S, better F S, eller b-tree F S, er et copy-on-write og journalførende filsystem. Det er etterfølgeren til ext4, og løser problemer knyttet til pooling, snapshots, sjekksummer og datasystemer hvor mange forskjellige typer innmatningsutstyr er integrerte. Filsystemet er POSIX-kompatibelt. En utviklingsversjon ble integrert i versjon 2.6.29 av Linuxkjernen den 23. mars 2009. En stabil versjon ble lansert 29. mars 2013 i versjon 3.10 av Linuxkjernen.
Det støtter defragmentering (også automatisk defragmentering gjennom opsjonen autodefrag), data scrubbing, online endring av størrelsen på diskvolumer, offline filsystemsjekk (fsck), transparent datakompresjon (zlib og Lempel-Ziv-Oberhumer)  av datafiler eller logiske disker, union mount, etc.
Btrfs støtter harddisker på inntil 16 exbibyte (EiB) og filstørrelser på inntil 16 exbibyte (EiB). Dets datastruktur er et B-tre, en selvbalanserende tredatastruktur, som sorterer data og tillater søking, sekvensiell aksess, innsettelse og sletting i en logaritmisk tid.
Lisensiering
Torvalds beskrev i august 1997 lisensieringen av Linux under GPL som «den beste tingen jeg noensinne har gjort.»
GPL version 3
Linuxkjernen er eksplisitt lisensiert under versjon 2 av GPL, uten å velge «enhver senere versjon», som er vanlig. Der har vært debattert om hvor enkelt lisensen kunne utvides til senere GPL versjoner (deriblant versjon 3) og hvorvidt dette er ønskelig. Torvalds poengterte under lanseringen av versjon 2.4.0 at hans egen kode bare ville lansert under GPL versjon 2. Betingelsene for GPL sier likevel at hvis ingen versjon er spesifisert, kan alle senere versjoner bli brukt. Alan Cox har påpekt at svært få bidragsytere til Linux har spesifisert en spesiell versjon av GPL.
Den 25. september 2006 viste en undersøkelse at 28 av 29 nøkkelprogrammerere foretrakk GPLv2 i stedet for utkastet til den daværende GPLv3. Torvalds kommenterte: «Jeg tror at mange utenforstående … trodde at jeg personlig var kun en merkelig mann, fordi jeg så offentlig hadde publisert at jeg ikke var en stor tilhenger av GPLv3». Profilerte kjerneutviklere som Linus Torvalds, Greg Kroah-Hartman og Andrew Morton, uttrykte deres innvendinger mot GPLv3 overfor massemedia, refererte til klausulene om DRM/tivoisering, patenter, «tilleggsrestriksjoner» og advarte mot en «balkanisering» av det «åpne kildekodeuniverset» gjennom GPLv3. Linus Torvalds gjentok kritikken i september 2014.
Dynamisk lastbare kjernemoduler
Det diskuteres hvorvidt lastbare kjernemoduler (LKM) er derivatverk i henhold patentlovgivningen, og faller utenfor betingelsene til GPL. Torvalds har hevdet at kjernemoduler som bruker en begrenset, delmengde av kjernegrensesnittene noen ganger kan betraktes som et ikke-derivatverk, og således tillater noen binære utstyrsdriverere og andre lastbare kjernemoduler som ikke er lisensiert under GPL.
Fylkesvei 255 (Akershus)
Fylkesvei 255 (Fv255) i Akershus gikk mellom Arteidmoen og Smestua i Sørum kommune. Veien var 3,9 km lang.
Linuxkjernen
Dynamisk lastbare kjernemoduler
På den andre side har Torvalds også uttalt at «dette grå området er i særdeleshet noe som kan sammenlignes med en utstyrsdriver som opprinnelig ble skrevet for et annet operativsystem (og klart ikke er et derivatarbeid som har Linux som opprinnelse). […] DET er et grått område, og _det_ er det område hvor jeg personlig tror at enkelte moduler kan betraktes å ikke være avledede arbeider kort og godt fordi de ikke var konstruert for Linux og ikke avhenger av noen spesiell Linux-adferd.» Spesielt proprietære grafikkdrivere blir flittig diskutert. Det er det sannsynlig at slike spørsmål bare kan bli avgjort i en rettssal.
Gräfsnäs
Gräfsnäs er et tettsted i Alingsås kommune i Västra Götalands län i landskapet Västergötland i Sverige. I 2010 hadde tettstedet 367 innbyggere.
Fylkesvei 255 (Akershus)
2019 ble veien del av fylkesvei 1486.
Linuxkjernen
Firmware binary blobs
I februar 2002 hevdet Richard Stallman at slik programvare «krenker GPL» som krever at «en komplett korresponderende kildekode» er tilgjengelig. Den 20. februar 2008 ble Linux-libre lansert av Free Software Foundation Latin America. Dette er en fri variant av Linuxkjernen uten proprietære objekter; den benyttes av de Linuxdistribusjoner som anbefales av Free Software Foundation, men kan også benyttes av de fleste distribusjoner.
Den 15. desember 2010 annonserte Debian Project at den neste stabile versjon av Debian, versjon 6.0 «Squeeze» ville ha en kjerne som var «renset for alle ikke-frie firmware elementer». Dette gjelder også senere stabile versjoner av Debian.
Varemerke
Linuxkjernen er et registrert varemerke som tilhører Linus Torvalds i USA, Tyskland, den europeiske union og Japan. Dette ble ufrivillig og indirekte forårsaket av advokaten William R. Della Croce, Jr. fra Boston i Massachusetts, som selv ikke hadde vært involvert i utviklingen av en eneste linje med kode i Linuxkjernen. Ikke desto mindre gjorde han i september 1995 navnet Linux til sitt eget varemerke. I november 1996 sendte han brev til ulike Linuxdistributører og gjorde krav på 10 % royalties av deres salgsinntekter. WorkGroup Solutions, Yggdrasil, Linux Journal, Linux International og Linus Torvalds saksøkte Della Croce, med krav om at varemerket ble erklært «bedragerisk og oppnådd under falske premisser». Spørsmålet ble avgjort av retten den 20. august 1997, og varemerket ble tildelt Linus Torvalds. Varemerket blir administrert av Linux Mark Institute som opprinnelig hadde sitt sete i Monterey, California, men som i dag holder til i Oregon.
Rettssaken SCO versus Linux
Den 30. mars 2016 anket SCO-gruppen dommen, og saken er derfor ennå åpen. Den 16. februar 2018 krevde retten at begge parter skulle legge frem en felles statusrapport som skulle være grunnlaget for en endelig dom.
I rettssaken mot Novell spesifiserte SCO-gruppen den 8. mars 2007 detaljene i søksmålet. På tross av påstander om at de var den rettmessige eier av 1 million linjer med kode, spesifiserte de bare 326 linjer med kode, hvorav det meste ikke var mulig å kreve opphavsrett på. Retten avgjorde den 10. august 2007 at SCO aldri har hatt opphavsretten til Unix. Ankedomstolen i den tiende krets avgjorde den 26. august 2009 at spørsmålet om opphavsrett skulle avgjøres av en jury. Juryens dom falt 30. mars 2010 i favør av Novell.
Den 22. desember 2003 forklarte Linus Torvalds overfor nettstedet Groklaw at han var opphavsmannen bak deler av den koden som SCO-gruppen gjorde krav på, og at feilnumrene i filen  ikke stammet fra SCO-UNIX, men fra andre kilder enn UNIX:
Den 30. mai 2003 kommenterte Linus Torvalds saken slik overfor Computerworld:
Santa Cruz Operation (SCO) var et programvareselskap som ble grunnlagt i Santa Cruz, California i 1979. SCO var en av mange bidragsytere til utviklingen av operativsystemet UNIX gjennom blant annet SCO UNIX (senere kjent som SCO Open Desktop og SCO OpenServer) som var en avart av Unix for x86-arkitekturen. I boken The Art of Unix Programming (2003) hevdet Eric Steven Raymond at SCO var «det første Unix-selskapet» i verden. Forut for opprettelsen av SCO var UNIX-markedet dominert av maskinvareprodusenter og teleselskaper. SCO solgte SCO UNIX til Caldera Systems i 2001, og endret sitt navn til Tarantella, Inc. Tarantella, Inc. ble i sin tur oppkjøpt av Sun Microsystems i 2005.
Selskapet Caldera Systems var blitt grunnlagt i oktober 1994 i Utah. I mai 2001 endret det navn til Caldera International, og deretter til SCO-gruppen. At selskapet på dette viset brukte navnet til SCO har ført til forvirring og forveksling av de to selskapene. I 2007 lå SCO-gruppen an til å gå konkurs, og i 2011 ble den oppkjøpt av selskapet UnXis, Inc.
I rettssaken hevdet SCO-gruppen at de fikk enerett på varemerket UNIX da SCO solgte sine rettigheter til Caldera Systems. Det urimelige i et slikt krav er at SCO var en av mange aktører som bidro til utviklingen av UNIX; dette må betraktes som et lagarbeid, og SCO var ikke de eneste bidragsyterne. Kravet fra SCO-gruppen ville bety at ikke bare Linuxkjernen, men også IBM's Unix-avart AIX, såvel som HP-UX fra Hewlett Packard, Solaris fra Sun Microsystems, IRIX fra Silicon Graphics Inc. (SGI), og flere Unix-avarter, var ulovlige. SCO-gruppen var heller ikke identisk med SCO, selv om de brukte navnet til det tidligere selskapet. SCO-gruppen hadde ikke utviklet SCO-UNIX, men hadde kjøpt en av mange avarter av UNIX, og deretter gjort krav på enerett i UNIX-markedet.
Brukernettverket
Linuxkjernen vedlikeholdes av et nettverk med brukere, hvor det inngår eller har inngått multinasjonale selskaper som Intel, IBM, Texas Instruments, Advanced Micro Devices, Hewlett-Packard, ARM Holdings, Dell, Red Hat, SuSE, Novell, Linaro, Oracle, Nokia, Google, Facebook, Fujitsu og Samsung. I 2015 hadde nesten 12 000 programmerere fra omkring 1 200 selskaper bidratt til kjernens utvikling, mens gruppen «amatører» i 2007 stod for 3,9 % av endringene. Siden 1996 har utviklingsdiskusjoner foregått daglig på Linuxkjernens e-postliste.
Linux Foundation offentliggjorde i 2016 en rapport 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.
Evolusjonen 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
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 britiske pund i 2004-priser ved å benytte estimasjonsmodellen årsverk i COCOMO. 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.
En studie fra 30. juni 2001 fant at distribusjonen Red Hat Linux 7.1 inneholdt 30 millioner 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. 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. 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. 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). 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.
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 Fedora 9 «Sulphur» på nytt (6 772 902 linjer med kildekode) var 10.8 milliarder dollar.
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.
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.
Utviklingsmodell
Den nåværende utviklingsmodellen går ut på at Linus Torvalds lanserer nye «mainline» versjoner («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.
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. Han inkluderte også enkelte oppdatering av utstyrsdrivere, og gjorde vedlikeholdsreglene i 2.6.16-serien svært lik dem i 2.4. 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. Dermed ble en ny stabil grein dannet, med stadige feilrettinger. Fra versjon 2.6 ønsket noen fortsatt et ustabilt kjernetre. Andrew Morton endret hensikten i sitt -mm tre fra å behandle minnehåndtering til å bli et sted for eksperimentell kode. I september 2007 stanset han vedlikeholdet av dette treet.
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. 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.
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:
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
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. Versjon 0.99 av Git ble lansert 11. juli 2005. Siste versjon er 2.35.1, som ble lansert 29. januar 2022.
Maddaloni
Maddaloni er en by og kommune nord i den italienske Campania-regionen. Kommunen har om lag 39 248 innbyggere (2013).
Linuxkjernen
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. Fra 0.95 og fremover var det mange patch-utgaver mellom versjonene. 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. 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 suffikset «-rc» etterfulgt av et ordinært tall. Utgivbare kandidater er en teknisk betegnelse på noe som kommer etter betaversjoner.
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 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.
Versjoner med suffiks som «tip», indikerer en annen 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ø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
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, L4Linux, MkLinux, RTLinux og User-mode Linux. Noen varianter har etterhvert blitt slått sammen med den offisielle utviklingsgreinen.
μClinux var en fork av Linuxkjernen for mikrokontrollere i innebygde systemer uten en minnehåndterer. μ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å superdatamaskiner fra Cray Inc. Den er basert på SUSE Linux Enterprise Server. CNL er en del av 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. Grsecurity er en variant som ivektlegger forbedringer på datasikkerhet, deriblant på webtjenere med nettverkstilgang til usikre steder. INK er konstruert for å kjøre på superdatamaskinen Blue Gene fra IBM. L4Linux er en variant av Linuxkjernen som kan kjøre virtualisert på L4 mikrokjernefamilien. MkLinux («mikrokjerne Linux») er en tidligere Linuxdistribusjon som ble startet av Open Software Foundation Research Institute og Apple Computer. MkLinux var beregnet på Macintosh med PowerPC mikroprosessorer. RTLinux («real time Linux») er en mikrokjerne for sanntidsoperativsystemer som kjører Linux som en prosess med forkjøpsrett. Sanntidssystemet gjør det mulig å kontrollere roboter, 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»).
MINIX
Da UNIX var et ungt operativsystem, var kildekoden åpent tilgjengelig. UNIX versjon 6 ble for eksempel lansert i mai 1975 og kildekoden kunne fritt distribueres på universiteter. John Lions ved University of New South Wales publiserte i mai 1976 boken Lions' Commentary on UNIX 6th Edition, with Source Code som inneholdt en beskrivelse av hver eneste linje i kildekoden.
AT&T oppdaget etter hvert operativsystemets kommersielle potensial, og ved lanseringen av UNIX System III (som var basert på UNIX versjon 7 og PWB/UNIX) i 1982 var kildekoden blitt en forretningshemmelighet som var ulovlig å studere på universiteter.
I denne situasjonen ble MINIX utviklet av Andrew S. Tanenbaum ved Vrije Universiteit Amsterdam. I 1987 publiserte han hele kildekoden med sine 12 649 linjer i en lærebok om operativsystemer.
MINIX 1.0 var blitt utviklet for å kjøre på Intels 16-biter mikroposessorer. MINIX 1.5 (1991) ble portert til Motorola 68000 og SPARC, mens MINIX 2.0 (1997) ble laget for 32-biter Intel 80386 og SPARC.
MINIX 3 som ble lansert 24. oktober 2005 støtter 32-biter Intel 80386 og ARM. Siste versjon av MINIX er 3.3.0, som ble lansert 16. september 2014.
Linux tar form
Forløperen til Linuxkjernen var MINIX, og i begynnelsen var Linuxkjernen avhengig av MINIX under oppstart. Og blant brukerne av MINIX var Linus Torvalds.
I 1991 var MINIX 2.0 ennå ikke lansert, og Linus savnet et fritt operativsystem for de nye 32-biter mikroprosessorene Intel 80386 og Intel 80486, som hadde vokst i popularitet. Han begynte arbeidet med å lage et nytt operativsystem for denne nye familien av mikroprosessorer.
Prosjektet ble innledet av Linus den 26. august 1991 med en posting på Usenets diskusjonsgruppe :
GNU-prosjektet hadde skapt mange komponenter i et fritt operativsystem, men mikrokjernen GNU Mach og operativsystemet GNU Hurd var ennå ikke ferdig utviklet. Avarter av Berkeley Software Distribution (BSD) var ikke frigjort fra juridiske problemstillinger, slik at de kunne distribueres som fri programvare. 386BSD ble lansert 12. mars 1992, og siste versjon ble lansert 12. november 1994. 386BSD ble imidlertid stanset fordi den hadde brutt opphavsretten. NetBSD ble lansert i mai 1993, FreeBSD den 1. november 1993 og OpenBSD den 18. oktober 1995.
Pantentene til AT&T og University of California, Berkeley tvang frem et fritt alternativ. Linus hadde ikke noe avansert operativsystem i tankene. Ei heller var det ment for allment bruk. Han ante ikke at prosjektet raskt skulle samle utviklere og brukere, der Minix-hackere tidlig bidro med kode og idéer til Linuxkjernen. Ei heller ante han at kjernen etterhvert skulle få hjelp av flere tusen programvareutviklere.
Minix bestod av en mikrokjerne, som var basert på Mach fra Carnegie Mellon University. Dette 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 operativsystemet Multics, fordi dette lettere gir et fragmentert minne enn sideveksling. I stedet valgte han samme minnemodell som IBM benyttet tre år senere i OS/2 «Warp» 3.0:
Første versjon ble lansert den 17. september 1991 med versjonsnummeret 0.01. Datoen kan regnes som Linuxkjernens «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 operativsystemkjernen.
Den første postingen på Usenets diskusjonsgruppe  kom den 19. januar 1992. Den 31. mars 1992 ble den omdøpt til.
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 (24. mars 1992), 0.96a (med fire revisjoner), 0.96b (med to revisjoner), 0.96c (med to revisjoner), 0.97 (1. august 1992) og 0.99. Fra 1993 til 1994 ble det lansert 15 oppdaterte versjoner av 0.99.
Den 13. mars 1994 ble versjon 1.0 av Linuxkjernen endelig lansert. En fri operativsystemkjerne for Intel 80386 var en realitet, og er fødselsdatoen til den første stabile Linuxkjernen.
Versjon 1.2
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 Linuxkjernen til andre datamaskinarkitekturer enn Intel 80386.
En variant av Linuxkjernen (versjonene 1.2 og 2.0) for Motorola 68000-serien, kalt Linux/mk68, ble utviklet uavhengig av den offisielle Linuxkjernen. Debian's Linuxdistribusjon Debian/mk68k benyttet denne porteringen av versjon 2.0.
Versjon 2.0
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 versjon 2.7.2 og GNU Binutils 2.6.0.14.
Versjon 2.0 hadde bedre støtte for nettverk, med protokollene Point-to-Point Protocol (PPP), Serial Line Internet Protocol (SLIP), Compressed SLIP (CSLIP) og Parallel Line Internet Protocol (PLIP), såvel som DDP (AppleTalk), samt flere utstyrsdrivere. Den støttet symmetrisk flerprosessering med opptil 16 mikroprosessorer på en og samme datamaskin. Den var enda mer modulært oppbygd enn versjon 1.2, og hadde dynamisk opplastbare moduler hvor blant annet aksesskontrollister ble implementert.
Versjon 2.0 var også den første operativsystemkjernen med innebygd støtte for Java.
Versjon 2.2
Versjon 2.2, den stabile utgaven av utviklingsversjonen 2.1, ble lansert den 25. januar 1999. Den ble portert til Motorola 68000-serien, PowerPC, såvel som til 64-biter 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 (MCA), Plug and play-støtte for PCI-kort, støtte for CD-ROM, DVD, Iomega Zip-drive, 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: Støtten for et voksende antall TV-kort ble utvidet gjennom Video4Linux. Det samme gjaldt støtten for radio og digitalkameraer. Støtten for amatørradiostasjoner ble utvidet ved å tilføye støtte for protokollene NetROM og ROSE (Remote Operations Service Element protocol), og forbedringer i AX.25-laget.
Versjon 2.2 innførte også støtte for internettprotokollen IPv6, med SPX og IPX, og var den første operativsystemkjernen som var fullstendig kompatibel med IPv4.
Filsystemet extended file system (ext) i de tidligere utgavene av Linuxkjernen, ble erstattet av ext2.
I datanett ble det mulig å lese innholdet på datamaskiner med andre operativsystemer og deres filsystemer. Det ble innført slik støtte for NTFS (Windows NT), FAT (MS-DOS), Virtual FAT og FAT32 (Windows 95 og Windows 98), Microsofts filsystem Joliet (med lange filnavn på CD-ROM), Hierarchical File System (Apple Macintosh), Amiga Fast File System (Amiga), Unix File System for blant annet Berkeley Software Distribution (BSD), filsystemer for UNIX System V, Minix file system (MINIX), filsystemet til Acorn RISC OS, samt filsystemer for FreeBSD, SunOS og Solaris (deriblant ZFS). I nettverk ble støtten for NetWare forbedret.
Versjon 2.4
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 med High Performance File System (OS/2), Extent File System (IRIX) og NeXTSTEP. Linuxkjernen støttet for første gang Sun NFS 3.0. I versjon 2.4 gjorde implementasjonen av IPv4 gjort 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.