Freitag, 10. September 2010

 

Linux - ein kurzer Überblick (POS1: 2A, 2C)


Linux oder oft auch GNU/Linux ist ein unix-ähnliches freies Betriebssystem, welches im Gegensatz zu Windows für viele Plattformen (x86, IA64, PPC, SPARC, Alpha, MIPS, ARM, PA-RISC, S/390, PowerPC uvam.) verfügbar ist.
Eigentlich ist Linux nur der Betriebssystemkern aber man kommt bei einer Distributionüblicherweise eine Menge anderer (System-)Software mitgeliefert, sodass man gleich nach der Installation alles hat, was man zum Arbeiten braucht. Bürosoftware, Kommunikation/Internet, Grafik, Entwicklung, Multimedia und Spiele - alles auf einmal installieren.Die Software ist durchwegs frei, d.h. auch im Sourcecode verfügbar. Mittlerweile gibt es aber auch schon zahlreiche kommerzielle Programme für Linux.
Der m.E. größte Unterschied zu Windows ist eher eine philosophische:
Linux/Unix Software ist optimal für den Programmierer Malcolm designed, bei Windows ist es Tante Emma, die im Mittelpunkt steht.

Einführung in Linux

Linux ist ein UNIX System. Die folgenden Aussagen beziehen sich daher auf UNIX und Linux.
Die beiden Autoren von UNIX, Ken Thompson und Dennis Ritchie schreiben: Es ist vielleicht paradox, dass der Erfolg des UNIX Systems hauptsächlich darauf zurückgeht, dass es nicht entworfen wurde, um irgendwelche vordefinierten Ziele zu erfüllen.
Dem UNIX System liegt die Philosophie zugrunde, eine Computerumgebung zu schaffen, in der sie selbst (Anmerkung: die Autoren von UNIX) ihre eigene Arbeit in komfortabler und effektiver Weise weitertreiben konnten - Forschung auf dem Gebiet der Programmierung.

Die wichtigsten Maxime von UNIX sind:

1. Jedes Programm soll eine einzige Aufgabe gut erfüllen. Um eine neue Aufgabe zu erledigen, baue eher ein neues Werkzeug, als alte Programme durch Hinzufügen neuer Eigenschaften zu verkomplizieren.
2. Erwarte jederzeit, dass die Ausgabe eines Programmes zu einer Eingabe für ein anderes, vielleicht noch unbekanntes Programm wird.
3. Entwerfe und programmiere Software, sogar Betriebssysteme, so, dass sie früh, idealerweise innerhalb von Wochen, ausprobiert werden kann.
4. Benutze lieber Werkzeuge als unqualifizierte Hilfsmittel, um eine Programmieraufgabe zu erleichtern, auch wenn sich dadurch der Umweg ergibt, diese Werkzeuge erst bauen zu müssen. Erwarte auch, einige davon wegzuwerfen, nachdem sie nicht mehr gebraucht werden.
Die Philosophie von UNIX wurde nie explizit festgelegt, sondern äußert sich implizit in seinen Charakteristiken.

Charakteristiken von Unix

Modularität
Alle Aufgaben werden in Grundbestandteile zerlegt. In einem Programm wird, soweit möglich, eine und genau eine Grundfunktion realisert.
Soviel wie nötig, so wenig wie möglich 
Wiederverwendbarkeit
Durch das Lösen von Grundaufgaben im Gegensatz zu aktuellen Spezialaufgaben wird Software in hohem Maß wiederverwendbar.
Generalität
Kombinierbarkeit
Wie sich die Bausteine aus einem Baukasten zu einem ganzen Bauwerk zusammenfügen lassen, so können die einzelnen Programme unter UNIX zu einem größeren Software-"Bauwerk" kombiniert werden.

Verständlichkeit
Aus dem relativ geringen Umfang der einzelnen Software-Bausteine ergibt sich eine erhöhte Verständlichkeit, da kleine Teile stets besser zu überblicken sind als große.
Flexibilität
Der Benutzer kann zwar die gebotenen Leistungen in Anspruch nehmen, vermag sich jedoch auch die Umgebung nach seinen eigenen Vorstellungen selbst zu gestalten.

Besonderheiten von Linux

Linux bezeichnet eigentlich nur den Kernel und wird unter der GNU General Public License verteilt. Allerdings wird unter dem Begriff Linux meist die gesamte Betriebssystemumgebung gemeint, das ist also der Kernel und die Systemsoftware des GNU-Projekts. Korrekterweise müsste man also von GNU/Linux sprechen.
Genaueres zur GNU General Public License ist auf der Homepage des GNU-Projektes zu finden: www.gnu.org

Eigenschaften von UNIX/Linux

Die folgenden Aussagen gelten auch für Linux.
Hierarchisches Dateisystem – alles ist eine Datei.
Multitasking – mehrere Prozesse (laufende Programme) zur selben Zeit.
Multiuser – mehrere Benutzer zur selben Zeit.
Netzwerkfähigkeiten – TCP/IP und damit die Basis des Internets ist mit UNIX groß geworden, in UNIX ist die Netzwerkfähigkeit schon integriert.
Plattformunabhängigkeit – UNIX gibt's für praktisch jede Hardware.
Programmierplattform - UNIX wird von Haus aus mit einer Fülle von Softwarentwicklungs-Tools geliefert.
UNIX ist transparent – die gesamte Systemkonfiguration ist für den Administrator frei zugänglich (praktisch immer in Form von Textdateien).
UNIX ist automatisierbar – praktisch jede (Administrations-)Aufgabe ist automatisierbar.
Flexible Benutzerschnittstelle – es existiert eine Fülle an verschiedenen grafischen Oberflächen, KDE und Gnome sind die häufigsten.

(unvollständiger) Vergleich Windows - Linux KDE

WindowsLinux/KDE/Gnome
DoppelklickEinfachklick (bei Gnome Doppelklick, Einfachklick im nautilus einstellen)
\ als Verzeichnistrenner/ als Verzeichnistrenner, / am Anfang eines Pfades ist das Wurzelverzeichnis (root directory)
LaufwerkeVerzeichnisbaum, Einhängen (mount) von Wechseldatenträgern, Server-Verzeichnisse
„Eigene Dateien“/home/$USER ($HOME entspricht dem Benutzernamen)
LizenzGPL (General Public License)
Große umfangreiche ProgrammeViele kleine Programme mit jeweils nur einem begrenzten Aufgabenumfang (es gibt schon große – OpenOffice)
Kommandozeile schlecht unterstützt – hauptsächlich graphische OberflächeGute Unterstützung für Kommandozeile – verschiedene Shells (Filename-Expansion, History, eigene Programmiersprache in Shell integriert)
Dateiendungen wichtigDateiendungen nicht so wichtig
Registry für EinstellungenEinstellungen werden in „unsichtbare“ Textdateien gespeichert, viele kleine Dateien
ftp – eigenes Programm nötigftp in konqueror integriert
Login/Shutdown - ++Eigene Kommandos, Login direkt
Zugriffsrechtesystem (falls eingesetzt) feiner abstimmbarRechte nur auf Eigentümer, Gruppe, andere
Anwendungssoftware muss extra erworben und installiert werdenDie meisten Distributionen enthalten eine Menge freier Anwendungssoftware, die gleich bei der ersten Installation mit installiert werden kann
Programmierumgebungen müssen extra erworben und installiert werdenProgrammierumgebungen sind mit dabei
Viele SpieleWenig Spiele
Viele VirenKeine Viren


Interessante Daten zu Linux

Folgende Informationen stammen aus dem Bericht "Estimating the Total Development Cost of a Linux Distribution":
Ähnliche Informationen zu Windows konnte ich leider nicht finden.

Fragen

1. Was ist Linux?
2. Erklären Sie die Philosophie, die hinter UNIX/Linux steckt!
3. Was sind die Charakteristiken von UNIX/Linux?
4. Welche Eigenschaften hat UNIX/Linux?
5. Vergleichen Sie Windows mit Linux!
6. Wo befinden sich Ihre Arbeitsdateien?
7. Wie werden Eigenschaften von Programmen (Konfiguration) gespeichert?

Labels: ,


Kommentare:

Kommentar veröffentlichen

Abonnieren Kommentare zum Post [Atom]





<< Startseite

This page is powered by Blogger. Isn't yours?

Abonnieren Posts [Atom]