Grundlagen von Betriebssystemen und Netzwerktechnologien

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 13,43 KB

Speicherverwaltung

Die primäre Funktion der Speicherverwaltung ist die Übertragung von Daten zwischen dem Massenspeicher (MS) und dem Hauptspeicher (MP). Da die Zugriffszeit auf den Massenspeicher größer ist, versucht das Betriebssystem (OS), die Anzahl der I/O-Operationen zu reduzieren, indem es so viele Daten wie möglich im Hauptspeicher hält. Es sollte auch neue Prozesse ausführen können, selbst wenn kein Platz im Hauptspeicher vorhanden ist, und Programme verwalten, die größer sind als die Kapazität des physischen Speichers, unter Verwendung von Overlay-Techniken und virtuellem Speicher.

Overlay

Aufteilung eines Programms in Module, wobei dieselben Speicherbereiche für die Ausführung dieser Module genutzt werden. Die Größe des Overlays basiert auf der Größe des größten Moduls. Dies kann zu Leistungsproblemen aufgrund des übermäßigen Austauschs von Modulen zwischen Massenspeicher und Hauptspeicher führen.

Swapping

Eine Technik, die auf Programme angewendet wird, die Speicher zur Ausführung benötigen. Swap-out bezeichnet die Übertragung eines Programms vom Hauptspeicher (MP) zum Massenspeicher (MS). Swap-in ist die Übertragung eines Programms vom Massenspeicher (MS) zurück in den Hauptspeicher (MP).

Einfache zusammenhängende Zuweisung

Wird in Monoprogramm-Betriebssystemen verwendet. Teilt den Hauptspeicher (MP) in einen Bereich für das Betriebssystem und einen für Benutzerprogramme auf. Der Benutzer hat die Kontrolle über den MP. Der Schutz erfolgt durch Register/Sperrbereiche. Diese Methode ist einfach zu implementieren und verwendet wenig Code, nutzt jedoch die Hardware-Ressourcen nicht effizient.

Feste/Statische Partitionierung

Aufteilung des Speichers in Partitionen fester Größe, deren Größe beim OS-Boot basierend auf den aktuell laufenden Programmen definiert wird. Programme werden in diese Partitionen geladen. Compiler und Assembler sind darauf beschränkt, nur absoluten Code zu erzeugen. Eine Änderung der Partitionsgröße erfordert einen Neustart des Betriebssystems. Ein Problem ist die interne Fragmentierung, bei der Programme nicht die gesamte Partition ausfüllen und freie Speicherbereiche innerhalb der Partition ungenutzt bleiben.

Dynamische Partitionierung

Verwendet nicht das Konzept fester Partitionsgrößen; jedes Programm nutzt nur den tatsächlich benötigten Speicherplatz. Dies führt zu externer Fragmentierung, da Programme immer kleinere, ungenutzte freie Speicherbereiche hinterlassen, die von anderen Programmen nicht verwendet werden können. Zur Lösung dieses Problems können freie Bereiche in einem zusammenhängenden Block gesammelt oder die Positionen der Partitionen verschoben werden, um die Lücken zu schließen. Diese Technik reduziert das Fragmentierungsproblem, erhöht jedoch die Komplexität und den Bedarf an Prozessor- und Festplattenressourcen.

Verwaltung des virtuellen Speichers

Kombination von Hauptspeicher (MP) und Massenspeicher (MS) zu einem einzigen, logischen Speicher. Dies ermöglicht eine größere Anzahl von Prozessen im Hauptspeicher.

Virtueller Adressraum

Der Adressraum, der einem Programm im virtuellen Speicher zugewiesen wird. Wenn das Programm ausgeführt wird, wird dieser virtuelle Adressraum in den physikalischen Adressraum übersetzt.

Deadlock

Ein Zustand, bei dem ein Prozess auf eine zugewiesene Ressource wartet, die niemals freigegeben wird, oder auf ein Ereignis, das nicht eintreten wird. Damit ein Deadlock auftritt, müssen gleichzeitig vier Bedingungen erfüllt sein:

  • Gegenseitiger Ausschluss: Eine Ressource kann nur von einem Prozess gleichzeitig genutzt werden.
  • Halten und Warten: Ein Prozess hält bereits zugewiesene Ressourcen und wartet auf weitere.
  • Keine Vorbelegung: Ressourcen können einem Prozess nicht zwangsweise entzogen werden.
  • Zirkuläres Warten: Eine Kette von Prozessen existiert, bei der jeder Prozess auf eine Ressource wartet, die vom nächsten Prozess in der Kette gehalten wird.

Zugriff auf das I/O-Subsystem

Das Betriebssystem verfügt über eine Reihe von Routinen, die die Kommunikation mit jedem angeschlossenen I/O-Gerät ermöglichen. Die Operationen des I/O-Systems erfolgen über Ein-/Ausgabe-Aufrufe.

Synchroner I/O

Der Prozess verbleibt im Wartezustand, bis die I/O-Operation abgeschlossen ist.

Asynchroner I/O

Der Prozess befindet sich im Zustand 'bereit', auch während I/O-Operationen für diesen Prozess laufen. Ein Signal sollte das Ende der Operation anzeigen.

Gerätetreiber

Implementiert die Kommunikation zwischen I/O-Geräten und Controllern (Hardware-Geräte zur Steuerung von I/O).

DMA (Direct Memory Access)

Ermöglicht es bestimmten Geräten, direkten Zugriff auf den Speicher zum Lesen und Schreiben zu haben, ohne die CPU zu belasten.

Strukturiertes Gerät

Speichert Informationen in Blöcken fester Größe, typisch für Datenträger wie Festplatten (HD). Ermöglicht direkten Zugriff auf eine bestimmte Adresse oder sequenziellen Zugriff, bei dem andere Blöcke nacheinander durchlaufen werden, um den gewünschten Block zu erreichen.

Unstrukturiertes Gerät

Sendet oder empfängt einen unstrukturierten Zeichenblock (z.B. ein Drucker).

Zeiten für Lese- und Schreibvorgänge

  • Seek-Zeit

    Zeit für die Positionierung des Lese-/Schreibkopfs.

  • Rotationslatenz

    Wartezeit, bis sich der gewünschte Sektor unter dem Lesemechanismus positioniert hat.

  • Übertragungszeit

    Erforderliche Zeit, um den Datenblock in den Hauptspeicher (MP) zu übertragen.

Redundanz und Datenschutz (RAID)

Erstellung eines Arrays von Datenträgern (z.B. RAID), das verschiedene Ebenen (Levels) haben kann. Ziel ist es, mehr Speicherkapazität, höhere Leistung und verbesserte Zuverlässigkeit zu bieten.

Virtualisierung

Der Prozess, mehrere Betriebssysteme oder Anwendungen auf einem einzigen physischen Gerät auszuführen.

Hardware-Virtualisierung

Ausführung mehrerer Betriebssysteme auf derselben physischen Maschine. Für Benutzer beseitigt sie Inkompatibilitäten zwischen Betriebssystemen und Anwendungen. Für Server eliminiert sie die Notwendigkeit für mehrere physische Server (Serverkonsolidierung).

Präsentationsvirtualisierung

Ermöglicht den Zugriff auf eine IT-Umgebung, ohne physischen Zugriff auf die Hardware zu benötigen. Mehrere Benutzer können das System gleichzeitig nutzen.

Anwendungsvirtualisierung

Ermöglicht den Zugriff auf Anwendungen, die auf einem virtuellen Server laufen, ohne dass die Anwendung auf dem lokalen PC installiert werden muss.

Virtuelle Maschine (VM)

Eine vollständige Betriebsumgebung, die sich wie ein unabhängiger Computer verhält.

Vorteile der Virtualisierung

Zu den Vorteilen gehören: Serverkonsolidierung, effizientes Management von Entwicklungs- und Testumgebungen, verbesserte Business Continuity und die Möglichkeit dynamischer Rechenzentren.

Speicherung

Ein Gerät oder Medium zur langfristigen Speicherung von Daten.

Telnet

Ein Protokoll für die Fernverwaltung über IP. Bietet Fernunterstützung, aber keine integrierte Sicherheit.

SSH (Secure Shell)

Ein Protokoll für die sichere Fernadministration von Servern und Fernsupport. Kapselt andere Protokolle und bietet Sicherheit durch asymmetrische Kryptografie (öffentlicher und privater Schlüssel).

VNC (Virtual Network Computing)

Ermöglicht den Fernzugriff auf Maschinen mit grafischer Benutzeroberfläche. Basiert auf TCP/IP. Die Sitzung bleibt bei einer Trennung erhalten. Unterstützt keine direkte Dateiübertragung. Öffnet nur ein Terminal gleichzeitig und hat eine potenziell langsame Bildschirmaktualisierung.

Terminal Services

Ermöglicht die Verwaltung eines Servers von jedem Client-Rechner aus. Die gesamte Verarbeitung wird auf dem Server ausgeführt. Ermöglicht gleichzeitige Verbindungen zum Server, indem für jeden Client eine eigene Sitzung erstellt wird.

Betriebsmodi

  • Remoteverwaltungsmodus

    Dient der Serververwaltung von jedem Ort aus (setzt Administratorrechte voraus) und benötigt keine zusätzliche Lizenz.

  • Anwendungsserver-Modus

    Der Server führt Anwendungen für andere Rechner aus. Wird verwendet, wenn Clients über wenig Hardware-Ressourcen verfügen oder Anwendungen ausgeführt werden müssen, die hohe Rechenleistung erfordern. Benötigt eine Lizenz.

Remote Desktop

Eine Remote-Verbindung, die den Desktop eines entfernten Computers anzeigt. Dient der Fernverwaltung von Computern über ein LAN oder das Internet. Ermöglicht die Freigabe von Festplatten und seriellen Schnittstellen.

Sicherheitsverletzungen

  • Verletzung der Vertraulichkeit

    Unbefugtes Lesen von Daten.

  • Verletzung der Integrität

    Eigenmächtige Veränderungen an Daten.

  • Verletzung der Verfügbarkeit

    Unbefugte Zerstörung von Daten.

  • Dienstleistungsdiebstahl

    Unerlaubte Nutzung von Ressourcen.

  • Denial of Service (DoS)

    Verhindert die rechtmäßige Nutzung des Systems.

Angriffsarten

  • Maskierung (Spoofing)

    Ein Angreifer gibt vor, ein anderer Rechner oder eine andere Person in der Kommunikation zu sein.

  • Replay-Angriff

    Bösartige oder betrügerische Wiederholung einer Datenübertragung.

  • Man-in-the-Middle-Angriff

    Ein Angreifer gibt vor, sowohl Sender als auch Empfänger zu sein, um die Kommunikation abzufangen und zu manipulieren.

Schutzmaßnahmen

  • Physischer Schutz

    Überwachung des Zugangs zu Systemräumen.

  • Personeller Schutz

    Sicherstellen, dass nur autorisierte Benutzer auf das System zugreifen.

  • Betriebssystemschutz

    Das System muss vor Sicherheitslücken im Betriebssystem geschützt werden.

  • Netzwerkschutz

    Sicherheitsmaßnahmen, um das Abfangen von Daten oder das Eindringen in Computer zu verhindern.

Authentifizierung

Der Prozess, die Identität des Absenders einer Nachricht zu beweisen. Arbeitet oft in Verbindung mit Verschlüsselung und ist nützlich, um zu überprüfen, ob eine Nachricht verändert wurde. Ein Authentifizierungsalgorithmus besteht aus einem festgelegten Schlüssel (K), der Nachricht (M), einer Reihe von Authentifizierungsverfahren (A), einer Funktion zur Generierung der Nachrichtenauthentifizierung und einer Funktion zur Überprüfung der Echtheit der Nachricht.

Verschlüsselung

Dient dazu, den Zugriff auf Nachrichten auf autorisierte Sender oder Empfänger zu beschränken, indem Geheimnisse (Schlüssel) selektiv auf Rechner verteilt werden. Wichtige Konzepte sind: symmetrische Verschlüsselung, asymmetrische Verschlüsselung, Authentifizierung und Schlüsselverteilung.

Firewall

Ein Gerät, das zwischen dem internen Netzwerk (Hub/Switch mit verbundenen Hosts) und dem Internet platziert wird. Es empfängt Anfragen von Rechnern im Netzwerk, leitet den Zugang zum Internet weiter und blockiert Verbindungsversuche von außen. Eine Firewall überwacht und protokolliert Verbindungen und begrenzt diese basierend auf Quell- und Zieladressen, Ports sowie der Verbindungsrichtung.

Personal Firewall

Eine Software-Firewall, die auf Betriebssystemebene implementiert oder als Anwendung hinzugefügt wird. Sie begrenzt Verbindungen zu oder von einem bestimmten Host.

Proxy-Firewall (Anwendungsebene)

Versteht die von Anwendungen verwendeten Protokolle.

System-Call-Firewall

Befindet sich zwischen dem Kernel und den Anwendungen und überwacht Systemaufrufe.

Paketfilter-Firewall

Bestimmt, welche IP-Adressen Verbindungen und Datenübertragungen herstellen dürfen.

Anwendungs-Firewall

Kontrolliert Anwendungen und kann als Proxy-Server installiert werden. Sie ermöglicht direkte Kommunikation mit dem Internet und fungiert als Vermittler, indem sie die TCP-Sitzung auswertet.

Verteilte Systeme

Autonome Systeme, die über ein Netzwerk miteinander verbunden und eng gekoppelt sind. Jede einzelne Komponente verfügt über eigene Ressourcen. Die Hauptgründe für verteilte Systeme sind: gemeinsame Nutzung von Ressourcen, erhöhte Verarbeitungsgeschwindigkeit, verbesserte Zuverlässigkeit und Kommunikation. Sie arbeiten oft mit Clustern.

Cluster

Systeme, die aus lose gekoppelten Knoten bestehen, die über ein Hochleistungsnetzwerk verbunden sind. Jeder Knoten verfügt über eigene Ressourcen.

Datenmigration

Eine Methode für den Zugriff auf gemeinsam genutzte Ressourcen, die die teilweise oder vollständige Übertragung einer Datei beinhaltet.

Code-Migration

Eine Methode für den Zugriff auf gemeinsam genutzte Ressourcen, die verwendet wird, wenn die Datenübertragungszeit größer ist als die Zeit für den Remotezugriff auf die Daten.

Prozessmigration

Eine Form des Zugriffs auf gemeinsam genutzte Ressourcen, bei der ein Prozess an verschiedenen Orten ausgeführt werden kann. Wird für Lastverteilung, höhere Geschwindigkeit und die Auswahl spezifischer Hard- und Software genutzt.

Verwandte Einträge: