Hallo DGDS1012 ,
Was ist bei Linux anders und vorteilhafter als bei Windows?
Es ist anders, weil es ein openSource-System ist, das bedeutet das der Programmiercode jedes Programms (Sei es nun der Apache-Server, der Web-Browser oder der Paketmanager oder wasauchimmer) ist frei verfügbar, jeder der die Programmiersprache kann, kann den Code einsehen, bearbeiten, verändern, nutzen und das veränderte veröffentlichen. Man kann daraus lernen wie was umgesetzt werden kann und erweitert durch die Nutzung sein Wissen immer weiter.
Man kann bei einem GNU/Linux-Systems absolut jede Kleinigkeit selbst bestimmen. Hier mal ein guter Link wie alleine der Kernel konfiguriert werden kann:
http://www.thomashertweck.de/kernel26.html
Ich kann mit einem Konfigurationsprogramm den Kernel so exakt an eine einzige Hardware anpassen das dieser dann nur dort, dafür aber mit voller Unterstützung aller Komponenten läuft und das in einer Geschwindigkeit die ein "All-Around-Kernel" gar nicht zu leisten vermag.
- In einem Standard-Kernel sind Treiber für nahezu alle Hardwaregeräte vorhanden die bis dato unterstützt werden.
- Aber warum sollte ich bei einem Uralt-PC (wie meiner, <8 Jahr alt) die Treiber für USB3.0 oder PCIe oder S-ATA , Bluetooth und Infrarot-Treiber, W-Lan und Firewire mit im Kernel lassen wenn es diese Dinge in meiner Konstellation gar nicht gibt?
- Das spart mir Zeit beim kompilieren des Kernels weil ich nur die Fähigkeiten hineinbringen muss die für explizit diese Hardware benötigt werden.
- Es spart logischerweise auch Bootzeit weil nicht erst alle unnötigen Treiber ausprobiert werden müssen sondern direkt das benötigte gestartet wird.
- Hardwareabfragen werden auf das aller nötigste beschränkt.
- So kann ich meinen Kernel so klein machen das ich es schaffe in 10 Sekunden oder sogar darunter meinen Computer zu booten. Vergleich mal mit Spashtop oder UEFI-Boot, das ist im Prinzip nichts anderes als eine extrem Hardware-nahe Programmierung mit maximaler Effizienz.
Was glaubst Du wohl wie es Apple mit OS-X macht, die Hardware kommt von genau einem Hersteller und der macht auch das OS, also passt er das OS an die Hardware an und alles ist gut.
Aber nicht nur das Betriebssystem sondern auch die tausende von Programmen arbeiten in der Regel nach dem KISS-Prinzip "Keep it small and simple" oder "Ein Programm für eine Sache - die aber richtig".
Beispiel für eine angepasste Distribution:Du möchtest ein Programm schreiben das openOffice Dokumente lesen, darstellen drucken kann. Dafür braucht es:
- eine Dateiauswahlfunktion damit Du ein Dokument laden kannst.
- ein Darstellungsfenster worin das geladene Dokument angezeigt wird.
- eine Ausgabefunktion um es an den Drucker übergeben zu können.
Da nun aber alle diese Einzelteile bereits erfunden und als openSource veröffentlicht wurden, brauchst Du nur die vorhandenen Funktionen zusammen zu fügen und hast ein Programm geschrieben.
Dabei fügst Du nicht wirklich die Programmierzeilen der Dateiauswahl zu Deinem Code hinzu sondern verweist auf die bei jedem bereits installierte Dateiauswahl ect. pp. zurück, das spart obendrein noch richtig viel Platz auf der Festplatte weil auch bei 1000 Programmen nur eine Dateiauswahl im System abgelegt sein muss.
So machen das alle Programme auf GNU/Linux-Systemen, sie nutzen fast ausschließlich so genannte shared Librarys und sind deswegen kleiner, Ressourcen-schonender und letztlich schneller als vergleichbare Windows Programme
lieben Gruß aus Zuhaus