Betriebssysteme Kap B: Hardwaremechanismen



Ähnliche Dokumente
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

SNr bis mit Gigabyte AMD K7 Mainboard. Konfiguration 7 und 7M

Installation LehrerConsole (für Version 6.2)

Installationshinweise Linux Edubuntu 7.10 bei Verwendung des PC-Wächter

Die Mikroprogrammebene eines Rechners

Installation OMNIKEY 3121 USB

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

Dokumentation. Erstellung eines bootfähigen USB-Sticks zur Veränderung einer bestehenden Partitionierung

Teil VIII Von Neumann Rechner 1

(1) (2) (3) (4) (5) (6) (7)

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Beispiel(unten ist der Spielfeldrand):

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Leitfaden zur Installation von Bitbyters.WinShutdown

Zur drittletzten Zeile scrollen

Update auf Windows 8.1 Schrittweise Anleitung

Persönliches Adressbuch

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Tutorial -

Informatik I Tutorial

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Inhaltsverzeichnis

Vorsitzende Wahlbüros Checkliste technische Zwischenfälle - System DIGIVOTE Wahlbüros mit automatisierter Stimmabgabe

Computeria Urdorf. Treff vom 16. Januar Was ist ein Computer?

TeamSpeak3 Einrichten

Lehrveranstaltung Grundlagen von Datenbanken

Carolo Knowledge Base

Staatlich geprüfter EDV-Führerschein

Firmware-Installationsanleitung für AVIC-F60DAB, AVIC-F960BT, AVIC-F960DAB und AVIC-F860BT

Speichern. Speichern unter

Übernahme von DXF-Daten in AutoCAD. Erläuterungen

AdmiCash-Wiederherstellung auf einem neuen PC oder Betriebssystem

CHIPDRIVE Zeiterfassungs-Gerät Anleitung

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Tag 2 Eingabe und Interrupts

Dokumentation IBIS Monitor

Kurzbedienungsanleitung DALI-TOOL

WINDOWS 7 (32 o 64 bit)

Schritt-für-Schritt Anleitung: Windows 7 per USB-Stick installieren

Sichern der persönlichen Daten auf einem Windows Computer

Windows 7 Winbuilder USB Stick

Etoys für Einsteiger

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Windows 7- und USB 3.0-Treiberinstallation für 100er-Serie und Braswell-Plattform

Aufbau der Cutmaster Einheit

Projekte Packen, Kopieren und Versenden

Quick XMP Ü bertaktungseinstellungen

AKTUALISIERUNG DER SOFTWARE (ANDROID 4.4) FÜR KIANO ELEGANCE 9.7 by ZANETTI

VIDA ADMIN KURZANLEITUNG

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Regiometer. Bedienungsanleitung

Kap 4. 4 Die Mikroprogrammebene eines Rechners

etax.schwyz: Suche nach Steuerfalldateien

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Steuererklärung mit dem PC. Computeria-Urdorf 10. Februar 2010

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

einfache PIC-Übungsprogramme

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

USB DISK ANSCHLUSS WAHLTASTER. Vorteile dieses USB Interfaces:

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Eigene Dokumente, Fotos, Bilder etc. sichern

Anleitung zur Inbetriebnahme einer FHZ2000 mit der homeputer CL-Software

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

Notfall-Wiederherstellung mit der Super Grub Disk

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Informationen zum Einstellen des SIP-Telefons Grandstream GXV 3275

Aktivierung von Makros in den Erfassungshilfen

Anleitung über den Umgang mit Schildern

SILBER SURFER. PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde FOTOSIZER. Leitfaden zur Schulung

Update auf Windows 8.1 Schrittweise Anleitung

Herzlich Willkommen bei der nfon GmbH

GPS-CarControl APP Android Benutzeranleitung

Stepperfocuser 2.0 mit Bootloader

2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem

Tutorial Windows XP SP2 verteilen

Die Installation von D-Link WLAN Karten unter Windows Vista

Persona-SVS e-sync GUI/Client Installation

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

1. Übung - Einführung/Rechnerarchitektur

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger

Übungscomputer mit Prozessor Bedienungsanleitung

HTW-Aalen. OpenVPN - Anleitung. Eine Installations- und Nutzungsanleitung zu OpenVPN

Installationshinweise Linux Kubuntu 9.04 bei Verwendung des PC-Wächter

Arbeiten mit MozBackup

Übung - Datensicherung und Wiederherstellung in Windows 7

Pocket KVM Switches USB + Audio

Übung - Datensicherung und Wiederherstellung in Windows Vista

Installationsanleitung INFOPOST

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Anwenderdokumentation PersoSim

Anwendungsbeispiele Buchhaltung

Anleitung für Vorlesungsaufzeichnungen mit Lecturnity. (im ZHG und diversen anderen Räumen der Universität Göttingen)

Anleitung zur Nutzung des SharePort Plus

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Local Control Network Technische Dokumentation

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Verwendung des IDS Backup Systems unter Windows 2000

Transkript:

1 Betriebssysteme Kap B: Hardwaremechanismen

2 Beispielprozessor Ein- / Ausgabe p[ ] ir Leitwerk pc Register a f sp Rechenwerk Speicher m[ ]

Spezielle Register Flagregister f f.i: Interrupt-Enable-Flag f.z: Zero-Flag Stack st Lage durch den Stackpointer sp beschrieben Einfügen: sp wird dekrementiert Löschen: sp wird inkrementiert Inkrement/Dekrement implizit und damit in der Notation unsichtbar Beispiele: PUSH st:=a m[sp]:=a;sp:=sp-1 POP a:=st sp:=sp+1;a:=m[sp] 3 sp a:=13 st:=a st:=a a:=st x x x x 57 58 59 60 sp x 57 sp 13 13 x x 13 13 x 58 59 60 57 58 59 60

Code B-1 Beispiel für Assembler Pseudocode erste Instruktion auf Adresse 100 100 a:=p[0] // Inhalt von Port 0 nach a 101 f.z:=((a&1)==0) // wenn least signifikant Bit 0 von a gleich 0, dann setze Zero- Flag f.z auf 1, ansonsten f.z:=0 102 If (f.z) pc:=100 // wenn f.z gesetzt ist, d.h. f.z=1, dann führe die nebenstehende Operation aus; pc := 100 entspricht????? 103 m[5]:=a // Inhalt von a nach Speicherstelle 5, d.h. nach m[5] a Maske x x x x x x x 0 0 0 0 0 0 0 0 1 a&1 ist false (0), daher a&1==0 true (1) 4

Von-Neumann-Zyklus (John von Neumann 1903-1957) Instruktion laden Befehlszähler erhöhen Instruktion ausführen Interrupt behandeln, wenn aufgetreten Befehl einlesen pc auf nächsten Befehl Befehl ausführen Interrupt-Behandlung Moderne Hardware benutzt zb. Pipelining um Instruktionen in kleinere Teile zu unterteilen und damit versetzt parallel auszuführen, oder mehrere Instruktionen werden physisch parallel ausgeführt (mehrere Recheneinheiten) Wichtige Gemeinsamkeit von Optimierungen: Es muss immer exakt dasselbe herauskommen, wie wenn dieses einfache Modell ausgeführt worden wäre Und genau darin liegt ein großer Aufwand für die Optimierungen! 5

Von-Neumann-Zyklus in Pseudocode Anfangswert von pc ist maschinenabhängig, zb.: pc:=100 Wichtig: Unmittelbar nach dem Einlesen der Instruktion (Befehl) wird pc erhöht und erst nachher die Instruktion ausgeführt! ir:=m[pc] Befehl einlesen pc:=pc+1 execute(ir) pc auf nächsten Befehl Befehl ausführen handle interrupt Interrupt-Behandlung 6

7 Laden des OS nach dem Einschalten des Computers Beachte: Das OS (BS) ist selbst ein Programm Frage 1: Wie erreicht man, dass ein bestimmtes Programm ausgeführt wird? Z.B. unmittelbar nach dem Einschalten: Nach der Basis-Initialisierung der Hardware POST (Power On Self Test ) ein Programm, das persistent im BIOS gespeichert ist Frage 2: Wie wird das auf dem Massenspeicher (Disk) gespeicherte OS geladen und zur Ausführung gebracht? BS Boot : Starten des BS-Ladeprogrammes

Basis- Trick Nach dem Einschalten beginn der von Neumann - Zyklus zu laufen Hardwaremäßig ist der pc (Program Counter) auf die erste ausführbare Instruktion jenes Programmes zu setzen, das als erstes auszuführen ist Konsequenz:» Zunächst pc:=adresse der ersten Instruktion der Befehlsfolge, die für die Hardware-Initialisierung zuständig ist» Nach der Hardwareinitialisierung als letzter Befehl derselben wird der pc auf die erste ausführbare Instruktion (z.b.) des Programmes POST gesetzt Welches diese Adresse ist Siehe CPU-Dokumentation! 8

Beispiel: ARM-Core des Raspberry Pi Je nach Konfiguration (CPU-Kern extern!) beginnt die Ausführung nach einem Reset bei 0x00000000 oder 0xFFFF0000 Quelle: http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/ddi0301h_arm1176jzfs_r0p7_trm.pdf 9

10 Disk-Partition und OS-BOOT BIOS MBR Master Boot Record PBR Partition Boot Record M B R Partition P B R S Y S Active Partition Disk Partition (Nur schematisch)

11 OS BOOT [1] Reset Hardware CPU startet Programmausführung von einer (a priori) vordefinierten Adresse Basis-Initialisierung der Hardware POST BIOS Entscheidung, von wo gebootet wird Netzwerk Floppy Harddisk USB CD-ROM Einlesen Master-Boot-Record & starten

12 OS BOOT [2] Reset Auswahl aktive Partition MBR Einlesen Partition-Boot-Record & starten PBR Starten BS-Lader Start Basic-File System BS - Auswahl OS xxxx XP Linux Hardware Erkennung Konfigurationsauswahl Kernel laden...

OS BOOT [3] Nachdem der Kern (kernel) des BS geladen ist und weitere anfangs benötigte Komponenten des BS geladen worden sind ( Dienste, Services, ) Verzweigung zum» Kommando Interpreter oder Eingabe der Kommandos (Aufruf von Programmen) über Kommandozeilen / Namen der Programme» GUI (Graphical User Interface) Eingabe der Kommandos durch Mausklick auf Icons, die für die betreffenden Kommandos stehen (oder Touchscreen; äquivalent) 13

Elementare Mechanismen für Ein/Ausgabe (I/O) Zwei Methoden Polling Interrupt getrieben 14

15 Ein- / Ausgabe Eingabe Tastatur Schalter Kamera Mikrofon Netzwerk Maus Touchscreen C D E F 8 9 A B 4 5 6 7 0 1 2 3 Taste gedrückt Tastenwert p[0] p[1] p[2] Ausgabe LED Relay Bildschirm Sound Netzwerk Braille-Zeile

Polling // warten, bis Daten vorhanden sind while (p[0]&1==0) { /* leer!! */ }; // jetzt sind Daten vorhanden: Diese Ausgeben p[2]:=p[1]; 100 a:=p[0] // p[0] auslesen und 101 f.z:=(a&1==0) // testen, ob Bit 0 gesetzt ist 102 if(f.z) pc:=100 // solange testen, bis Daten verfügbar, also p[0].0==1 103 a:=p[1] // Aktion nach Verfügbarkeit der Daten 104 p[2]:=a //... 16

Interrupts Interrupts unterbrechen das eben laufende Programm werden durch ein externes Interrupt-Signal ausgelöst Funktion in der Interrupts-Service- Routine (ISR) Zeitlicher Ablauf: Zeit normaler Programmablauf Interrupt ISR 17

18 Externes Interrupt-Signal & a f.i, f.z 55 1, x Interrupt pc 204 C D E F 8 9 A B 4 5 6 7 0 1 2 3 sp port0 port1 port2 27 x 6 6 0 1 2

19 Von-Neumann-Zyklus und Interrupts ir:=m[pc] Befehl einlesen pc:=pc+1 execute(ir) pc auf nächsten Befehl Befehl ausführen Annahme: Die Adresse (!) der ersten Instruktion der IR findet man im Hauptspeicher an der Stelle m[0] (Adresse hängt von CPU-Modell/Konfiguration ab) f.i==1 & Interrupt pending? nein ISR aktivieren? ja st:=f Register retten st:=pc Program-Counter retten f.i:=0 Interrupts sperren pc:=m[0] mit 1. Befehl ISR fortsetzen

20 Rückkehr aus der IR Folgende Schritte sind notwendig Beachte: Die benötigten Daten wurden vorher auf den Stack gerettet:» Die Zustands-Register der CPU Im einfachen Beispiel nur das Flag Register f, sowie der Wert des Program-Counter (PC) zum Zeitpunkt der Unterbrechung Diese Daten müssen von dem Stack geholt werden Die betroffenen Register werden damit auf den Wert zurückgesetzt, den sie zum Zeitpunkt der Unterbrechung hatten» Insbesondere: PC» Vor dem Verlassen: f.i =1 (Interrupt Sperre aufheben) Wird durch spezielle Instruktion reti (teilweise) erledigt

Software-Interrupt Interrupts sind asynchrone Ereignisse, die zu unbekanntem Zeitpunkt auftreten Softwaremäßige Nachbildung SWI: Sprung zur Interrupt-Service Routine Wenn mehrer Serviceroutinen zur Auswahl:» SWI[ j ] mit Nummer j der Service Routine Aktivierung damit deterministisch» Vgl.: Subroutine Call» Aber: Zustand (Flag-Register werden gerettet)» Rücksprung-Adresse detto Zweck: zb Umschalten von Programm zu Betriebssystem» Aufruf von Betriebssystem-Funktionen» Je nach Hardware auch andere Spezialinstruktionen! 21