Betriebssysteme & Linux: Einführung, Evolution, Merkmale
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 6,12 KB
Einführung in Betriebssysteme
Ein Betriebssystem ist ein Programm (oder eine Menge von Programmen) zur Steuerung, das dazu dient, die Computernutzung zu erleichtern und sicherzustellen, dass er effizient genutzt wird. Es ist ein Steuerprogramm, da es für die Verwaltung und Zuteilung von Ressourcen verantwortlich ist.
Evolution von Betriebssystemen
- Phase I: 1943-1955. In dieser Phase gab es keine Betriebssysteme im heutigen Sinne. Der Bediener führte das Programm aus und wartete auf die Ergebnisse, die langsam auf einem Drucker ausgegeben wurden. Später kamen Assembler hinzu.
- Phase II: 1956-1963. Verwendung von Zwischenspeichern wie Magnetbändern. Stapelverarbeitung (Batch-Processing).
- Phase III: 1963-1979. Weiterentwicklung der Stapelverarbeitung. Entstehung von Multiprogramming-Betriebssystemen, die interaktives Arbeiten ermöglichen.
- Phase IV: 1980 - ... Entwicklung von Betriebssystemen für Personal Computer.
Netzwerk-Betriebssysteme
Netzwerk-Betriebssysteme können als Erweiterung herkömmlicher Betriebssysteme betrachtet werden. Zusätzlich zu den Programmen und der Netzwerkschnittstelle ermöglichen sie eine Arbeitssitzung mit einem Remote-Computer und das Kopieren von Dateien von einem Computer zum anderen.
Verteilte Betriebssysteme
Verteilte Betriebssysteme sind viel komplexer. Sie ermöglichen es dem Benutzer, transparent ein oder mehrere Programme gleichzeitig auf mehreren Prozessoren auszuführen und gegebenenfalls mit Daten auf verschiedenen, verteilten Dateiservern zu arbeiten. Dies erfordert, dass das Betriebssystem hochentwickelte Algorithmen zur parallelen Aufgabenplanung verwendet.
Was ist Linux?
Linux ist ein Unix-kompatibles Betriebssystem. Zwei sehr besondere Merkmale unterscheiden es von anderen Systemen auf dem Markt: Erstens ist es kostenlos, was bedeutet, dass wir keine Lizenzgebühren an ein Softwareentwicklungsunternehmen zahlen müssen. Zweitens wird das System mit dem Quellcode geliefert.
Der Linux-Kernel
Der Kernel oder Linux-Kernel kann als das Herz des Systems definiert werden. Er ist dafür verantwortlich, dass Software und Hardware auf dem Computer ordnungsgemäß funktionieren.
Wichtige Funktionen des Kernels
Die wichtigsten Funktionen des Kernels sind (wenn auch nicht ausschließlich):
- Speicherverwaltung für alle Programme.
- Verwaltung der Prozessorzeit, die diese Programme nutzen.
- Er ermöglicht uns den bequemen Zugriff auf die Peripheriegeräte/Elemente unseres Computers.
Linux-Kernel-Versionen
Es gibt zwei Versionen des Linux-Kernels:
- Produktionsversion: Die Produktionsversion ist die aktuell stabile Version. Sie ist das Endergebnis der experimentellen Entwicklungsversion.
- Entwicklungsversion: Diese Version ist experimentell und wird von Entwicklern verwendet, um neue Funktionen, Korrekturen usw. zu entwickeln, zu testen und zu überprüfen. Diese Kernel sind in der Regel instabil und sollten nicht verwendet werden, wenn man nicht genau weiß, was man tut.
Nummerierung der Kernel-Versionen (XX.YY.ZZ)
Die Kernel-Versionen werden mit 3 Zahlen wie folgt nummeriert:
- XX: Zeigt die Haupt-Kernel-Serie an. Diese Zahl ändert sich, wenn sich die Art und Weise der Kernel-Implementierung stark verändert hat.
- YY: Gibt an, ob die aktuelle Version eine Entwicklungs- oder Produktionsversion ist. Eine ungerade Zahl bedeutet Entwicklung, eine gerade Zahl bedeutet Produktion.
- ZZ: Gibt neue Versionen innerhalb einer Unterversion an, bei denen nur Programmierfehler/Bugs behoben wurden.
Wichtige Merkmale von Linux
- Multitasking: Beschreibt die Fähigkeit, mehrere Programme gleichzeitig auszuführen. Linux verwendet präemptives Multitasking.
- Multiuser: Ermöglicht vielen Benutzern, dieselbe Maschine gleichzeitig zu nutzen.
- Multiplattform-Unterstützung.
- Multiprozessor-Unterstützung: Unterstützung für Systeme mit mehreren Prozessoren ist verfügbar.
- Läuft im geschützten Modus (ab 386er Prozessoren).
- Speicherschutz zwischen Prozessen.
- Laden von ausführbaren Programmen: Linux lädt nur die Teile eines Programms von der Festplatte, die gerade benötigt werden (Demand Paging).
- Copy-on-Write-Strategie für die gemeinsame Nutzung von Speicherseiten bei ausführbaren Programmen: Mehrere Prozesse können denselben Speicherbereich nutzen, bis einer davon versucht, ihn zu ändern.
- Virtueller Speicher mit Paging.
- Der Speicher wird als einheitliche Ressource für Benutzerprogramme und den Festplatten-Cache verwaltet.
- Dynamisches Laden von Shared Libraries (DLLs) und statische Bibliotheken.
- Core Dumps (Speicherabbilder) können erstellt werden.
- Quellcode-kompatibel mit POSIX, System V und BSD.
- IBCS2-Emulation.
- Der gesamte Quellcode ist verfügbar, einschließlich des kompletten Kernels und aller Treiber.
- POSIX-Job-Steuerung.
- Pseudo-Terminals (ptys).
- Emulation des 387er Koprozessors im Kernel, sodass Programme keine eigene Mathematik-Emulation benötigen.
- Unterstützung für viele nationale Tastaturbelegungen.
- Mehrere virtuelle Konsolen.
- Unterstützung für mehrere gängige Dateisysteme.
- Transparenter Zugriff auf MS-DOS-Partitionen.
- Ein System spezieller Dateien namens UMSDOS.
- Read-only-Unterstützung für HPFS-2 (OS/2 2.1).
- CD-Dateisystem (ISO 9660).
- TCP/IP-Unterstützung, einschließlich FTP, Telnet, NFS usw.
- AppleTalk-Unterstützung.
- NetWare-Client- und Server-Software.
- LAN Manager / Windows Native (SMB)-Client- und Server-Software.
- Mehrere Netzwerkprotokolle im Kernel enthalten.