TGI 1
Technische Grundlagen der Informatik, Nordakademie - Elmshorn SM 1/1-51; JB 1/52-82; NR 1/83-92; BR 1/93-131; NR 2/1-27; JJ 2/28-63
Technische Grundlagen der Informatik, Nordakademie - Elmshorn SM 1/1-51; JB 1/52-82; NR 1/83-92; BR 1/93-131; NR 2/1-27; JJ 2/28-63
Fichier Détails
Cartes-fiches | 199 |
---|---|
Utilisateurs | 13 |
Langue | Deutsch |
Catégorie | Informatique |
Niveau | Université |
Crée / Actualisé | 24.08.2015 / 14.05.2023 |
Lien de web |
https://card2brain.ch/box/tgi_1
|
Intégrer |
<iframe src="https://card2brain.ch/box/tgi_1/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Thema Seitenauslagerungsstrategien:
Wie funktioniert die NRU-Strategie?
- ersetze eine Seite, die in letzter Zeit nicht benutzt wurde
- berücksichtige das Referenced- und das Modified-Bit
- ersetze in der Reihenfolge:
1. R=0 und M0=
2. R=0 und M=1
3. R=1 und M=0
4. R=1 und M=1
Seitenauslagerungsstrategien - FIFO Strategie
Gegeben ist ein System mit 3 Seitenrahmen Platz im Hauptspeicher und einem ausreichend großem Platz im Hintergrundspeicher.
Die Referenzreihenfolge für den Seitenzugriff ist wie folgt:
0, 1, 2, 3, 1, 4, 5, 0, 2, 6, 4, 5, 6, 3, 5, ...
Zeichne eine Darstellung für die FIFO-Strategie.
Welches ist der Nachteil von FIFO und welche Abwandlung (inkl. Nachteil dieser) von FIFO gibt es?
- Nachteil von FIFO: es werden laufend intesiv genutzte Seiten ausgelagert, um direkt anschließend wieder eingelagert zu werden
- Abwandlung von FIFO: die Seite wird nicht sofort ausgelagert, sondern bekommt eine "zweite Chance"/Second Chance. Nachteil dieser: ineffizient, da ständig Seiten in der Liste verschoben werden.
Nenne eine andere Art der Implementierung von Second-Chance und beschreibe, wie diese funktioniert.
- der Clock-Algorithmus ist eine andere Implementierung von Second-Chance
- Schlange wird durch zirkuläre Liste erreicht
- Seite eingelagert: R-Bit = 0
- Seite wird benutzt: R-Bit = 1
- Auslagerung geschieht wie folgt:
- Zeiger findet Seite mit R-Bit = 1 --> R-Bit = 0
- Zeiger findet Seite mit R-Bit = 0 --> Auslagerung
1. Was ist notwendig bei gemeinsam genutztem Speicher?
2. Nenne Beispiele für gemeinsam genutzten Speicher!
1. Freigabemechanismus, Löschschutz, Synchronisationsverfahren
2. - mehrfaches, gleichzeitiges Ausführen desselben Programms
- Benutzung derselben Programm-Bibliotheken
- Gleiche Datenbereiche (z.B. Parameter zur Fensterdarstellung)
Wichtige Begriffe
Was ist eine Arbeitsmenge (working set)?
Menge der Seiten, die im Hauptspeicher vorhanden sein müssen, damit ein Prozess (innerhalb eines bestimmten Zeitfensters) effizient arbeiten kann
Wichtige Begriffe
Was führt zu einem Seitenfehler und wozu führt dieser?
Zugriff auf eine nicht im Hauptspeicher befindliche Seite führt zu einem Seitenfehler. Ein Seitenfehler führt zur Unterbrechung des Prozesses und der Aktivierung des Betriebssystems.
Wichtige Begriffe
Was bedeutet Seitenflattern (trashing)?
Das Betriebssystem muss aufgrund einer Überlastung rechenwilliger Prozesse ständig Seiten ein- und auslagern. Die Ausführung der Prozesse kommt praktisch zum Stillstand.
Beschreibe das Ein-Ebenen-Verzeichnissystem!
- Ein Verzeichnis enthält alle Dateien
- Oftmals als Wurzelverzeichnis bezeichnet
- Eingesetzt bei den ersten PCs (mit nur einem Benutzer) aber auch bei der CDC 6600 (erster Supercomputer der Welt; Mehrbenutzerbetrieb; 1968)
- Einfaches Design (Ort der Dateien ist trivial)
Welches Problem besteht beim Ein-Ebenen-Betriebssystem?
Versehentliches Ändern von Dateien anderer Benutzer durch Wahl des selben Dateinamens.
Wo könnte man heutzutge noch auf Ein-Ebenen-Verzeichnissysteme stoßen?
Einsatz heute ggf. in eingebetteten Systemen wie z.B. Navigationssystemen in PKWs.
Nenne die Eigenschaften von Zwei-Ebenen-Verzeichnissystemen!
- Einführung einer Benutzerebene unterhalb des Wurzelverzeichnisses
- Jeder Benutzer bekommt ein privates Verzeichnis
- Login-Prozedur notwendig, um Benutzer zu identifizieren
- Ggf. Erweiterungen um Benutzern den Zugriff auf Dateien anderer Nutzer zu ermöglichen
- Nutzung gemeinsam genutzter Benutzerverzeichnisse um beispielsweise Hilfsprogramme zu teilen, da das Bereitstellen von Kopien offensichtlich ineffizient ist
Wie werden bei hierarchischen Dateisystemen die Dateien addressiert?
Über den Pfadnamen (Wege entlang des Verzeichnisbaums)
Welche Struktur von Verzeichnissystemen ist in heutigen Dateisystemen üblich?
Beschreibe das Hierarchische Verzeichnissystem
- Einführung einer generellen Hierarchie
- Abbildung als Baum von Verzeichnissen mit einem Wurzelverzeichnis
- Dateien können über mehrere Ebenen strukturiert abgelegt werden
- Wahl der Strukturierungskriterien entscheidet über die Auffindbarkeit der abgelegten Dateien (Beispiel: In welchem Ordner/Unterordner/UnterUnterordner liegt eine gesuchte Datei?)
Nenne 6 übliche Verzeichnisoperationen!
- CREATE: Erzeugt ein leeres Verzeichnis mit "." und ".."
- DELETE: Löscht ein bis auf "." und ".." leeres Verzeichnis
- OPENDIR: Analog zu Dateien müssen Verzeichnisse zuerst geöffnet werden
- READDIR: Lesen der Dateien und Unterverzeichnisse dieses Verzeichnisses
- RENAME: Umbenennen eines Verzeichnisses, um es nicht neu anzulegen, den Inhalt kopieren und das alte Verzeichnis löschen zu müssen
- LINK: Dateien/Verzeichnisse können auf diesem Wege in mehreren Verzeichnissen erhalten sein, ohne das es einer Kopie bedarf (Hardlink, kein Soft- oder symbolischer Link)
- UNLINK: Entfernen eines Eintrags im Dateisystem; Entfernen des letzten Links (Normalfall) löscht die Datei/das Verzeichnis
Was sind Pfadnamen?
- Verzeichnisnamen werden durch ein Trennzeichen getrennt hintereinander angegeben (Windown "⁄", Unix "/", MULTICS ">")
- Absolute Pfadnamen
- Beginnen mit dem Trennzeichen und damit immer im Wurzelverzeichnis
- Relative Pfadnamen
- Nutzen das Konzept eines Arbeitsverzeichnisses bzw. aktuellen Verzeichnis, dass es pro Prozess gibt
- Spezialverzeichnisse
- .(Punkt) für das aktuelle Verzeichnis (Arbeitsverzeichnis)
- ..(Punktpunkt) für das Vorgängerverzeichnis
Wie ist ein Dateisystem aufgebaut?
- Dateisysteme kommen typischerweise auf Platten vor
- Platten können in Partitionen unterteilt werden
- Der Sektor 0 der Platte heißt MBR (Master Boot Record) und beinhaltet die Partitionstabelle, die u.a. Anfangs- und Endadresse jeder Partition verzeichnet
- Der erste Block einer Partition ist der Bootblock mit einem Programm, dass das Dateisystem lädt
- Weitere Blöcke variieren je nach Dateisystem
- Superblock (mit "magic Number" des Dateisystems, etc.)
- Freispeicherverwaltung mit Bitmap oder Liste von Zeigern
- I-Nodes (Verwaltung der Dateien)
- Verzeichnisse (beginnend mit dem Wurzelverzeichnis)
Welche möglichen Verfahren zur Zuordnung der Dateien zu den Blöcken der Platte bzw. Partition gibt es?
Beschreibe das Prinzip der zusammenhängenden Belegung!
- Jede Datei bekommt zusammenhängende hintereinander liegende Blöcke zugeordnet
- Es werden immer ganze Blöcke zugeordnet, sodass der letzte Block potenziell unausgelastet ist
- Zur Assoziation von Datei und Blöcken muss nur der Startblock und die Anzahl der Blöcke bekannt sein
Welche Vorteile bietet die zusammenhängende Belegung?
Nenne 3 Nachteile der zusammenhängenden Belegung!
- Potenzielle Fragmentierung der Platte über die Zeit
- Verwaltung der freien Blöcke für künftige Anforderungen
- Umgang mit dynamisch wachsenden Dateien
Bei welchem prominenten Beispiel wird die zusammenhängende Belegung verwendet?
Bei dem CD-ROM-Dateisystem (ISO 9660)
Was versteht man unter Fragmentierung?
Von Fragmentierung spricht man wenn in einem Speicherraum ungenutzte Speicherbereiche (Fragmente) zwischen benutzten Speicherbereichen bestehen.
Wodurch zeichnet sich die Speicherbelegung durch verkettete Listen aus?
- Ein Block besteht aus dem Zeiger auf den folgenden Block und den Nutzdaten
- Der letzte Block in einer Datei hat eine eine entsprechende Kennzeichnung im Zeiger ("0")
- Blöcke müssen nicht mehr zusammen liegen
- Sequentielles Lesen funktioniert problemlos
- Für den wahlfreien Zugriff auf Block n einer Datei müssen alle n-1 Blöcke davor eingelesen werden
- Durch den vorangestellten Zeiger gehen Nutzdaten verloren: Der Block steht nicht mehr vollständig für die Nutzdaten zur Verfügung
- Nur "innere" Framentierung möglich (im letzten Block)
Nenne die Formel zur Berechnung der Größe der FAT!
(Partitionsgröße / Blockgröße) * Größe der Blocknummer
Wie groß kann ein Festplattenblock einer Festplatte sein?
Zwischen 512 Bytes und 64 KBytes.
(Je nach Plattengröße)
Wie viele Blöcke kann FAT16 maximal verwalten?
FAT 16 kann maximal 216 = 65.536 Blöcke verwalten.
Ist bei FAT die Ablage der Zeiger im Plattenblock notwendig?
Nein, stattdessen werden die Zeiger in einer Tabelle abgelegt.
Diese Tabelle wird zum Start in den Hauptspeicher geladen.
Wie wird bei FAT ein wahlfreier Zugriff ermöglicht?
Hierzu ist ein lineares Verfolgen der Kette notwendig. Jedoch ist dies in der FAT im Hauptspeicher möglich.
Wo befindet sich die FAT
Die FAT befindet sich im Hauptspeicher und wächt mit der Größe der Platte.
Erläuter das Prinzip von I-Nodes!
- Jeder Datei wird eine Datenstruktur zugeordnet (Index-Node)
- Beinhaltet neben Dateiattributen auch die Blockadressen
- I-Nodes nur für geöffnete Dateien im Speicher gehalten -> benötigter Hauptspeicher hängt von der Anzahl geöffneter Dateien - nicht von der Größe der Partition ab
- Anzahl der Blockadresses limitiert die Größe der Datei
- Abhilfe schaffen spezielle Adressblöcke, die weitere Blockadressen aufnehmen können - teilweise wieder von Adressblöcken
Wie werden Verzeichnisse realisiert?
- Auffinden von Dateien erfolgt über Pfadangaben
- Verzeichniseinträge stellen die dafür notwendigen Informationen zur Verfügung
- Ort des Wurzelverzeichnisses ist dem Dateisystem bekannt
- Systeme mit I-Nodes benötigen pro Datei nur den Namen und die Adresse des I-Nodes; Dateiattribute sind im I-Node gespeichert
- In vielen Dateisystemen werden Verzeichnisse wie Dateien behandelt
- Dateien werden ihrem Entstehen nach gespeichert, was eine lineare Suche erforderlich macht
Wie lang darf ein Dateiname maximal sein?
Begrenzung je nach Dateisystem
- MS-DOS: 8.3 (1-8 Buchstaben + optional . und 1-3 Buchstaben)
- Unix V7: 1-14 Zeichen (Groß-/Kleinbuchstaben, Ziffern, etc.)
- Heute üblich: bis zu 255 Zeichen
Einfachste Speicherform: maximalen Platz reservieren
Wozu dient die feste Länge der Dateinamen?
- Speicherung in zwei Attributen: Länge + der Name selbst
- Speicherung mit einem Ende Kennzeichen (häufig 0x0000)
Nenne und beschreibe 2 Verfahren zur Verwaltung freier Blöcke!
- Verwendung einer Bitmap
- Datenstruktur, die für jede Blockadresse ein Bit bereitstellt
- Bit kennzeichnet den Belegungszustand (0 - frei / 1 - belegt)
- Bei verwendung einer FAT wird das Bit dort untergebracht
- Nutzung einer verketteten Liste der freien Blockadressen
- Es genügt einen Block der "Freiliste" im Speicher zu halten
- Platzbedarf ist bei einer recht leeren Platte sehr groß im Vergleich zur Bitmap
Erläutere drei Möglichkeiten zur Performanceverbesserung bei der Dateiauslesung!
- Einführung von Caches
- Einführung von Caches auf den Geräten selbst
- Nutzung von Ausschnitten des Hauptspeichers als Cache
- Analog zu Hauptspeichercaches benötigt man Strategien für die Wahl der ein- bzw. auszulagernden Blöcke
- Block read ahead (Vorauslesen von Blöcken)
- Sequentielle Dateizugriffe sind häufig
- Es kann sich lohnen, weitere Blöcke einer Datei vorausschauend zu laden um folgende Anfragen aus Caches bedienen zu können
- "Beobachtung" bereits geöffneter Dateien ist hier hilfreich
- Reduzierung der Bewegung des Plattenarms
- Durch geschickte Anordnung der Blöcke auf der Platte kann die Bewegung des Plattenarms verringert werden
Was versteht man unter Journaling file systems?
- Einige atomare Aktionen in Dateisystemen können mehrere Zugriffe auf die Platte erfordern
- Verschiebung von Datei D aus Verzeichnis V1 in Verzeichnis V2 bedarf mindestens der Anpassung der Verzeichnisse V1 (löschen des Dateibezugs) und V2 (Aufnahme des Dateibezugs) ggf. müssen dafür Verzeichnisdeskriptoren angepasst werden
- Fundamentale Katastrophen wie Systemabstürze oder Stromausfälle können solche Aktionen unterbrechen und eine Dateisystem in inkonsistentem Zustand hinterlassen
- Einführung eines speziellen Bereichs (Journal) in dem alle Aktionen vermerkt werden, um dann anschließend abgearbeitet zu werden
- Teiweise auch performance-verbessernde Effekte
Was ist ist der Befehlszyklus und wie läuft er ab?
Der Befehlszylkus sind zeitlich getrennte, sich ständig zyklisch wiederhohlende Phasen.
Die Zyklus besteht aus Befehl holen(fetch) und Befehl ausführen (execute)
Befehl holen:
- Befehl aus Speicherplatz, auf den der Befehlszähler (zeigt an welcher Befehl an der Reige ist) zeigt, in Befehlsregister laden
- Befehl decodieren und Befehlszähler erhöhen
- eventuell weitere benötigte Operanden in Mehrzweckregister laden
Begehl ausführen:
- Befehl ausführen
- Ergebnis in Register oder Speicherstelle schreiben