Informatik II
Lernkartei zur Vorlesung Informatik II an der Uni Göttingen
Lernkartei zur Vorlesung Informatik II an der Uni Göttingen
Kartei Details
Karten | 80 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 20.04.2015 / 01.06.2015 |
Weblink |
https://card2brain.ch/box/informatik_ii
|
Einbinden |
<iframe src="https://card2brain.ch/box/informatik_ii/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Taktgeber symmetrisch
Low und Hightzustand gleich lang
Asymmetrische Impulsfolge
Es gibt einen Takt und einen mit AND verschobenen Takt
Pegelsteuerung
- Der Zustandsspeicher ist wärend einer Takthälfte transparent und wärend der anderen hält er
- Nachteil: Eingangssignale müssen wärend der gesamten transparenten Taktperiode gültig bleiben
Pegelsteuerung: Transparenz und Halten
Transparent: Die Eingänge wirken sich nur bei einem Wert (z.B. 1) des Taktes auf den Zustand aus
Halten: Beim anderen Wert (z.B. 0) wird der Zustand gehalten
Flankensteuerung
Die Eingänge wirken sich wärend dem Taktwechsel auf den Zustand aus
Vorteil: Die Eingänge müssen nur für sehr kurze Zeit gültig sein
Latches
SR-Latch
Getaktetes SR-Latch
Getaktetes D-Latch
Master Slave D-Latch
SR-Latch
2 Eingänge S (Setzen) und R (Reset)
zwei Ausgänge Q und !Q
S=R -> Q unverändert
S=1 -> Q = 1
R=1 -> Q = 0
Getaktetes SR-Latch
Gleicht einem SR-Latch mit vorgeschaltetem Takt
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?