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>
|
Create or copy sets of flashcards
With an upgrade you can create or copy an unlimited number of sets and use many more additional features.
Log in to see all the cards.
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
Was bedeutet die Abkürzung ALU
arithmetic logic unit
Was passiert in der ALU
Sie führt Rechenoperationen und logische Verküpfungen durch.
Rechnermodelle - Befehlszyklus
- Befehl laden / Befehlsholphase
- Befehl dekodieren
- (Befehls)operanden (nach)laden
- Befehl ausführen
- Befehlszähler auf nächsten Befehl setzen / Ergebnis speichern
Rechnermodelle - Befehlszyklus: Was passiert in Welcher Phase
- Befehl laden / Befehlsholphase
- Befehl dekodieren
- (Befehls)operanden (nach)laden
- Befehl ausführen
- Befehlszähler auf nächsten Befehl setzen / Ergebnis speichern
Was sind die Bestandteile der "Von Neumann Architektur"?
- Programmsteuerung durch universelle Hardware
- Gemeinsamer Speicher für Daten und Programme
- Hauptspeicher besteht aus adressierbaren Zellen
- Programm besteht aus einer Folge von Befehlen
- Sprünge sind möglich (bedingt & unbedingt)
- Speicherung erfolgt binär
Was sind die Bestandteile der "Von Neumann Architektur"?
- Programmsteuerung durch universelle Hardware
- Gemeinsamer Speicher für Daten und Programme
- Hauptspeicher besteht aus adressierbaren Zellen
- Programm besteht aus einer Folge von Befehlen
- Sprünge sind möglich (bedingt & unbedingt)
- Speicherung erfolgt binär
Rechenwerk
- Führt Rechenoperationen aus
- Enthält Register
Speicherwerk
- Interpretiertd diie Anweisungen eines Programms
- Steuert Befehlsabfolge
Busse: Eingabe / Ausgabe
Datenbus, Adressbus, Steuerbus
verbinden die einzelnen Komponenten untereinander
Hauptprozessor besteht aus zwei Teilen
Steuerwerk & Rechenwerk
Wahlfreier Zugriff
Jede Speicherzelle kann über ihre Speicheradresse direkt angesprochen werden
Busbreite
Anzahl gleichzeitig übertragbarer Bits
Steuerwerk
Schrittweise Interpretation der Maschinenbefehle
Befehlszähler
-Enthält Adresse des nächsten auszuführenden Befehls
Befehlsregister
-Enthält aktuellen Befehl
Statusregister
-Nimmt Rückmeldung des Systems auf
Rechenwerk
-ALU + Register
-Arithmetische Operationen
-Logische Operationen
-Verschiebe Operationen (Logisch & Arithmetisch)
-Bitmanipulation
-Vergleichsoperationen
Befehlszyklus
Instruction fetch (Befehlsholphase)
Instruction decode (Dekodierungsphase)
Fetch Operands (Operanden nachladen)
Execute (Befehl ausführen)
Befehlszähler auf nächsten Befehl setzen / Store results
-
- 1 / 80
-