Informatik II

Lernkartei zur Vorlesung Informatik II an der Uni Göttingen

Lernkartei zur Vorlesung Informatik II an der Uni Göttingen

Damian Bast

Damian Bast

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

8-Bit Speicher

Pin 1 löscht den Speicher

Pin 11 ist der Takt

4x3 Speicher

Jede der 4 Reihen speicher ein 3 Bit Wort

Lese / Schreiboperation betrifft ganzes Wort

2 Adresseingänge A

3 Dateneingänge I

3 Dateneingänge O

Lesen RD

Ausgeben OE

Chip Aktivieren CS

Gelesen wird bei RD=0

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