Linux -Linux

Linux
Tux pingvinen
Tux pingvinen, maskoten til Linux
Utvikler Samfunnsbidragsytere,
Linus Torvalds
Skrevet i C , assemblerspråk og andre
OS-familie Unix-aktig
Arbeidstilstand Nåværende
Kildemodell Åpen kilde
Første utgivelse 17. september 1991 ; 31 år siden ( 1991-09-17 )
Oppbevaringssted git .kernel .org /pub /scm /linux /kernel /git /torvalds /linux .git /
Markedsføringsmål Cloud computing , innebygde enheter , stordatamaskiner , mobile enheter , personlige datamaskiner , servere , superdatamaskiner
Tilgjengelig i Flerspråklig
Plattformer Alpha , ARC , ARM , C -Sky , Hexagon , IA -64 , LoongArch , m68k , Microblaze , MIPS , Nios II , OpenRISC , PA-RISC , PowerPC , RISC-V , s390 , SuperH , SPARC , Xtensa
Kjernetype _ Monolitisk
Brukerland GNU , BusyBox
Standard
brukergrensesnitt
Tillatelse GPLv2
Artikler i serien
Linux-kjerne
Linux-distribusjon

Linux ( / ˈ l n ʊ k s / ( lytt ) LEE -nuuks eller / ˈ l ɪ n ʊ k s / LIN -uuks ) er en familie med åpen kildekode Unix-lignende operativsystemer basert på Linux-kjernen , en operativsystemkjernen først utgitt 17. september 1991 av Linus Torvalds . Linux er vanligvis pakket som en Linux-distribusjon , som inkluderer kjernen og støttende systemprogramvare og biblioteker , hvorav mange leveres av GNU-prosjektet . Mange Linux-distribusjoner bruker ordet "Linux" i navnet sitt, men Free Software Foundation bruker navnet " GNU/Linux " for å understreke viktigheten av GNU- programvare, noe som forårsaker en del kontroverser .

Populære Linux-distribusjoner inkluderer Debian , Fedora Linux og Ubuntu , hvor sistnevnte selv består av mange forskjellige distribusjoner og modifikasjoner, inkludert Lubuntu og Xubuntu . Kommersielle distribusjoner inkluderer Red Hat Enterprise Linux og SUSE Linux Enterprise . Desktop Linux-distribusjoner inkluderer et vindussystem som X11 eller Wayland , og et skrivebordsmiljø som GNOME eller KDE Plasma . Distribusjoner beregnet på servere kan utelate grafikk helt, eller inkludere en løsningsstabel som LAMP . Fordi Linux kan distribueres fritt, kan hvem som helst lage en distribusjon for ethvert formål.

Linux ble opprinnelig utviklet for personlige datamaskiner basert på Intel x86- arkitekturen, men har siden blitt portert til flere plattformer enn noe annet operativsystem. På grunn av dominansen til den Linux-baserte Androidsmarttelefoner , har Linux, inkludert Android, den største installerte basen av alle generelle operativsystemer per mai 2022. Selv om Linux, fra november 2022, bare brukes av rundt 2.6 prosent av stasjonære datamaskiner dominerer Chromebook , som kjører det Linux-kjernebaserte ChromeOS , det amerikanske markedet for grunnskoleutdanning og representerer nesten 20 prosent av salget av bærbare PC- er under $300 i USA. Linux er det ledende operativsystemet på servere (over 96,4 % av de 1 million beste nettservernes operativsystemer er Linux), leder andre store jernsystemer som stormaskiner og brukes på alle verdens 500 raskeste superdatamaskiner (siden november 2017, etter å ha fortrengt alle konkurrenter gradvis).

Linux kjører også på innebygde systemer , dvs. enheter hvis operativsystem vanligvis er innebygd i fastvaren og er svært skreddersydd til systemet. Dette inkluderer rutere , automatiseringskontroller , smarthusenheter , videospillkonsoller , TV-er (Samsung og LG Smart-TVer ), biler (Tesla, Audi, Mercedes-Benz, Hyundai og Toyota) og romfartøy ( Falcon 9- rakett, Dragon -mannskapskapsel og Perseverance - roveren).

Linux er et av de mest fremtredende eksemplene på gratis programvaresamarbeid med åpen kildekode . Kildekoden kan brukes, modifiseres og distribueres kommersielt eller ikke- kommersielt av hvem som helst under vilkårene i dens respektive lisenser, for eksempel GNU General Public License (GPL). Linux-kjernen, for eksempel, er lisensiert under GPLv2, med unntak for systemanrop som tillater at kode som kaller kjernen via systemanrop ikke lisensieres under GPL.

Historie

Forløpere

Linus Torvalds , hovedforfatter av Linux-kjernen

Unix - operativsystemet ble unnfanget og implementert i 1969, ved AT&Ts Bell Labs , i USA av Ken Thompson , Dennis Ritchie , Douglas McIlroy og Joe Ossanna . Unix ble først utgitt i 1971, og ble skrevet utelukkende på assemblerspråk , slik det var vanlig praksis på den tiden. I 1973, i en sentral banebrytende tilnærming, ble den skrevet om i programmeringsspråket C av Dennis Ritchie (med unntak av noen maskinvare og I/O-rutiner). Tilgjengeligheten av en språkimplementering på høyt nivå av Unix gjorde porteringen til forskjellige datamaskinplattformer enklere.

På grunn av en tidligere antitrustsak som forbød det å gå inn i databransjen, lisensierte AT&T operativsystemets kildekode som en forretningshemmelighet for alle som spurte. Som et resultat vokste Unix raskt og ble bredt adoptert av akademiske institusjoner og bedrifter. I 1984 solgte AT&T seg fra sine regionale operatørselskaper , og ble frigjort fra sin forpliktelse til ikke å gå inn i databransjen; fri fra denne forpliktelsen begynte Bell Labs å selge Unix som et proprietært produkt, der brukere ikke hadde lov til å endre det.

Onyx Systems begynte å selge tidlige mikrodatamaskinbaserte Unix-arbeidsstasjoner i 1980. Senere begynte Sun Microsystems , grunnlagt som en spin-off av et studentprosjekt ved Stanford University , også å selge Unix-baserte stasjonære arbeidsstasjoner i 1982. Mens Sun-arbeidsstasjoner ikke brukte PC-maskinvare som Linux senere ble utviklet for, representerte det første vellykkede kommersielle forsøket på å distribuere en primært enbruker mikrodatamaskin som kjørte et Unix-operativsystem.

Med Unix stadig mer "låst inne" som et proprietært produkt, hadde GNU-prosjektet , startet i 1983 av Richard Stallman , målet om å lage et "komplett Unix-kompatibelt programvaresystem" som utelukkende var sammensatt av fri programvare . Arbeidet begynte i 1984. Senere, i 1985, startet Stallman Free Software Foundation og skrev GNU General Public License (GNU GPL) i 1989. På begynnelsen av 1990-tallet var mange av programmene som kreves i et operativsystem (som biblioteker, kompilatorer) , tekstredigerere , et kommandolinjeskall og et vindussystem ) ble fullført, selv om lavnivåelementer som enhetsdrivere , demoner og kjernen , kalt GNU Hurd , ble stoppet og ufullstendige.

MINIX ble skapt av Andrew S. Tanenbaum , en professor i informatikk , og utgitt i 1987 som et minimalt Unix-lignende operativsystem rettet mot studenter og andre som ønsket å lære operativsystemprinsipper. Selv om den komplette kildekoden til MINIX var fritt tilgjengelig, forhindret lisensvilkårene at den var fri programvare før lisensieringen ble endret i april 2000.

Selv om det ikke ble utgitt før i 1992, på grunn av juridiske komplikasjoner , gikk utviklingen av 386BSD , som NetBSD , OpenBSD og FreeBSD stammet fra, før Linux.

Linus Torvalds har uttalt ved separate anledninger at hvis GNU-kjernen eller 386BSD hadde vært tilgjengelig på den tiden (1991), ville han sannsynligvis ikke ha laget Linux.

Opprettelse

Mens han gikk på universitetet i Helsinki høsten 1990, meldte Torvalds seg på et Unix-kurs. Kurset brukte en MicroVAX minidatamaskin som kjører Ultrix , og en av de nødvendige tekstene var Operating Systems: Design and Implementation av Andrew S. Tanenbaum . Denne læreboken inkluderte en kopi av Tanenbaums MINIX- operativsystem. Det var med dette kurset Torvalds først ble utsatt for Unix. I 1991 ble han nysgjerrig på operativsystemer. Frustrert over lisensieringen av MINIX, som den gang begrenset den til kun pedagogisk bruk, begynte han å jobbe med sin egen operativsystemkjerne, som til slutt ble Linux- kjernen .

Den 3. juli 1991, i et forsøk på å implementere Unix- systemanrop , forsøkte Linus Torvalds å få tak i en digital kopi av POSIX-standarddokumentasjonen med en forespørsel til comp.os.minix - nyhetsgruppen . Etter å ha funnet POSIX-dokumentasjonen uten hell, tyr Torvalds til å begynne med å bestemme systemanrop fra SunOS- dokumentasjon eid av universitetet for bruk i driften av Sun Microsystems- serveren. Han lærte også noen systemanrop fra Tenenbaums MINIX-tekst.

Torvalds begynte utviklingen av Linux-kjernen på MINIX og applikasjoner skrevet for MINIX ble også brukt på Linux. Senere modnet Linux og videre utvikling av Linux-kjerne fant sted på Linux-systemer. GNU-applikasjoner erstattet også alle MINIX-komponenter, fordi det var fordelaktig å bruke den fritt tilgjengelige koden fra GNU-prosjektet med det nye operativsystemet; kode lisensiert under GNU GPL kan gjenbrukes i andre dataprogrammer så lenge de også er utgitt under samme eller en kompatibel lisens. Torvalds startet en overgang fra sin opprinnelige lisens, som forbød kommersiell omdistribusjon, til GNU GPL. Utviklere jobbet med å integrere GNU-komponenter med Linux-kjernen, og skapte et fullt funksjonelt og gratis operativsystem.

Navngivning

5,25-tommers disketter med en veldig tidlig versjon av Linux

Linus Torvalds hadde ønsket å kalle oppfinnelsen sin " Freax ", et sammendrag av "fri", "freak" og "x" (som en hentydning til Unix). Under starten av arbeidet med systemet inkluderte noen av prosjektets make-filer navnet "Freax" i omtrent et halvt år. I utgangspunktet vurderte Torvalds navnet "Linux", men avfeide det som for egoistisk.

For å lette utviklingen ble filene lastet opp til FTP-serveren ( ftp.funet.fi) til FUNET i september 1991. Ari Lemmke, Torvalds' medarbeider ved Helsinki University of Technology (HUT) som var en av de frivillige administratorene for FTP-serveren på den tiden, syntes ikke "Freax" var et godt navn, så han kalte prosjektet "Linux" på serveren uten å konsultere Torvalds. Senere samtykket imidlertid Torvalds til "Linux".

I følge et nyhetsgruppeinnlegg av Torvalds skal ordet "Linux" uttales ( / ˈ l ɪ n ʊ k s / ( lytt ) LIN -uuks ) med et kort 'i' som i 'print' og 'u' som i 'sette'. For ytterligere å demonstrere hvordan ordet "Linux" skal uttales, inkluderte han en lydguide med kjernekildekoden. I denne innspillingen uttaler han imidlertid Linux som /ˈlinʊks/ ( LEEN -uuks ) med en kort, men tett uavrundet vokal foran , i stedet for en nær foran uavrundet vokal som i nyhetsgruppeinnlegget hans.

Kommersielt og populært opptak

Ubuntu , en populær Linux-distribusjon
Nexus 5X som kjører Android

Adopsjon av Linux i produksjonsmiljøer, i stedet for å bli brukt bare av hobbyister, begynte først å ta fart på midten av 1990-tallet i superdatamiljøet, der organisasjoner som NASA begynte å erstatte sine stadig dyrere maskiner med klynger av rimelige varedatamaskiner som kjører Linux . Kommersiell bruk begynte da Dell og IBM , etterfulgt av Hewlett-Packard , begynte å tilby Linux-støtte for å unnslippe Microsofts monopol på markedet for stasjonære operativsystemer.

I dag brukes Linux-systemer gjennom hele databehandlingen, fra innebygde systemer til praktisk talt alle superdatamaskiner , og har sikret seg en plass i serverinstallasjoner som den populære LAMP- applikasjonsstakken. Bruken av Linux-distribusjoner i hjemme- og bedriftsstasjonære datamaskiner har vært økende. Linux-distribusjoner har også blitt populære i netbook- markedet, med mange enheter som leveres med tilpassede Linux-distribusjoner installert, og Google lanserer sitt eget ChromeOS designet for netbooks.

Linuxs største suksess på forbrukermarkedet er kanskje markedet for mobile enheter, med Android som det dominerende operativsystemet på smarttelefoner og veldig populært på nettbrett og, i senere tid, på bærbare enheter . Linux-spill er også på vei oppover med Valve som viser sin støtte for Linux og ruller ut SteamOS , sin egen spillorienterte Linux-distribusjon, og senere Steam Deck- plattformen. Linux-distribusjoner har også vunnet popularitet hos forskjellige lokale og nasjonale myndigheter, for eksempel den føderale regjeringen i Brasil .

Dagens utvikling

Underholdningssystem på fly starter opp og viser Linux-logoen

Greg Kroah-Hartman er ledende vedlikeholder for Linux-kjernen og veileder utviklingen av den. William John Sullivan er administrerende direktør for Free Software Foundation, som igjen støtter GNU-komponentene. Til slutt utvikler enkeltpersoner og selskaper tredjeparts ikke-GNU-komponenter. Disse tredjepartskomponentene omfatter et stort arbeid og kan inkludere både kjernemoduler og brukerapplikasjoner og biblioteker.

Linux-leverandører og -samfunn kombinerer og distribuerer kjernen, GNU-komponenter og ikke-GNU-komponenter, med ekstra pakkeadministrasjonsprogramvare i form av Linux-distribusjoner .

Design

Mange åpen kildekode- utviklere er enige om at Linux-kjernen ikke ble designet, men utviklet seg gjennom naturlig utvalg . Torvalds mener at selv om utformingen av Unix fungerte som et stillas, "vekst Linux med mange mutasjoner - og fordi mutasjonene var mindre enn tilfeldige, var de raskere og mer rettet enn alfa-partikler i DNA ." Eric S. Raymond anser Linuxs revolusjonerende aspekter som sosiale, ikke tekniske: før Linux ble kompleks programvare designet nøye av små grupper, men "Linux utviklet seg på en helt annen måte. Fra nesten begynnelsen ble den ganske tilfeldig hacket på av enorme antall frivillige som kun koordinerte via Internett. Kvaliteten ble opprettholdt ikke av rigide standarder eller autokrati, men av den naivt enkle strategien med å slippe ut hver uke og få tilbakemeldinger fra hundrevis av brukere i løpet av dager, noe som skapte en slags rask darwinistisk utvelgelse av mutasjonene introdusert av utviklere." Bryan Cantrill , en ingeniør av et konkurrerende OS, er enig i at "Linux ikke ble designet, det utviklet seg", men anser dette for å være en begrensning, og foreslår at noen funksjoner, spesielt de som er relatert til sikkerhet, ikke kan utvikles til, "dette er ikke et biologisk system på slutten av dagen, det er et programvaresystem." Et Linux-basert system er et modulært Unix-lignende operativsystem, som henter mye av dets grunnleggende design fra prinsipper etablert i Unix på 1970- og 1980-tallet. Et slikt system bruker en monolitisk kjerne , Linux-kjernen , som håndterer prosesskontroll, nettverk, tilgang til periferiutstyr og filsystemer . Enhetsdrivere er enten integrert direkte med kjernen, eller lagt til som moduler som lastes mens systemet kjører.

GNU- brukerlandet er en sentral del av de fleste systemer basert på Linux-kjernen, med Android som det bemerkelsesverdige unntaket. GNU C-biblioteket , en implementering av C-standardbiblioteket , fungerer som en innpakning for systemanropene til Linux-kjernen som er nødvendige for kjerne-brukerområde-grensesnittet, verktøykjeden er en bred samling av programmeringsverktøy som er avgjørende for Linux-utvikling (inkludert kompilatorene brukes til å bygge selve Linux-kjernen), og coreutils implementerer mange grunnleggende Unix-verktøy . GNU-prosjektet utvikler også Bash , et populært CLI- skall . Det grafiske brukergrensesnittet (eller GUI) som brukes av de fleste Linux-systemer er bygget på toppen av en implementering av X Window System . Nylig søker Linux-fellesskapet å gå videre til Wayland som den nye skjermserverprotokollen i stedet for X11 . Mange andre programvareprosjekter med åpen kildekode bidrar til Linux-systemer.

Ulike lag i Linux, som også viser separasjon mellom brukerland og kjerneplass
Brukermodus Brukerapplikasjoner bash , LibreOffice , GIMP , Blender , 0 AD , Mozilla Firefox , ...
Systemkomponenter init daemon :
OpenRC , runit , systemd ...
Systemdemoner :
polkitd , smbd , sshd , udevd ...
Vindusbehandling :
X11 , Wayland , SurfaceFlinger (Android)
Grafikk :
Mesa , AMD Catalyst , ...
Andre biblioteker:
GTK , Qt , EFL , SDL , SFML , FLTK , GNUstep , ...
C standard bibliotek fopen, execv, malloc, memcpy, localtime, pthread_create... (opptil 2000 subrutiner )
glibc har som mål å være raske, musl har som mål å være lett, uClibc retter seg mot innebygde systemer, bionic ble skrevet for Android osv. Alle har som mål å være POSIX / SUS -kompatible.
Kjernemodus Linux-kjernen stat, splice, dup, read, open, ioctl, write, mmap, close, exit, osv. (ca. 380 systemanrop)
Linux-kjernen System Call Interface (SCI) har som mål å være POSIX / SUS -kompatibel
Prosessplanleggingsdelsystem
_
IPC
undersystem

Undersystem for minnehåndtering
Virtuelle filer
undersystem
Nettverksundersystem
_
Andre komponenter: ALSA , DRI , evdev , klibc , LVM , enhetskartlegging , Linux Network Scheduler , Netfilter
Linux Security Modules : SELinux , TOMOYO , AppArmor , Smack
Maskinvare ( CPU , hovedminne , datalagringsenheter , etc.)

Installerte komponenter i et Linux-system inkluderer følgende:

Brukergrensesnitt

Brukergrensesnittet , også kjent som skallet , er enten et kommandolinjegrensesnitt (CLI), et grafisk brukergrensesnitt (GUI), eller kontroller knyttet til den tilhørende maskinvaren, som er vanlig for innebygde systemer . For stasjonære systemer er standard brukergrensesnitt vanligvis grafisk, selv om CLI vanligvis er tilgjengelig gjennom terminalemulatorvinduer eller på en separat virtuell konsoll .

CLI-skall er tekstbaserte brukergrensesnitt, som bruker tekst for både input og output. Det dominerende skallet som brukes i Linux er Bourne-Again Shell (bash), opprinnelig utviklet for GNU-prosjektet . De fleste Linux-komponenter på lavt nivå, inkludert ulike deler av brukerlandet , bruker utelukkende CLI. CLI er spesielt egnet for automatisering av repeterende eller forsinkede oppgaver og gir svært enkel kommunikasjon mellom prosesser .

På skrivebordssystemer er de mest populære brukergrensesnittene GUI-skallene , pakket sammen med omfattende skrivebordsmiljøer , som KDE Plasma , GNOME , MATE , Cinnamon , LXDE , Pantheon og Xfce , selv om det finnes en rekke ekstra brukergrensesnitt. De mest populære brukergrensesnittene er basert på X Window System , ofte kalt "X". Det gir nettverkstransparens og tillater at en grafisk applikasjon som kjører på ett system vises på et annet der en bruker kan samhandle med applikasjonen; visse utvidelser av X Window System er imidlertid ikke i stand til å fungere over nettverket. Det finnes flere X-skjermservere, med referanseimplementeringen, X.Org Server , som den mest populære.

Serverdistribusjoner kan gi et kommandolinjegrensesnitt for utviklere og administratorer, men gir et tilpasset grensesnitt mot sluttbrukere, designet for brukssaken til systemet. Dette tilpassede grensesnittet er tilgjengelig via en klient som ligger på et annet system, ikke nødvendigvis Linux-basert.

Det finnes flere typer vindusbehandlere for X11, inkludert flislegging , dynamisk , stabling og sammensetting . Vindusbehandlere gir midler til å kontrollere plasseringen og utseendet til individuelle programvinduer, og samhandle med X Window System. Enklere X-vindusbehandlere som dwm , ratpoison , i3wm eller herbstluftwm gir en minimalistisk funksjonalitet, mens mer forseggjorte vindusbehandlere som FVWM , Enlightenment eller Window Maker gir flere funksjoner som en innebygd oppgavelinje og temaer , men er fortsatt lette når sammenlignet med skrivebordsmiljøer. Skrivebordsmiljøer inkluderer vindusbehandlere som en del av deres standardinstallasjoner, slik som Mutter (GNOME), KWin (KDE) eller Xfwm (xfce), selv om brukere kan velge å bruke en annen vindusbehandling hvis det foretrekkes.

Wayland er en skjermserverprotokoll ment som en erstatning for X11-protokollen; fra 2022 har den fått relativt bred adopsjon. I motsetning til X11, trenger ikke Wayland en ekstern vindusbehandler og komposisjonsbehandling. Derfor tar en Wayland-kompositor rollen som skjermserveren, vindusbehandleren og sammensetningsadministratoren. Weston er referanseimplementeringen av Wayland, mens GNOMEs Mutter og KDEs KWin blir portert til Wayland som frittstående skjermservere. Enlightenment har allerede blitt overført med suksess siden versjon 19.

Infrastruktur for videoinngang

Linux har for tiden to moderne kjerne-brukerområde APIer for håndtering av videoinndataenheter: V4L2 API for videostrømmer og radio, og DVB API for digital TV-mottak.

På grunn av kompleksiteten og mangfoldet til forskjellige enheter, og på grunn av det store antallet formater og standarder som håndteres av disse API-ene, må denne infrastrukturen utvikles for å passe bedre til andre enheter. Et godt enhetsbibliotek for brukerrom er også nøkkelen til suksessen for å ha brukerromsapplikasjoner for å kunne fungere med alle formater som støttes av disse enhetene.

Utvikling

Forenklet historie med Unix-lignende operativsystemer. Linux deler lignende arkitektur og konsepter (som en del av POSIX- standarden), men deler ikke ikke-fri kildekode med den originale Unix eller MINIX .

Den primære forskjellen mellom Linux og mange andre populære moderne operativsystemer er at Linux-kjernen og andre komponenter er gratis og åpen kildekode-programvare . Linux er ikke det eneste slike operativsystem, selv om det er det desidert mest brukte. Noen gratis og åpen kildekode-programvarelisenser er basert på prinsippet om copyleft , en slags gjensidighet: ethvert arbeid som stammer fra et copyleft-programvare må også være copyleft selv. Den vanligste fri programvarelisensen, GNU General Public License (GPL), er en form for copyleft, og brukes for Linux-kjernen og mange av komponentene fra GNU-prosjektet .

Linux-baserte distribusjoner er ment av utviklere for interoperabilitet med andre operativsystemer og etablerte datastandarder. Linux-systemer overholder POSIX , SUS , LSB , ISO og ANSI- standarder der det er mulig, men til dags dato har bare én Linux-distribusjon blitt POSIX.1-sertifisert, Linux-FT.

Gratis programvareprosjekter, selv om de er utviklet gjennom samarbeid , produseres ofte uavhengig av hverandre. Det faktum at programvarelisensene eksplisitt tillater videredistribusjon, gir imidlertid grunnlag for større prosjekter som samler programvaren produsert av frittstående prosjekter og gjør den tilgjengelig på en gang i form av en Linux-distribusjon.

Mange Linux-distribusjoner administrerer en ekstern samling av systemprogramvare og applikasjonsprogramvarepakker som er tilgjengelige for nedlasting og installasjon via en nettverkstilkobling. Dette lar brukerne tilpasse operativsystemet til deres spesifikke behov. Distribusjoner vedlikeholdes av enkeltpersoner, løst sammensveiset team, frivillige organisasjoner og kommersielle enheter. En distribusjon er ansvarlig for standardkonfigurasjonen av den installerte Linux-kjernen, generell systemsikkerhet og mer generelt integrering av de forskjellige programvarepakkene til en sammenhengende helhet. Distribusjoner bruker vanligvis en pakkebehandling som apt , yum , zypper , pacman eller portage for å installere, fjerne og oppdatere all programvaren til et system fra ett sentralt sted.

Samfunnet

En distribusjon er i stor grad drevet av utvikler- og brukermiljøene. Noen leverandører utvikler og finansierer distribusjonene sine på frivillig basis, Debian er et velkjent eksempel. Andre opprettholder en fellesskapsversjon av sine kommersielle distribusjoner, slik Red Hat gjør med Fedora , og SUSE gjør med openSUSE .

I mange byer og regioner søker lokale foreninger kjent som Linux User Groups (LUGs) å fremme deres foretrukne distribusjon og i forlengelsen av gratis programvare. De holder møter og tilbyr gratis demonstrasjoner, opplæring, teknisk støtte og operativsysteminstallasjon til nye brukere. Mange Internett-samfunn gir også støtte til Linux-brukere og utviklere. De fleste distribusjoner og gratis programvare/åpen kildekode-prosjekter har IRC chatterom eller nyhetsgrupper . Nettfora er et annet middel for støtte, med bemerkelsesverdige eksempler er LinuxQuestions.org og de forskjellige distribusjonsspesifikke støtte- og fellesskapsforaene, for eksempel de for Ubuntu , Fedora og Gentoo . Linux-distribusjoner er vert for e-postlister ; vanligvis vil det være et spesifikt emne som bruk eller utvikling for en gitt liste.

Det finnes flere teknologinettsteder med Linux-fokus. Trykkmagasiner på Linux pakker ofte omslagsdisker som inneholder programvare eller til og med komplette Linux-distribusjoner.

Selv om Linux-distribusjoner generelt er tilgjengelige uten kostnad, selger, støtter og bidrar flere store selskaper til utviklingen av komponentene i systemet og fri programvare . En analyse av Linux-kjernen i 2017 viste at godt over 85 % av koden utviklet av programmerere som får betalt for arbeidet sitt, og overlater omtrent 8,2 % til ubetalte utviklere og 4,1 % uklassifisert. Noen av de store selskapene som gir bidrag inkluderer Intel , Samsung , Google , AMD , Oracle og Facebook . En rekke selskaper, spesielt Red Hat, Canonical og SUSE , har bygget en betydelig virksomhet rundt Linux-distribusjoner.

De frie programvarelisensene , som de ulike programvarepakkene til en distribusjon bygget på Linux-kjernen er basert på, imøtekommer og oppmuntrer eksplisitt til kommersialisering; forholdet mellom en Linux-distribusjon som helhet og individuelle leverandører kan sees på som symbiotisk . En vanlig forretningsmodell for kommersielle leverandører er å ta betalt for støtte, spesielt for forretningsbrukere. En rekke selskaper tilbyr også en spesialisert forretningsversjon av distribusjonen, som legger til proprietære støttepakker og verktøy for å administrere høyere antall installasjoner eller for å forenkle administrative oppgaver.

En annen forretningsmodell er å gi bort programvaren for å selge maskinvare. Dette pleide å være normen i dataindustrien, med operativsystemer som CP/M , Apple DOS og versjoner av det klassiske Mac OS før 7.6 fritt kopierbare (men ikke modifiserbare). Etter hvert som maskinvare standardiserte gjennom 1980-tallet, ble det vanskeligere for maskinvareprodusenter å tjene på denne taktikken, ettersom operativsystemet ville kjøre på en hvilken som helst produsents datamaskin som delte samme arkitektur.

Programmering på Linux

De fleste programmeringsspråk støtter Linux enten direkte eller gjennom tredjeparts fellesskapsbaserte porter . De originale utviklingsverktøyene som brukes til å bygge både Linux-applikasjoner og operativsystemprogrammer finnes i GNU-verktøykjeden , som inkluderer GNU Compiler Collection (GCC) og GNU Build System . GCC leverer blant annet kompilatorer for Ada , C , C++ , Go og Fortran . Mange programmeringsspråk har en referanseimplementering på tvers av plattformer som støtter Linux, for eksempel PHP , Perl , Ruby , Python , Java , Go , Rust og Haskell . LLVM- prosjektet ble først utgitt i 2003, og gir en alternativ kompilator med åpen kildekode på tvers av plattformer for mange språk. Proprietære kompilatorer for Linux inkluderer Intel C++ Compiler , Sun Studio og IBM XL C/C++ Compiler . BASIC i form av Visual Basic støttes i slike former som Gambas , FreeBASIC og XBasic , og når det gjelder terminalprogrammering eller QuickBASIC eller Turbo BASIC- programmering i form av QB64 .

Et vanlig trekk ved Unix-lignende systemer, Linux inkluderer tradisjonelle programmeringsspråk med spesifikke formål rettet mot skripting , tekstbehandling og systemkonfigurasjon og -administrasjon generelt. Linux-distribusjoner støtter shell scripts , awk , sed og make . Mange programmer har også et innebygd programmeringsspråk for å støtte konfigurering eller programmering av seg selv. For eksempel støttes regulære uttrykk i programmer som grep og locate , den tradisjonelle Unix MTA Sendmail inneholder sitt eget Turing komplette skriptsystem, og den avanserte tekstredigereren GNU Emacs er bygget rundt en generell Lisp- tolk.

De fleste distribusjoner inkluderer også støtte for PHP , Perl , Ruby , Python og andre dynamiske språk . Selv om det ikke er like vanlig, støtter Linux også C# (via Mono ), Vala og Scheme . Guile Scheme fungerer som et utvidelsesspråk rettet mot GNU- systemverktøyene, og søker å gjøre de konvensjonelt små, statiske , kompilerte C- programmene til Unix-design raskt og dynamisk utvidbare via et elegant, funksjonelt skriptsystem på høyt nivå; mange GNU-programmer kan kompileres med valgfrie Guile- bindinger for dette formål. En rekke virtuelle Java-maskiner og utviklingssett kjører på Linux, inkludert den originale Sun Microsystems JVM ( HotSpot ), og IBMs J2SE RE, samt mange åpen kildekode-prosjekter som Kaffe og Jikes RVM .

GNOME og KDE er populære skrivebordsmiljøer og gir et rammeverk for utvikling av applikasjoner. Disse prosjektene er basert på henholdsvis GTK- og Qt- widget-verktøysettene , som også kan brukes uavhengig av det større rammeverket. Begge støtter et bredt spekter av språk. Det finnes en rekke integrerte utviklingsmiljøer tilgjengelig, inkludert Anjuta , Code::Blocks , CodeLite , Eclipse , Geany , ActiveState Komodo , KDevelop , Lazarus , MonoDevelop , NetBeans og Qt Creator , mens de lenge etablerte redaktørene Vim , nano og Emacs populær.

Maskinvarestøtte

Linux finnes allestedsnærværende på forskjellige typer maskinvare.

Linux-kjernen er en bredt portert operativsystemkjerne, tilgjengelig for enheter som spenner fra mobiltelefoner til superdatamaskiner; den kjører på et svært variert utvalg av datamaskinarkitekturer , inkludert ARM -baserte Android- smarttelefoner og IBM Z stormaskiner . Spesialiserte distribusjoner og kjernegafler finnes for mindre vanlige arkitekturer; for eksempel kan ELKS- kjernegaffelen kjøre på Intel 8086 eller Intel 80286 16-bits mikroprosessorer, mens µClinux - kjernegaffelen kan kjøre på systemer uten en minneadministrasjonsenhet . Kjernen kjører også på arkitekturer som kun var ment å bruke et produsentskapt operativsystem, for eksempel Macintosh- datamaskiner (med PowerPC- , Intel- og Apple-silisiumprosessorer ), PDA- er , videospillkonsoller , bærbare musikkspillere og mobiltelefoner.

Linux har et rykte for å støtte gammel maskinvare veldig godt ved å opprettholde standardiserte drivere i lang tid. Det er flere bransjeforeninger og maskinvarekonferanser viet til å opprettholde og forbedre støtte for diverse maskinvare under Linux, for eksempel FreedomHEC . Over tid har støtte for forskjellig maskinvare blitt forbedret i Linux, noe som resulterer i at ethvert hyllekjøp har en "god sjanse" til å være kompatibel.

I 2014 ble et nytt initiativ lansert for automatisk å samle en database over alle testede maskinvarekonfigurasjoner.

Bruker

Markedsandel og opptak

Mange kvantitative studier av gratis / åpen kildekode-programvare fokuserer på emner inkludert markedsandeler og pålitelighet, med en rekke studier som spesifikt undersøker Linux. Linux-markedet vokser, og Linux-operativsystemets markedsstørrelse forventes å se en vekst på 19,2 % innen 2027, og nå 15,64 milliarder dollar, sammenlignet med 3,89 milliarder dollar i 2019. Analytikere og talsmenn tilskriver den relative suksessen til Linux til dets sikkerhet og pålitelighet , lave kostnader og frihet fra leverandørlåsing .

Stasjonære og bærbare datamaskiner
I følge nettserverstatistikk (det vil si basert på tallene registrert fra besøk på nettsteder av klientenheter), per mai 2022, er den estimerte markedsandelen til Linux på stasjonære datamaskiner rundt 2,5 %. Til sammenligning har Microsoft Windows en markedsandel på rundt 75,5 %, mens macOS dekker rundt 14,9 %.
Webservere
W3Cook publiserer statistikk som bruker de 1 000 000 beste Alexa-domenene, som per mai 2015 anslår at 96,55 % av nettserverne kjører Linux, 1,73 % kjører Windows og 1,72 % kjører FreeBSD.
W3Techs publiserer statistikk som bruker de 10 000 000 beste Alexa-domenene og de 1 000 000 Tranco-domenene, oppdatert månedlig og fra november 2020 anslår at Linux brukes av 39 % av webserverne, mot 21,9 % som brukes av Microsoft Windows . 40,1 % brukte andre typer Unix .
IDCs rapport for første kvartal 2007 indikerte at Linux hadde 12,7 % av det totale servermarkedet på den tiden; dette anslaget var basert på antall Linux-servere solgt av forskjellige selskaper, og inkluderte ikke servermaskinvare kjøpt separat som hadde Linux installert på den senere.
Mobile enheter
Android, som er basert på Linux-kjernen, har blitt det dominerende operativsystemet for smarttelefoner . I juli 2022 brukte 71,9 % av smarttelefoner som fikk tilgang til internett over hele verden Android. Android er også et populært operativsystem for nettbrett, og er ansvarlig for mer enn 60 % av nettbrettsalget fra og med 2013. I følge nettserverstatistikk har Android per oktober 2021 en markedsandel på rundt 71 %, mens iOS har 28 % , og de resterende 1 % tilskrives ulike nisjeplattformer.
Filmproduksjon
I mange år har Linux vært den foretrukne plattformen i filmindustrien. Den første store filmen produsert på Linux-servere var Titanic fra 1997 . Siden den gang har store studioer inkludert DreamWorks Animation , Pixar , Weta Digital og Industrial Light & Magic migrert til Linux. I følge Linux Movies Group bruker mer enn 95 % av servere og skrivebord hos store animasjons- og visuelle effekter-selskaper Linux.
Bruk i regjeringen
Linux-distribusjoner har også vunnet popularitet hos ulike lokale og nasjonale myndigheter. Nyheter om det russiske militæret som oppretter sin egen Linux-distribusjon har også dukket opp, og har kommet til utførelse som GHost-prosjektet. Den indiske delstaten Kerala har gått så langt at de krever at alle statlige videregående skoler kjører Linux på datamaskinene sine. Kina bruker Linux utelukkende som operativsystem for sin Loongson- prosessorfamilie for å oppnå teknologiuavhengighet. I Spania har noen regioner utviklet sine egne Linux-distribusjoner, som er mye brukt i utdanning og offisielle institusjoner, som gnuLinEx i Extremadura og Guadalinex i Andalusia. Frankrike og Tyskland har også tatt skritt for å ta i bruk Linux. Nord-Koreas Red Star OS , utviklet siden 2002, er basert på en versjon av Fedora Linux .

Opphavsrett, varemerke og navn

Linux-kjernen er lisensiert under GNU General Public License (GPL), versjon 2. GPL krever at alle som distribuerer programvare basert på kildekode under denne lisensen må gjøre den opprinnelige kildekoden (og eventuelle modifikasjoner) tilgjengelig for mottakeren under samme vilkår. Andre nøkkelkomponenter i en typisk Linux-distribusjon er også hovedsakelig lisensiert under GPL, men de kan bruke andre lisenser; mange biblioteker bruker GNU Lesser General Public License (LGPL), en mer tillatende variant av GPL, og X.Org- implementeringen av X Window System bruker MIT-lisensen .

Torvalds uttaler at Linux-kjernen ikke vil flytte fra versjon 2 av GPL til versjon 3. Han misliker spesifikt noen bestemmelser i den nye lisensen som forbyr bruk av programvaren i digital rettighetsadministrasjon . Det ville også være upraktisk å få tillatelse fra alle rettighetshaverne, som teller i tusenvis.

En studie fra 2001 av Red Hat Linux 7.1 fant at denne distribusjonen inneholdt 30 millioner kildelinjer med kode . Ved å bruke den konstruktive kostnadsmodellen estimerte studien at denne fordelingen krevde om lag åtte tusen personår med utviklingstid. Ifølge studien, hvis all denne programvaren hadde blitt utviklet med konvensjonelle proprietære midler, ville det ha kostet rundt 1,64 milliarder dollar å utvikle i 2021 i USA. Det meste av kildekoden (71%) ble skrevet i programmeringsspråket C , men mange andre språk ble brukt, inkludert C++ , Lisp , assembly-språk , Perl , Python , Fortran , og forskjellige shell-skriptspråk . Litt over halvparten av alle kodelinjer var lisensiert under GPL. Selve Linux-kjernen var 2,4 millioner linjer med kode, eller 8 % av totalen.

I en senere studie ble den samme analysen utført for Debian versjon 4.0 (etch, som ble utgitt i 2007). Denne distribusjonen inneholdt nærmere 283 millioner kildelinjer med kode, og studien estimerte at det ville ha krevd rundt syttitre tusen årsverk og kostet 9,16 milliarder dollar (i 2021 dollar) å utvikle med konvensjonelle midler.

Navnet "Linux" brukes også om et vaskemiddel laget av det sveitsiske selskapet Rösch.

I USA er navnet Linux et varemerke registrert for Linus Torvalds. Opprinnelig var det ingen som registrerte det, men 15. august 1994 søkte William R. Della Croce, Jr. om varemerket Linux , og krevde deretter royalties fra Linux-distributører. I 1996 saksøkte Torvalds og noen berørte organisasjoner ham for å få varemerket tildelt Torvalds, og i 1997 ble saken avgjort. Lisenseringen av varemerket har siden blitt håndtert av Linux Mark Institute (LMI). Torvalds har uttalt at han varemerkebeskyttet navnet bare for å forhindre at noen andre bruker det. LMI belastet opprinnelig et nominelt underlisensgebyr for bruk av Linux-navnet som en del av varemerker, men endret senere dette til fordel for å tilby en gratis, evigvarende verdensomspennende underlisens.

Free Software Foundation (FSF) foretrekker GNU/Linux som navn når de refererer til operativsystemet som helhet, fordi det anser Linux-distribusjoner som varianter av GNU- operativsystemet initiert i 1983 av Richard Stallman , president for FSF. De tar eksplisitt ingen problemer med navnet Android for Android OS, som også er et operativsystem basert på Linux-kjernen, da GNU ikke er en del av det.

Et mindretall av offentlige personer og andre programvareprosjekter enn Stallman og FSF, spesielt Debian (som hadde blitt sponset av FSF frem til 1996), bruker også GNU/Linux når de refererer til operativsystemet som helhet. De fleste medier og vanlig bruk refererer imidlertid til denne familien av operativsystemer ganske enkelt som Linux , og det samme gjør mange store Linux-distribusjoner (for eksempel SUSE Linux og Red Hat Enterprise Linux ). Derimot bruker Linux-distribusjoner som bare inneholder gratis programvare "GNU/Linux" eller ganske enkelt "GNU", slik som Trisquel GNU/Linux , Parabola GNU/Linux-libre , BLAG Linux og GNU , og gNewSense .

Fra mai 2011 er omtrent 8 % til 13 % av kodelinjene til Linux-distribusjonen Ubuntu (versjon "Natty") laget av GNU-komponenter (området avhengig av om GNOME anses som en del av GNU); i mellomtiden tas 6 % av Linux-kjernen, økt til 9 % når dens direkte avhengigheter inkluderes.

Se også

Notater

Referanser

Eksterne linker