Linux

GNU/Linux is een Unix-achtig besturingssysteem (of een familie van besturingssystemen) dat bestaat uit gratis en open source software.GNU/Linux is ontstaan ​​uit de bijdragen van verschillende softwareprojecten, met name GNU (gestart door Richard Stallman in 1983) en de “Linux”-kernel (gestart door Linus Torvalds in 1991).

Ondanks het feit dat in het alledaagse jargon de meeste mensen het woord “Linux” gebruiken om naar dit besturingssysteem te verwijzen, is dat in werkelijkheid alleen de naam van de kernel, aangezien het volledige systeem ook bestaat uit een groot aantal GNU-projecten componenten samen met componenten van derden, variërend van compilers tot desktopomgevingen. Opgemerkt moet worden dat er derivaten zijn die de Linux-kernel gebruiken maar geen GNU-componenten hebben, zoals het Android-besturingssysteem.Er zijn ook GNU-softwaredistributies waar de Linux-kernel ontbreekt.

Linux desktop Open SuSe

GNU/Linux-besturingssystemen worden meestal gevonden in de vorm van verzamelingen die bekend staan ​​als distributies of distro’s. De meest populaire zijn Debian, Ubuntu, Red Hat en SUSE. Het doel van deze distributies is om GNU/Linux aan te bieden als een eindproduct om te installeren of uit te proberen op een computer, en voorziet in een reeks behoeften die gaan van dagelijks persoonlijk gebruik tot zeer specifieke toepassingen in gespecialiseerde omgevingen. Aan het basissysteem voegen distro’s hun eigen selectie van vooraf geïnstalleerde applicaties en programma’s toe (bijv. X11, Gnome en KDE-gebaseerde grafische omgevingen), of applicaties die kunnen worden gedownload van een repository voor latere installatie.

Sommige van deze distributies staan ​​vooral bekend om hun gebruik op internetservers, supercomputers en embedded systemen; markten waar GNU/Linux het grootste aandeel heeft. Het Top500.org-ranglijstproject meldt dat vanaf 2017 de 500 krachtigste supercomputers ter wereld allemaal een versie van het GNU/Linux-besturingssysteem gebruiken; en sinds 2004 was het al het dominante systeem Verschillende onderzoeken hebben het consequent gepositioneerd als het meest populaire besturingssysteem voor webservers. In embedded toepassingen is het gebruikelijk om Linux te vinden dat is geïnstalleerd op routers, smart-tv’s en smartwatches, auto-entertainmentsystemen en digitale videorecorders Hoewel met minder deelname, wordt het GNU/Linux-systeem ook gebruikt in het segment van desktopcomputers, laptops, mobiele apparaten, zakcomputers, gameconsoles en andere.

GNU/Linux is een van de meest prominente voorbeelden van vrije software: alle broncode mag vrij worden gebruikt, gewijzigd en verspreid door elke persoon, bedrijf of instelling, onder de voorwaarden van de GNU General Public License, evenals andere reeksen van auteursrechtelijke licenties.

Technologie

Linus Torvalds gebruikte aanvankelijk alleen de term Linux voor de kernel, die de software voorziet van een interface waarmee deze zonder het beter te weten toegang heeft tot de hardware. De Linux-kernel is een monolithische kernel geschreven in de programmeertaal C met behulp van enkele GNU-C-extensies. Belangrijke subroutines en tijdkritische modules zijn echter geprogrammeerd in processorspecifieke assembler. De kernel maakt het mogelijk om alleen de stuurprogramma’s te laden die nodig zijn voor de respectieve hardware. Verder neemt de kernel ook de toewijzing van processortijd en -bronnen over aan de individuele programma’s die erop worden gestart. Wat betreft de individuele technische processen is het ontwerp van Linux sterk gebaseerd op zijn Unix-model.

De Linux-kernel is sindsdien geporteerd naar een zeer groot aantal hardware-architecturen. Het repertoire varieert van nogal exotische besturingsomgevingen zoals de iPAQ-handcomputer, navigatieapparatuur van TomTom of zelfs digitale camera’s tot mainframes zoals IBM’s System z en sinds kort ook mobiele telefoons zoals de Motorola A780 en smartphones met besturingssystemen zoals Android of Sailfish OS op de Jolla. Ondanks het modulaire concept bleef de monolithische basisarchitectuur behouden. De oriëntatie van de originele versie op de wijdverbreide x86-pc’s leidde tot efficiënte ondersteuning van een breed scala aan hardware en het leveren van stuurprogramma’s, zelfs voor onervaren programmeurs. De basisstructuren die werden geproduceerd, spoorden de verspreiding aan.

Kernelversies

Alle kernelversies worden gearchiveerd op kernel.org. De versie die daar te vinden is, is de respectievelijke referentiekernel. Hierop zijn de zogenaamde distributiekernels gebaseerd en door de afzonderlijke Linux-distributies worden extra functies toegevoegd. Bijzonder is het versienummerschema bestaande uit vier cijfers en gescheiden door punten, b.v. B. 2.6.14.1. Het geeft informatie over de exacte versie en dus ook over de mogelijkheden van de bijbehorende kernel. Van de vier nummers verandert de laatste voor bugfixes en opruimingen, maar niet voor nieuwe functies of grote wijzigingen. Om deze reden wordt het bijvoorbeeld zelden opgenomen bij het vergelijken van kernelversies. Het voorlaatste, derde cijfer verandert als nieuwe vaardigheden of functies worden toegevoegd. Hetzelfde geldt voor de eerste twee nummers, maar daarvoor moeten de veranderingen en nieuwe functies ingrijpender zijn. Vanaf versie 3.0 (augustus 2011) vervalt het tweede cijfer.

Ontwikkelingsproces

Door de GPL en een zeer open ontwikkelmodel is de ontwikkeling van Linux niet in handen van individuen, bedrijven of landen, maar in handen van een wereldwijde gemeenschap van vele programmeurs die voornamelijk informatie uitwisselen via internet. In veel e-maillijsten, maar ook op fora en op Usenet heeft iedereen de mogelijkheid om de discussies over de kernel te volgen, eraan deel te nemen en ook actief bij te dragen aan de ontwikkeling. Deze ongecompliceerde aanpak zorgt voor een snelle en gestage ontwikkeling, wat ook betekent dat iedereen de vaardigheden die ze nodig hebben aan de kernel kan toevoegen. Dit wordt alleen beperkt door de besturing van Linus Torvalds en een paar speciaal geselecteerde programmeurs die het laatste woord hebben bij het opnemen van verbeteringen en patches. Op deze manier worden elke dag ongeveer 4.300 regels nieuwe code gemaakt, waarbij ongeveer 1.800 regels worden verwijderd en elke dag 1.500 worden gewijzigd (volgens Greg Kroah-Hartman als gemiddelde voor 2007). Bij de ontwikkeling van 300 subsystemen zijn momenteel ongeveer 100 beheerders betrokken.

Innovaties in de kernel 2.6

De stabiele kernel 2.6 is vanaf december 2001 ontwikkeld op basis van de toenmalige 2.4-kernel en kent een aantal vernieuwingen. De meest opvallende impact van deze veranderingen is dat grafische en interactieve applicaties aanzienlijk sneller werken.

Een van de belangrijkste veranderingen was de verbetering van de zogenaamde O(1)-planner, die Ingo Molnár volledig opnieuw heeft ontworpen voor de 2.6-kernel. Het heeft de mogelijkheid om processortijd toe te wijzen aan verschillende processen, ongeacht het aantal processen, in constante tijd. Sinds kernel 2.6.23 wordt in plaats daarvan echter de zogenaamde Completely Fair Scheduler gebruikt.

Een andere innovatie is de introductie van toegangscontrolelijsten, waarmee een zeer fijn afgestemd rechtenbeheer mogelijk is, wat vooral in omgevingen met veel gebruikers van groot belang is. De nieuwe kernel heeft ook een aanzienlijk verbeterd bestandsbewakingssysteem. In de nieuwe versie, Inotify genaamd, geeft de monitor een melding voor elke bewerking op een bestand, dat b.v. B. is belangrijk voor desktopzoekmachines, die vervolgens hun index kunnen bijwerken met betrekking tot dit bestand.

Distributies

Aangezien de Linux-kernel niet zelfstandig zou kunnen draaien of werken, moet deze samen met hulpsoftware worden gedistribueerd, bijvoorbeeld de GNU Core Utilities en vele andere toepassingsprogramma’s. Zo’n compilatie wordt “Linux-distributie” genoemd, het is een compilatie van verschillende software, die kan verschillen afhankelijk van de omstandigheden. De resulterende verdelingen verschillen soms erg sterk. De uitgever van een Linux-distributie is de distributeur.

Geschiedenis van Linux-distributies

De behoefte aan Linux-distributies kwam vrijwel onmiddellijk voort uit het Linux-ontwikkelmodel. De tools van het GNU-project werden snel aangepast voor Linux om een ​​werkend systeem te kunnen bieden. De eerste compilaties van dit soort waren MCC Interim Linux, Softlanding Linux System (SLS) en Yggdrasil Linux in 1992. De oudste nog bestaande distributie, Slackware van Patrick Volkerding, volgde in 1993 en stamt af van Softlanding Linux System.

Met de verspreiding van Linux-distributies kregen meer mensen de mogelijkheid om het systeem te testen, en werden de distributies steeds uitgebreider, waardoor een steeds groter toepassingsgebied kon worden ontsloten, waardoor Linux steeds meer een aantrekkelijk alternatief werd voor besturingssystemen van gevestigde fabrikanten. De achtergrond van de distributies veranderde ook in de loop van de tijd: terwijl de eerste distributies nog voor het gemak en door individuen of kleine groepen werden geschreven, zijn er tegenwoordig soms zeer grote gemeenschapsprojecten door vrijwilligers, bedrijfsdistributies of een combinatie van beide.

Moderne distributies