Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultńt Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Betriebssysteme
 
  Vorlesung
    - UnivIS-Infos
    - Inhalt
    - Folien
 
  Übungen
    - UnivIS-Infos
    - Inhalt
    - Ergänzendes Material
    - Terminübersicht
    - Aufgaben
       * Umgebung
       * Typische Fehler
       * Aufgabe 1
          Dokumentation
       * Aufgabe 2
          Dokumentation
       * Aufgabe 3
          Dokumentation
       * Aufgabe 4
          Dokumentation
       * Aufgabe 5
          Dokumentation
       * Aufgabe 6
          Dokumentation
       * Aufgabe 7
          Dokumentation
 
  Evaluation
Department Informatik  >  Informatik 4  >  Lehre  >  WS 2009/10  >  Betriebssysteme  >  ├ťbungen  >  Aufgaben  >  Aufgabe 3

CPU Klassenreferenz

Implementierung einer Abstraktion fuer den Prozessor. Mehr ...

#include <cpu.h>

Aufstellung aller Elemente

├ľffentliche Methoden

 CPU ()
 Konstruktor.
void enable_int ()
 Erlauben von (Hardware-)Interrupts.
void disable_int ()
 Interrupts werden ignoriert/verboten.
void idle ()
 Prozessor bis zum n├â┬Ąchsten Interrupt anhalten.
void halt ()
 Prozessor anhalten.


Ausf├╝hrliche Beschreibung

Implementierung einer Abstraktion fuer den Prozessor.

Derzeit wird nur angeboten, Interrupts zuzulassen, zu verbieten, den Prozessor in den Haltmodus zu schicken oder ganz anzuhalten.


Dokumentation der Elementfunktionen

void CPU::enable_int (  )  [inline]

Erlauben von (Hardware-)Interrupts.

L├Ąsst die Unterbrechungsbehandlung zu, indem die Assembleranweisung sti ausgef├╝hrt wird.

void CPU::disable_int (  )  [inline]

Interrupts werden ignoriert/verboten.

Verhindert eine Reaktion auf Unterbrechungen, indem die Assembleranweisung cli ausgef├╝hrt wird.

void CPU::idle (  )  [inline]

Prozessor bis zum n├â┬Ąchsten Interrupt anhalten.

Versetzt den Prozessor in den Haltezustand, aus dem er nur durch einen Interrupt wieder erwacht. Intern werden dazu die Interrupts mit sti freigegeben und der Prozessor mit hlt angehalten. Intel garantiert, dass die Befehlsfolge sti hlt atomar ausgef├╝hrt wird.

void CPU::halt (  )  [inline]

Prozessor anhalten.

H├Ąlt den Prozessor an. Intern werden dazu die Interrupts mit cli gesperrt und anschlie├čend der Prozessor mit hlt angehalten. Da der Haltezustand nur durch einen Interrupt verlassen werden k├Ânnte, ist somit garantiert, dass die CPU bis zum n├Ąchsten Kaltstart "steht". Das Programm kehrt aus halt() nie zur├╝ck. In einer Multiprozessorumgebung hat die Ausf├╝hrung des Halt-Befehls nur Auswirkungen auf die CPU, die ihn ausf├╝hrt. Die anderen CPUs laufen jedoch weiter.


Die Dokumentation f├╝r diese Klasse wurde erzeugt aufgrund der Datei:
  Impressum   Datenschutz Stand: 2010-07-19 12:33   BO, DL