Informatik II
Lernkartei zur Vorlesung Informatik II an der Uni Göttingen
Lernkartei zur Vorlesung Informatik II an der Uni Göttingen
Set of flashcards Details
Flashcards | 80 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 20.04.2015 / 01.06.2015 |
Weblink |
https://card2brain.ch/box/informatik_ii
|
Embed |
<iframe src="https://card2brain.ch/box/informatik_ii/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Getaktetes D-Latch
R bekommt negierten Eingang von S
Setzen -> T = 1, D = 1
Reset -> T = 1, D = 0
Halten -> T = 0, D = beliebig
Flip-Flops
- Flankengesteuert
- JK-Flip-Flop
- Umschalt Flip-Flop (T-Flip-Flop)
JK-Flip-Flop
Umschalt / T-Flip-Flop
Halten: J=0, K=0
Zurücksetzen: J=0, K=1
Setzen J=1, K=0
Invertieren J=1, K=1
T: Immer J=K -> Nur halten und invertieren
Bevorrechtigte Eingänge
Eingänge, die keinen Takt benötigen um ausgeführt zu werden (Setzen, Löschen)
Sehr gefährlich
Schalter
Eingangssignal
Ausgangssignal
Steuersignal
Was ist ein Betriebssystem?
- Systemprogramme ermöglichen den Betrieb des Computers
- Anwendungsprogramme erfüllen die Anforderungen der Anwender
Hardwareschicht
Prozessor
- Ausführen von Maschinensprache
Hauptspeicher
- Kurzfristige Speicherung von Daten
Hintergrundspeicher
- Langfristige Speicherung großer Datenmengen
Eingabegeräte
Ausgabegeräte
Netzwerkkarte
- Verbindung an ein Kommunikationsnetz
Aufgaben des Betriebssystems (Übersicht)
Prozessverwaltung (Ein Prozess ist ein in Ausführung befindliches Programm)
Speicherverwaltung
Verwaltung des Dateisystems
Geräteverwaltung
Prozessverwaltung (Betriebssystem Aufgabe)
Erzeugen und löschen von Prozessen
Prozessorzuteilung
Prozesskommunikation
Synchronisation nebenläufiger Prozesse
Speicherverwaltung
Zuteilung des verfügbaren Speichers an Prozesse
Einbeziehen des Hintergrundspeichers
- Paging (Bereitstellen von virtuellem Speicher)
- Swapping (Ein / Auslagern von Prozessen)
Verwaltung des Dateisystems
Logische Sicht auf Speichereinheiten
Systemaufrufe für Dateioperationen
-Schreiben, löschen, kopieren
Strukturieren mittels Verzeichnissen
Schutz von Dateien und Verzeichnissen vor unberechtigtem Zugriff
Geräteverwaltung
Auswahl und Bereitstellung von I/O Geräten
Anpassung an physikalische Eigenschaften der Geräte
Überwachung der Datenübertragung
Wichtige Konzepte: Fehlertoleranz
Graceful Degradation: Beim Ausfall einzelner Komponenten läuft das System im vollem Umfang mit verinderter Leistung weiter
Wird durch Redundanz erkauft
Wichtige Konzepte: Realzeitbetrieb
Realzeitkritische Prozesse müssen Betriebsmittel so zugeteilt bekommen, dass die Zeitanforderungen eingehalten werden
Wichtige Konzepte: Benutzeroberfläche
Das Betriebssystem kann eine Benutzeroberfläche für die eigene Bedienung enthalten
Kann Funktionen bereit stellen um aus Anwenderprogrammen auf die Benutzerschnittstelle zuzugreifen
Betriebssystem: Betriebsarten
Einzelbenutzerbetrieb
Batchbetrieb
Mehrprogrammbetrieb
Einzelbenutzerbetrieb
Alle Aufträge kommen von einem Benutzer und werden streng sequentiell (hintereinander) abgearbeitet
Batchbetrieb
Mehrere Benutzer die Aufträge erteilen, die trotzdem sequentiell abgearbeitet werden
Mehrprogrammbetrieb
-Mehrere Aufträge werden nebenläufig (gleichzeitig) bearbeitet
-Prozessor schaltet im schnellen Wechsel zwischen den Prozessen
-Flexible Prozessorzuteilung (Prozessor kann auch während des Abarbeitens eines Prozesses zu einem anderen wechseln)
--Weil der gerade ausgeführte Auftrag wartet
--Weil ein dringenerer Auftrag bearbeitet werden soll
--Weil gleichberechtigte Aufträge gleichmäßig bearbeitet werden sollen
Ermöglicht Timesharing (mehrere Benutzer können gleichzeitig mit dem Rechensystem arbeiten)
Prozessverwaltung (Überblick)
Prozesse werden von Betriebssystem verwaltet
Ein Prozessor kann immer nur einen Prozess in einer Zeiteinheit abarbeiten
Prozess besteht aus Programmcode und Kontext
Prozesszustände
Prozesskontrollblöcke (PCB)
Prozesswechsel (Dispatching)
Prozessverwaltung: Kontext
Registerinhalt des Prozesses
Dem Prozess zugeordnete Bereiche des direkt zugreifbaren Speichers
Durch den Prozess geöffnet Dateien
Dem Prozess zugeordnete Peripheriegeräte
Verwaltungsinformationen
Prozessverwaltung: Zustände
Rechnend (Prozess wird ausgeführt)
Bereit (wartet auf die Zuteilung des Prozessors)
Blockiert (kann momentan nicht ausgeführt werden, wartet auf das Eintreten eines Ereignisses)
Prozesskontrollblöcke (PCB) enthalten
Kontext des Prozesses
Für das Scheduling benötigte Informationen
Weitere Verwaltungsinformationen
Prozesswechsel (Dispatching)
Der aktuelle Kontext eines Prozesses P0 wird in einem PCB gesichert
Der Kontext eines anderen Prozesses P1 wird aus einem PCB geladen
Der Zustand beider PCB muss aktualisiert werden
Prozesswechsel=Kontextwechsel
Scheduling:Übersicht
Zuteilung von Prozessorzeit an die Prozesse
Prozesswechselkosten
-Prozesswechsel sind relativ teuer, weil der Kontext gesicher&geladen werden muss
Warteschlangenmodell
Scheduling-Verfahren
Batchsysteme
Warteschlangenmodell im Scheduling
Wartende Prozesse werden in Warteschlangen gehalten, die Auswahlstrategie der Warteschlange haben wesentlichen Einfluss auf das Systemverhalten
Gemeinsamkeiten der Scheduling-Verfahren
Fairness (jeder Prozess bekommt Rechenzeit)
Policy Enforcement (Durchsetzung der Verfahrensweise, keine Ausnahmen)
Balance (alle Teile des Systems sind gleichmäßig ausgelastet)
Data Protection (Keine Daten oder Prozesse gehen verloren)
Scalability (Mittlere Leistung wird bei wachsender Last beibehalten, es gibt keie Schwelle, ab der das Scheduling nur noch sehr langsam oder gar nicht mehr funktioniert)
Scheduling: Batchsysteme
Maximiere nach Prozessen pro Zeiteinheit
Minimiere die Zeit vom Start bis zur Beendigung eines Prozesses
Belege die CPU konstant mit Jobs
Scheduling in Batchsystemen : First come first served
Prozesse kommen den Prozessor entsprechend ihrer Ankuftsreihenfolge zugeteilt
Keine Abhängigkeiten zwischen den Prozessen
Laufende Prozesse werden nicht unterbrochen
Fair, jeder Prozess kommt dran
Einfache implementierung
Die mittlere Wartezeit kann sehr hoch werden
Scheduling in Batchsystemen: Shortest Job First (SJF)
Es wird jeweils der Prozess mit der kürzesten Rechenzeit als nächstes gerechnet
keine Abhängigkeiten zwischen den Prozessen
Laufende Prozesse werden nicht unterbrochen
Nicht fair (kurze Prozesse können lange überholen)
Problem: Wie wird die Rechenzeit eines Prozesses ermittelt?
Scheduling in Mehrprogrammbetrieben
Man zerlegt die Rechenzeit in Zeitscheiben und ordnet diese nach bestimmten Kriterien den Prozessen zu
Hat ein Prozess seine Zeitscheibe verbraucht wird er unterbrochen und muss auf eine neue Zuteilung warten
Round-Robin-Scheduling
Round-Robin-Scheduling
Die Rechenzeit wird in gleichmäßige Zeitscheiben aufgeteilt
Prozesse werden in einer Warteschlange eingereiht und in FIFO-Ordnung ausgewählt
Ein rechnender Prozess wird nach Ablauf einer Zeitscheibe unterbrochen und wieder hinten angestellt
Die Prozessorzeit wird nahezu gleichmäßig auf die vorhandenen Prozesse aufgeteilt
Prozesse Synchronisieren (Überblick)
Wenn mehrere Prozesse auf die gleiche Ressource zugreifen wollen muss dies geordnet geschehen
Problemlösung
-Wechselseitigeer Ausschluss, keine zwei Prozesse dürfen sich im kritischen Abschnitt befinden
-Kein Prozess, der außerhalb seines kritischen Abschnittes läuft darf andere Prozesse blockieren
-Es dürfen keine Annahmen über Hard und Software gemacht werden
-Kein Prozess sollte ewig darauf warten in seinen kritischen Zustand zu kommen
Mutex
Mutual exclusive
Operationen:
down(m)
- wenn der Mutex frei ist wird er auf belegt gesetzt und der Prozess ausgeführt
-wenn der Mutex belegt ist wird der Prozess in die Warteschlange gestellt
up(m)
-Wenn die Warteschlange leer ist wird der Mutex auf frei gesetzt
-Wenn ein Prozess in der Warteschlange ist wird er ausgeführt
Speicherverwaltung, Probleme, Adressraum
Einfachste Aufteilung: Speicher zwischen Betriebssystem und Prozessen aufteilen
-Problem
-- Relokation (Ein Programm enthält absolute Adressen, diese müssen relativ zur Lage des Prozesses im Speicher umgesetzt werden)
--Schutz (Jeder Prozess soll nur die Adressen ansprechen die ihm zustehen)
Adressraum
-ist eine Menge von Adressenn die ein Prozess benutzen kann
-Beginnt in der Regel mit 0
Dynamische Relokation
Prozessor hat zwei zusätzliche Register
- Basisregister (Anfangsadresse der zugeteilten Partition)
- Limitregister (Größe der Partition)
Schutz: Für jede Adresse wird geprüft ob der Wert größer oder gleich der Wert im Limitregister ist, sonst wird zugriff verweigert
Relokation: Zu jeder Adresse wird der Wert im Basisregister automatisch addiert und auf den Adressbus geschrieben
Swapping
-Lagert den Adressraum eines Prozesses vollständig ein oder aus
-Scheduling kann ein/ausgabe veranlassen
-Problem: Positionierung der einzulagernden Daten
Speicherbelegungsstrategien
First fit
- Der erste ausreichend große Speicher wird belegt
Next fit
- Wie First fit, nur Suche beginnt nicht vorne, sondern im letzten "Loch"
Best fit
-Es wird der kleinste freie Speicherbereich belegt, der die Anforderungen noch erfüllt
Worst fit
-Es wird der größte freie Speicherbereich belegt