Linux: Unterschied zwischen den Versionen
| Zeile 120: | Zeile 120: | ||
Kurz: Wo immer ein Prozessor sitzt und genug RAM/Flash hat, kann man Linux draufpacken. | Kurz: Wo immer ein Prozessor sitzt und genug RAM/Flash hat, kann man Linux draufpacken. | ||
| − | |||
| − | |||
=== Das Tolle an der Software: Fast alles läuft überall, wo Linux läuft === | === Das Tolle an der Software: Fast alles läuft überall, wo Linux läuft === | ||
| Zeile 127: | Zeile 125: | ||
Noch cooler: Die meisten Programme (Apps, Tools, Server-Software) müssen nicht von Grund auf neu geschrieben werden, nur weil du die Hardware wechselst. | Noch cooler: Die meisten Programme (Apps, Tools, Server-Software) müssen nicht von Grund auf neu geschrieben werden, nur weil du die Hardware wechselst. | ||
| − | Warum? | + | '''Warum?''' |
* Linux-Software ist meist in Sprachen wie C, C++, Rust, Python usw. geschrieben. | * Linux-Software ist meist in Sprachen wie C, C++, Rust, Python usw. geschrieben. | ||
* Der Quellcode ist '''architekturunabhängig''' (oder fast). | * Der Quellcode ist '''architekturunabhängig''' (oder fast). | ||
Version vom 30. Januar 2026, 15:11 Uhr
Inhaltsverzeichnis
Was ist Linux eigentlich?
Linux ist kein komplettes Betriebssystem wie Windows oder macOS, sondern der Kern (der sogenannte Kernel) davon. Der Kernel ist sozusagen das Herzstück: Er spricht direkt mit der Hardware (Prozessor, Speicher, Festplatte, Netzwerk usw.) und sorgt dafür, dass Programme laufen können, Dateien gespeichert werden und alles zusammenarbeitet.
Linux ist frei (kostenlos), open source (jeder darf den Quellcode anschauen, ändern, verbessern) und vor allem Unix-ähnlich – das heißt, es folgt denselben Prinzipien und Befehlen wie das alte Unix.
1. Wer hat Linux erfunden – und warum?
Linux wurde 1991 von einem finnischen Studenten namens Linus Torvalds erfunden (damals 21 Jahre alt, studierte Informatik an der Universität Helsinki).
Warum? Damals war ein richtiges Unix für normale PCs super teuer (oft mehrere Tausend Mark/Dollar) oder gar nicht verfügbar. Linus wollte einfach nur ein cooles, stabiles Betriebssystem für seinen neuen 386er-PC haben – ohne viel Geld auszugeben.
Er fing als Hobby-Projekt an: „Nur ein kleines Freizeitprojekt, wird nie groß und professionell wie GNU“ – so schrieb er damals in einer Newsgroup. 😄 Er nahm sich MINIX als Vorbild (ein kleines, lehrbuchartiges Unix-ähnliches System von Andrew Tanenbaum), schrieb aber alles von Grund auf neu – kein Kopieren von Code.
Am 25. August 1991 postete er das erste Mal öffentlich:
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.
Der Rest ist Geschichte: Tausende Entwickler weltweit halfen mit → heute läuft fast alles auf Linux-Kernel.
2. Welcher Unix-Kern war das Vorbild?
Linux ist kein direkter Abkömmling von einem bestimmten Unix-Kern, sondern ein von Grund auf neu geschriebener, Unix-kompatibler Kernel („Unix-like“).
Das große Vorbild war MINIX (nicht das originale AT&T-Unix). MINIX war ein Mini-Unix für Lehre, lief auf günstigen PCs und hatte einen Microkernel-Ansatz. Linus nutzte MINIX zuerst, um seinen Code zu entwickeln und zu testen – deswegen hat Linux z. B. anfangs das MINIX-Dateisystem übernommen. Später wurde alles eigene Sache.
Linux ist also kein Unix-Klon im Sinne von Kopie, sondern ein eigenständiges, freies System, das sich an Unix-Standards (POSIX) hält.
3. Unix-Kernel in Android und Apple?
Ja – fast jeder benutzt heute Unix(-like)-Technik, oft ohne es zu merken!
- Android → läuft komplett auf dem Linux-Kernel (angepasst von Google). Jede App, jedes Foto, jedes Spiel auf deinem Android-Handy nutzt Linux-Code im Hintergrund. → Android ist quasi „Linux fürs Handy“.
- Apple (iPhone/iPad = iOS, Mac = macOS) → basiert nicht auf Linux, sondern auf Darwin (das ist Apples freier Unix-Kern). Der Kernel heißt XNU („X is Not Unix“ – witziger Name). Darwin kommt aus NeXTSTEP (von Steve Jobs' Firma NeXT) + BSD-Unix-Teilen + Mach-Microkernel. → macOS und iOS sind offiziell Unix-zertifiziert (oder zumindest sehr nah dran).
Kurz gesagt:
- Android = Linux-Kernel + Google-Extras
- iOS/macOS = Darwin/XNU-Kernel (BSD-Unix-basiert)
- Klassisches Linux (Ubuntu, Fedora, Debian…) = Linux-Kernel + GNU-Software + Co.
Fazit: Jeder arbeitet heute mit Unix!
Ob du ein Android-Handy in der Hand hast, einen Mac benutzt, einen Server bei Amazon/Google/Microsoft laufen lässt, in der Cloud surfst, Smart-TVs, Router, Autos, Supercomputer oder sogar die meisten Webseiten (ja, die meisten laufen auf Linux-Servern) – fast überall steckt Unix-Technik drin.
Linux hat es geschafft, dass freie, offene Unix-ähnliche Systeme die Welt erobern – ohne dass man teure Lizenzen zahlen muss.
Was ist der Linux-Kernel?
Wenn du diese Zeilen gerade liest – egal ob auf einem Smartphone, einem Linux-Rechner, einem Server oder was auch immer – dann nutzt du ein Programm (eine App oder Applikation), um das AutarkWiki anzeigen zu lassen.
Dein Browser (Chrome, Firefox, Edge, Safari…) interpretiert die Daten, die er vom Webserver bekommt, und zeigt dir Text, Bilder und Links an. Aber das ist eine andere Geschichte – wir bleiben erst mal beim Kern der Sache.
Dein Programm läuft in einem Betriebssystem, das dir eine grafische Benutzeroberfläche (GUI = Graphical User Interface) zur Verfügung stellt. Unter Windows heißt die meist einfach „Windows Desktop“, bei macOS ist es Aqua – und bei Linux?
Unter Linux gibt es sehr viele Benutzeroberflächen
Linux bietet eine riesige Auswahl an grafischen Oberflächen – genauer gesagt: Desktop-Umgebungen (Desktop Environments, kurz DEs).
Wie viele genau? Es gibt keine feste Zahl, weil ständig neue entstehen, alte gepflegt oder aufgegeben werden und manche nur Nischenprojekte sind. Aber realistisch gesprochen:
- Es gibt Dutzende (oft 20–50 je nach Quelle), wenn man alle mitzählt – von superleicht bis richtig aufwendig.
- Die wirklich populären und aktiv gepflegten sind etwa 8 bis 15. Die Top-Spieler sind z. B.:
- GNOME (Standard bei Ubuntu, Fedora…)
- KDE Plasma (sehr anpassbar, sieht oft aus wie modernes Windows)
- Cinnamon (Standard bei Linux Mint, fühlt sich Windows-ähnlich an)
- XFCE (leichtgewichtig, schnell, beliebt auf älteren Rechnern)
- MATE (klassisch, GNOME-2-Nachfolger)
- Budgie, LXQt, Deepin, Pantheon (von elementary OS) usw.
Das Tolle: Du kannst fast alle auf fast jeder Linux-Distribution installieren und sogar mehrere nebeneinander haben. Beim Login wählst du dann einfach aus, welche du starten willst. Aber Achtung: Je mehr du installierst, desto mehr Platz und Abhängigkeiten brauchst du.
Aber Achtung: Das ist immer noch NICHT Linux ;)
All diese schicken Oberflächen (GNOME, KDE, Cinnamon & Co.) sind nicht der Linux-Kernel! Sie laufen oben drauf.
Der Linux-Kernel sitzt ganz unten – direkt auf der Hardware:
- Er enthält die Treiber für deine Grafikkarte, Soundkarte, WLAN, Tastatur, Maus, Festplatte/SSD, USB usw.
- Er verwaltet den Prozessor, den Arbeitsspeicher, die Dateisysteme und die Prozesse (welches Programm darf wann laufen).
- Er sorgt dafür, dass alles sicher und stabil zusammenarbeitet – ohne dass du es merkst.
Stell dir den Linux-Kernel wie den Motor und das Getriebe eines Autos vor: Ohne ihn fährt gar nichts. Die Desktop-Umgebung ist dann das Lenkrad, die Sitze, das Radio und das schicke Cockpit – super wichtig für den Fahrer (dich), aber der Motor ist immer noch der Kernel.
Kurz gesagt:
- Linux-Kernel = das echte Herz, der Kern, der mit der Hardware redet
- Desktop-Umgebung (GNOME, KDE etc.) = die hübsche Oberfläche, die du siehst und benutzt
- Betriebssystem (Distribution) = Kernel + Desktop + Programme + Installer + alles zusammen (z. B. Ubuntu = Linux-Kernel + GNOME + Tausende Pakete)
Ohne den Linux-Kernel gäbe es keine Android-Handys, keine Cloud-Server bei Google/Amazon, keine Supercomputer – und auch kein AutarkWiki zum Anschauen. 😄
Fazit für diesen Teil
Der Linux-Kernel ist der unsichtbare Held: klein, mächtig, überall – und komplett frei. Alles Schöne drumherum (die GUIs) ist austauschbar und vielfältig – genau das macht Linux so flexibel.
Im nächsten Teil könnten wir z. B. erklären, was eine Distribution ist, warum es so viele gibt oder wie der Kernel eigentlich updated wird. Sag Bescheid, wie's weitergehen soll! 🚀
Linux ist hardware-unabhängig – läuft fast überall
Linux ist nicht an eine bestimmte Hardware gebunden. Ob du einen klassischen x86-PC (wie die meisten Intel/AMD-Desktops und Laptops), einen ARM-Prozessor (wie in fast allen Smartphones, Tablets, Raspberry Pis oder vielen Servern) oder sogar einen RISC-V-Prozessor (die neue, offene Alternative, die immer mehr kommt) hast – Linux kann darauf laufen.
Das ist einer der großen Vorteile: Der Linux-Kernel ist so modular aufgebaut, dass es für Dutzende Prozessor-Architekturen (auch "Instruction Sets" genannt) eigene Versionen gibt. Aktuell unterstützt der Kernel offiziell:
- x86 und x86_64 (klassische PCs und Server)
- ARM (32-Bit und 64-Bit, z. B. dein Handy, viele Embedded-Geräte)
- RISC-V (seit 2017 offiziell, wird immer stärker – z. B. in neuen Entwicklungs-Boards)
- Und viele mehr: PowerPC, MIPS, LoongArch, S390 usw.
Dank dieser Portabilität läuft Linux auf:
- Deinem Laptop/PC
- Deinem Android-Smartphone (Android nutzt den Linux-Kernel!)
- Raspberry Pi und anderen Mini-Computern
- Supercomputern (die meisten der schnellsten der Welt laufen Linux)
- Routern, Smart-TVs, Autos, Drohnen, Servern in der Cloud...
Kurz: Wo immer ein Prozessor sitzt und genug RAM/Flash hat, kann man Linux draufpacken.
Das Tolle an der Software: Fast alles läuft überall, wo Linux läuft
Noch cooler: Die meisten Programme (Apps, Tools, Server-Software) müssen nicht von Grund auf neu geschrieben werden, nur weil du die Hardware wechselst.
Warum?
- Linux-Software ist meist in Sprachen wie C, C++, Rust, Python usw. geschrieben.
- Der Quellcode ist architekturunabhängig (oder fast).
- Um ein Programm lauffähig zu machen, muss man es nur für die Ziel-Architektur kompilieren (übersetzen) – der Compiler (z. B. GCC oder Clang) erzeugt dann den passenden Maschinencode.
Beispiele:
- Ein Programm wie Firefox oder LibreOffice: Der Quellcode ist gleich, aber es gibt fertige Versionen für x86_64, ARM64, RISC-V usw.
- Auf Android (ARM) laufen dieselben Open-Source-Apps wie auf einem Linux-Desktop (x86), oft nur recompiliert.
- Server-Software (Apache, Nginx, Nextcloud, Docker-Container) läuft fast identisch auf x86-Servern oder ARM-basierten Cloud-Instanzen (z. B. AWS Graviton, Google Tau).
Manchmal braucht's kleine Anpassungen (z. B. für spezielle Hardware-Features), aber meist reicht:
- Recompilieren des Quellcodes → neues Binary für die neue Architektur.
- Oder: Verwenden von universellen Formaten wie Flatpak, Snap, AppImage – die packen alles mit und laufen oft cross-Architektur (mit etwas Overhead).
Nur reine Binaries (vorkompilierte Programme ohne Quellcode) sind meist nicht portabel zwischen Architekturen – ein x86-Binary läuft nicht direkt auf ARM. Deshalb verteilen viele Projekte Quellcode oder Multi-Arch-Pakete.
Warum das so mächtig ist
Durch diese Hardware-Unabhängigkeit und Software-Portabilität kannst du:
- Dasselbe Betriebssystem und dieselben Programme auf Handy, PC, Server und Mini-Computer nutzen.
- Kosten sparen (keine teuren Lizenzgebühren für proprietäre OS pro Hardware).
- Frei experimentieren (z. B. Linux auf alten Geräten wiederbeleben oder neue RISC-V-Boards ausprobieren).
Linux hat es geschafft, dass Software nicht mehr an einen Hersteller oder eine Prozessor-Firma gebunden ist – das ist echte Freiheit!
Im nächsten (und letzten?) Teil kommen dann die Distributionen: Warum gibt's Ubuntu, Fedora, Debian, Arch & Co.? Was ist der Unterschied? Und warum brauchst du eine?
Sag Bescheid, wenn du hier noch was ändern/ergänzen möchtest (z. B. mehr Beispiele, einfachere Sprache, oder direkt mit Distributionen weitermachen). Oder soll ich gleich den Distributions-Teil entwerfen?