Grundlagen Betriebssysteme

1090 Wörter [ 1 Weblinks ] - Aktualisiert: 2023-12-22 Seite erstellt: 2001-09-23 [SB]

 


Grundlagen über Betriebssysteme

Wie sahen die Websites der Firmen früher aus?
Welche Betriebssysteme gibt es für den PDA?
Wo finde ich die Erklärung zu Begriffen?
Was sind Dateisysteme und wie unterscheiden sich diese?
Was ist der Betriebssystemkern bzw. ein Kernel?
Was ist eine RISC/CISC Architektur oder Plattform?
Wo finde ich einige Quellenangaben zu den Informationen?


Betriebssystem

Um besser zu verstehen wie ein Betriebssystem zwischen der Hardware und den Anwendungsprogrammen vermittelt, ist folgendes Schichtenmodell hilfreich. Seit der Timesharing Ära der Betriebssysteme wird der Ablauf und die Ressourcenzuteilung selbst gesteuert. Für den generellen Aufbau eines Betriebssystem ist folgende Formulierung treffend: "Je mehr Software-Schichten die Hardware umgeben, desto besser lässt sich die Anwendungsvielfalt und Schnittstelle zum Menschen hin optimieren. Durch diese Abstraktionsschichten wird ein Computer für den Menschen erst richtig bedienbar."

Dieses Modell ist rein schematisch aufgebaut, zum Vergleich bieten sich nachfolgend Modelle der Betriebssysteme als Vergleich an:

BeOS Kernel | JavaOS Kernel | Linux Kernel | OS/2 Kernel | Solaris Kernel
Windows 98 Kernel | Windows CE Kernel | Windows NT Kernel | Windows XP Kernel
Windows Server 2003 Kernel

Betriebssystem Schichtenmodell


Hardware Je nach Designkonzept wird Programmen der direkte Hardwarezugriff erlaubt oder über zusätzliche Schichten gestattet. Bei direktem Zugriff ergeben sich Performance Vorteile, über zusätzliche Schichten wird die Performance im Gegensatz etwas vermindert.

Schicht 1: HAL (Hardware Abstraction Layer) Die HAL ermöglicht den Einsatz auf einer Hardwareplattform die speziell auf eine Prozessor Architektur ausgelegt ist. Dazu gehören etwa die x86, Alpha, PowerPC oder Sparc Architektur. Steht die Portierbarkeit des Betriebssystems für andere Plattformen im Vordergrund, spielt die HAL eine zentrale Rolle für die Portierbarkeit.

Schicht 2: Dateisystem, Treiber Wichtige Aufgaben des Betriebssystem sind die Darstellung eines bis mehrerer Dateisysteme, die über entsprechende Treiber virtuell realisierbar sind. Zusätzliche Funktionen wie Verschlüsselung oder Komprimierung gehören auch dazu. Treiber für Standard Hardware wie Tastatur, LPT oder COM Schnittstellen werden rudimentär direkt vom Betriebssystem unterstützt, Beispiel sind DOS Betriebssysteme. Moderne Betriebssysteme bringen Standard Treiber für die meisten Hardwarekomponenten gleich mit. Für erweiterte Funktionen und optimale Leistung stellen die Hersteller eigene Treiber für ihre Hardware bereit.

Schicht 3: Management Die Managementschicht sorgt für den reibungslosen Ablauf der Systemprozesse durch kooperatives, präemptives oder echtzeit Multitasking. Je nach Priorität teilt das Betriebssystem dem Prozess CPU-Zeit, Speicher und I/O-Zugriffe zu.

Schicht 4: Systemschnittstelle (Kernel) Die Systemschnittstelle kapselt den Betriebssystemkern von der API ab, häufig dient sie auch als Trennmarke des CPU Modus vom privilegierten Ring 0 des Kernel.

Schicht 5: API (Application Program Interface) Über Softwareschnittstellen wie die Win32 API verwenden Programme für sie freigegebene Betriebssystemfunktionen etwa den Kopieren oder Öffnen Dialog für Dateien. Diese werden über einheitliche Anwendungsbefehle mit Parametern allen Programmen einheitlich zur Verfügung gestellt. Beispiel hierfür sind auch DFÜ Dienste.

Bibliotheken Bibliotheken stellen dem Betriebssystem und Anwendungsprogrammen fertige Programmteile zur Verfügung, die den Zugang für verschiedene Funktionen vereinfachen. Durch Bibliotheken (.dll, .OCX, ...) greifen Entwickler vereinfacht auf häufig benötigte Funktionen zurück ohne diese selbst für die Anwendung neu erfinden zu müssen.

Anwendungen Anwendungsprogramme nutzen die vom Betriebssystem zugeteilten Ressourcen und Gerätezeit. Über entsprechende Eingabe- und Ausgabe-Geräte interagiert der Benutzer mit dem Computer.


Ausführbare Programme

Dateien die einen vom Betriebssystem ausführbaren Programmcode enthalten lassen sich durch die Dateiendung (Windows) und unter einigen Betriebssystemen direkt durch das Dateiformat (Unix und Derivate) erkennen. Dateien mit der Dateierweiterung *.com sind eindeutig Programme für DOS, *.exe Anwendungen können 16-Bit, 32-Bit oder auch für 64-Bit Windows Betriebssysteme anwendbar sein. Vor Windows 95 waren dies nur 16-Bit Programme (mit einer Win32 Erweiterung auch wenige 32-Bit Anwendungen), ab Windows 95 sowohl 16-Bit als auch 32-Bit Anwendungen. Dann gibt es noch das neuere *.msi Dateiformat von Microsoft, das in speziell gepackter Textform das Programm und die skriptbasierte Installationshilfe enthält. Teile vom Programmcode werden auch in *.dll Dateien ausgelagert, die dazugehörige "Teil-Anwendung" greift darauf zurück und führt im Kontext der Anwendung den Code aus der DLL-Datei aus. Beispiel dafür sind unter Windows die Visual Basic Dateien und das .NET Framework.

Hinter dem Dateiformat *.rpm für Linux, ein von Red Hat etablierter Standard für Software mit integrierter Installationsroutine, kann nur der Sourcecode einer Anwendung oder eine speziell für die Distribution kompiliertes Programm enthalten sein. Erkennbar ist das im Namen an Abkürzungen wie "src" für Quellcode, oder "mdk" speziell für eine Mandrake Linux Distribution. Die Anwendungen sind ELF-Binaries die ohne Dateierweiterung auskommen, über den Dateiheader und das Dateiattribut "ausführen" wird daraus eine startbare Anwendung für die Benutzer je nach vergebenen Dateirechten.

Unter BeOS steht das *.pkg Format für Dateien die eine eigene Installationsroutine besitzen.


Marktanteile der Betriebssysteme

Um sich einen Überblick der Marktanteile im Server und Desktop Bereich der Betriebssysteme zu verschaffen, haben verschiedene Marktforschungsunternehmen Analysen durchgeführt. Die Ergebnisse werden anschliessend in den Medien der Öffentlichkeit präsentiert und sonst nur dem Auftraggeber oder dem zahlenden Kunden. Aus den folgenden Quellen lassen sich die Informationen über die Marktanteile der Betriebssysteme entnehmen. Dabei stützen sich die Marktforscher auf Befragungen und die Angaben der Verkaufszahlen vom Hersteller, die Anzahl der Betriebssysteme die frei kopiert werden dürfen sind damit nicht erfassbar. Berücksichtigt werden nur die Verkaufszahlen der kommerziellen Linux-Distributoren. Prüfenswert ist, ob Mehrfachinstallationen auf einem Desktop-PC und virtuelle Betriebssystem Installationen auf Servern mitgezählt wurden. Es handelt sich bei den Studien also um geschätzte Werte. Studien von IDC und Gartner die das selbe Thema haben weichen oft voneinander ab, je nach zugrunde gelegter Methodik bei der Erhebung der Zahlen.

Die Firma IDC (International Data Corporation) mit Hauptsitz in den USA ist ein Tochterunternehmen der IDG (International Data Group Inc.) und wurde 1964 gegründet mit weltweiten Niederlassungen. IDC stellt neben vielen anderen Informationsgebieten Berichte mit den aktuellen Marktanteilen über Betriebssysteme zusammen. IDC erstellt Prognosen über die zukünftige Entwicklung und ermittelt aus den Verkaufszahlen des Herstellers und Befragungen aktuelle Marktzahlen. Seit 1979 gibt es das Unternehmen Gartner das ebenfalls seinen Hauptsitz in den USA hat und weltweit vertreten ist. Gartner erstellt Marktanalysen speziell für den IT Bereich und unterstützt seine Kunden bei der Entscheidungsfindung in speziellen Fragen durch die Anfertigung von fundierten Berichten.

Neben den vorher genannten Unternehmen gibt es seit 1995 noch die Firma Netcraft mit Hauptsitz in England, die sich speziell auf den Internetbereich spezialisiert hat. Netcraft stellt neben anderen Informationsbereichen öffentlich Informationen über die auf Servern eingesetzten Betriebssysteme im Internet bereit. Zu berücksichtigen ist, dass Netcraft zur Ermittlung des Betriebssystem nur die erste URL einer Website überprüft. Einstiegsseiten können in Unternehmen auf einem anderen Server laufen (Load Balancing) als die verlinkte Unternehmenswebsite und damit im Betriebssystem abweichen. Auf einem Webserver lassen sich auch mehrere Internetauftritte zurückführen, so dass das Betriebssystem dieses Servers mehrfach gezählt wird. Aus Gründen der Sicherheit kann bei der Abfrage auch eine andere Betriebssystem Kennung ausgegeben werden um das richtige Betriebssystem zu verschleiern und einem möglichen Angreifer falsche Informationen zu liefern.