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.