Computersysteme in Überblick Kapitel 1. Betriebssysteme Verwendet einen oder mehrere Prozessoren...
-
Upload
hardwin-dunst -
Category
Documents
-
view
102 -
download
0
Transcript of Computersysteme in Überblick Kapitel 1. Betriebssysteme Verwendet einen oder mehrere Prozessoren...
Computersysteme in Überblick
Kapitel 1
Betriebssysteme
• Verwendet einen oder mehrere Prozessoren und die übrigen Hardwareressourcen, um Computernutzern Dienste bereitzustellen.
• Verwaltet darüber hinaus den Sekundärspeicher und die angeschlossen E/A Geräte
Basiselementen
• Prozessor• Hauptspeicher
– wird auch als Arbeits-, Real, oder Primärspeicher bezeichnet
– flüchtig• E/A-Module
– Sekundärspeicherlaufwerke– Kommunikationsanschaltungen– Terminals
• Systembus– Kommunikation zwischen den Prozessoren,
Hauptspeicher, und E/A-Module
Computerkomponenten- oberste Ebene
Prozessorregister
• Für den Benutzer sichtbare Register– Sie ermöglichen es dem Programmierer,
die Anzahl der Hauptspeicherzugriffe durch Registereinsatz zu vermindern
• Steuerregister und Statusregister– vom Prozessor für die Steuerung der
Operationen des Prozessors verwendet– vom Betriebssystemroutinen für die
Steuerung der Ausführung von Programme verwendet
Für den Benutzer sichtbare Register
• Kann in Maschinenbefehlen referenziert werden
• Steht im Allgemeinen allen Programmen, Anwendungsprogrammen und System-programmen, zur Verfügung.
• Registertypen:– Daten– Adresse
• Index• Segmentzeiger• Stapelzeiger
Für den Benutzer sichtbare Register
• Adressregister– Indexregister
• ein Index wird zu einem Basiswert addiert, um die effektive Adresse zu erhalten
– Segmentzeiger• bei der segmentierte Adressierung wird
Speicher in Segmenten aufgeteilt, ein Speicherverweis besteht aus einer Segmentadresse und einem Offset
– Stapelzeiger• zeigt auf das obere Ende des Stapels
Stapelzeiger
code
data
heap
stackstackpointer
Dynamic memory
- automic variables,- parameter- return value
Steuerregister und Statusregister
• Programmzähler (PC)– Enthält die Adresse des nächsten
abzurufenden Befehls
• Befehlsregister (IR)– Enthält den zuletzt abgerufenen Befehl
• Programmstatuswort (PSW)– Zustandscodes– Interrupt freigegeben/gesperrt– Supervisor/user modus
Steuerregister und Statusregister
• Zustandscodes auch Flags genannt– Bits, die jeweils nach der Durchführung einer
Operation durch die Prozessorhardware gesetzt werden
– kann mit privilegierten Maschinen-befehlen auf zugegriffen werden, aber können damit nicht geändert werden
– Beispielen• positives Ergebnis• negatives Ergebnis• Null• Überlauf
Befehlscyclus
Abruf und Ausführung von Befehlen
• Der Prozessor ruft einen Befehl aus dem Speicher auf
• Programmzähler (PC) enthält die Adresse des nächsten Befehles
• Der Wert des Programmzähler wird erhöht
Befehlsregister
• Der abgerufen Befehl wird in das Befehlsregister geladen.
• Befehlstypen– Prozessor-Speicher
• Daten übertragen vom Prozessor zum Speicher oder von Speicher zum Prozessor
– Prozessor-E/A• Daten übertragen vom und zum Peripheriegerät
– Datenverarbeitung• arithmetische oder logische Operationen mit Daten
– Steuerung• ändere der Ausführungsreihenfolge
Operationscode (opcode)
Instruction format
Integer
0 4 153
Opcode Address
sign
Number
0001 = Akkumulator aus dem Speicher laden0010 = Akkumulator im Speicher ablegen0101 = Aus dem Speicher dem Akkumulator hinzufügen
Beispiel einer Programmausführung
Direkter Speicherzugriff (DMA)
• E/A-Austausch direkt mit dem Speicher• Prozessor gibt einem E/A-Module den
Auftrag, Daten aus dem Speicher auszu-lesen oder Daten in den Speicher zu schreiben.
• Nimmt dem Prozessor die Verantwortung für den Datenaustausch
• Der Prozessor ist frei für andere Tätigkeiten
Interrupts
• Eine Unterbrechung der normalen Arbeit des Prozessors
• Verbessert die Prozessoreffizienz
• Erlaubt dem Prozessor andere Befehlen auszuführen während eine E/A-Operation ausgeführt wird
• Das Anhalten eines Prozesses der verursacht wird durch ein Ereignis, (Event) außerhalb dieses Prozesses und so ausgeführt das dieser Prozess später fortgesetzt werden kann.
Interrupt-Klassen
• Programm– arithmetischer Überlauf– Division durch null– Ausführung einen unzulässigen
Maschinenbefehl– ein Verweis auf eine Zelle außerhalb des für
den Benutzer zugänglichen Speicherbereichs
• Zeitgeber
• E/A
• Hardwareausfall
Interrupt-Handler
• Ein Programm das die Art des Interrupts ermittelt und dementsprechend die notwendigen Aktionen ausführt.
• Steuerung wird zu diesem Programm verzweigt
• Ist generell Teil des Betriebssystems
Befehlszyclus
Befehlszyklus
• Der Prozessor prüft ob ein Interrupt vorliegt.
• Wenn kein Interrupt vorliegt, wird der nächste Befehl geladen.
• Wenn ein Interrupt vorliegt, wird die Ausführung des aktuellen Programms unterbrochen, und der Interrupt-Handler wird ausgeführt.
Mehrprogrammbetrieb
• Der Prozessor hat mehr als ein Programm auszuführen.
• Die Reihenfolge, in der die Programme ausgeführt werden, hängt von Ihrer relativen Priorität und der Frage ab, ob sie auf eine E/A warten
• Nach Beendung der Interrupt-Handler-Routine wird die Steuerung möglicherweise nicht sofort wieder an das Benutzerprogramm übergeben, dass sich zu dieser Zeit in der Ausführung befand.
Speicherhierarchie
Hierarchie von oben nach unten betrachtet
• Sinkende Kosten pro Bit
• Steigende Kapazität
• Steigende Zugriffszeit
• Geringere Häufigkeit des Zugriffs auf den Speicher durch den Prozessor– Das Lokalitätsprinzip ist hier zutreffend.
Festplatten-Cache
• Ein Teil des Hauptspeicher wird verwendet als Puffer für das zeitweise Speichern von Daten, die auf die Festplatte ausgelesen werden sollen.
• Das Schreiben auf der Platte erfolgt gebündelt.
• Einige Daten die ausgelesen werden, können schnell aus dem Software-Cache gelesen werden und müssen nicht langsam von der Platte eingelesen werden.
Cache-Speicher
• Unsichtbar für das Betriebssystem• Erhöht die Geschwindigkeit des
Hauptspeicher.• Die Geschwindigkeit des Prozessors is
größer als die Geschwindigkeit des Hauptspeicher.
Cache-Speicher
Cache-Speicher
• Enthält die Kopie eines Teils des Hauptspeichers.
• Wenn der Prozessor versucht, ein Wort aus dem Speicher zu lesen, wird zunächst geprüft, ob sich das Wort im Cache befindet.
• Ist das nicht der Fall, wird ein Block des Hauptspeichers in den Cache eingelesen.
Cache/Main Memory System
Cache-Entwurf
• Größe des Cache– ein kleiner Cache kann eine signifikante
Wirkung auf die Leistung haben
• Blockgröße– der Dateneinheit, die zwischen dem Cache
und dem Hauptspeicher ausgetauscht wird. – Ein Treffer bedeutet, die Information wurde im
Cache gefunden.– Mit zunehmender Blockgröße wird die
Trefferquote steigen, bis die Wahrschein-lichkeit der Verwendung neu aufgerufener Daten geringer wird als die Wahrscheinlichkeit der erneuten Verwendung von Daten.????
Cache-Entwurf
• Zuordnungsfunktion– Legt den Speicherplatz im Cache für den
Block fest.
• Ersetzungsalgorithmus– Wählt den zu ersetzenden Block, er soll
denjenigen Block zur Ersetzung auswählen, bei dem die Wahrscheinlichkeit, dass er in nächster Zukunft erneut benötigt wird, am geringsten ist
– Least-Recently-Used (LRU) Algorithmus
Cache-Entwurf
• Schreibverfahren = Bestimmung des Zeitpunkts, an dem ein
Block im Cache zurück in den Hauptspeicher geschrieben werden soll.
– Jedes Mal wenn der Block aktualisiert wird.
– Nur wenn der Block ausgetauscht wird.• Weniger Schreiboperationen.• Hauptspeicher zeitweise in einem
veralteten Zustand.
Programmierte E/A
• Das E/A-Module führt die Tätigkeit aus, nicht der Prozessor
• Setzt die entsprechende Bits im E/A Statusregister
• Interrupts finden nicht statt.
• Der Prozessor prüft regelmäßig den Status des E/A-Moduls (E/A Statusregister), bis er feststellt, dass die Operation beendet ist.
Interrupt-gesteuerte E/A
• Der Prozessor wird unterbrochen (interrupted) wenn das E/A-Module fertig ist.
• Der Prozessor ist frei um andere Tätigkeiten auszuführen.
• Kein nutzloses Warten• Jeglicher Datentransfer läuft
über den Prozessor (Nachteil)
Direkter Speicherzugriff
• Das DMA-Modul überträgt den gesamten Datenblock, direkt in oder aus dem Speicher
• Nach Beendigung des Transfers sendet das DMA-Modul ein Interrupt-Signal an den Prozessor.
• Der Prozessor ist nur zu Beginn und am Ende der Übertragung beteiligt.