Polling
Nachteile:
Höhere Latenz, durch Warten auf Ausführung anderer Geräte
Wenn durch alle durchgegangen wird, kann es sein, dass es nochmal alle überprüft werden, obwohl bei anderen schon etwas ist.
Unterbrechung
Interruptklassen
Betreffen CPU-Berechnungen und nicht den Speicher oder andere Dinge
-> Exceptions wichtig, damit Programm nicht weiter ausgeführt wird, wenn es nicht geht -> Interrupts unterbreche das Programm
-> Systemcalls sind hingegen gewollt und man möchte, dass man etwas beim Betriebssystem machen kann
Interruptbearbeitung
Vorgang
Interrupt -> Art des Interrupts hat eine Nummer -> Steuerung an der vordefinierten Position im Kernel basierend auf der Nummer -> Ausführen einer Routine und Handling des Fehlers
Unterbrechungsanforderung von asynchronen Interrupts
Befehlszyklus der Interruptbearbeitung und zeitlicher Ablauf
Interruptcontroller kümmert sich um die Feststellungen, ob ein Interrupt vorliegt
Register speichern, um bei dem Zustand weiter machen zu können, wo der Interrupt entstanden ist
Nutzung von Betriebssystemdiensten (Systemcalls)
Systemcalls bei Betriebssystemen
Ablauf der Interruptbearbeitung im Singleprozessor bei Betriebssystemen
Systemcall:
Asynchroner Interrrupt
IDT => Interrupt Descriptor Table
-> Intterrupt Service Routine lädt Verarbeitungsablauf in Dispatcher, damit schnell die Routine beendet wird und der Dispatcher später verarbeitet werden kann
Asynchrone-Procedure-Calls
Timerinterrupt
Unterbrechung von Multitasking, um anderen Tasks Berechnungszeit zu zuweisen, und zwischen den Tasks zu wechseln. (Pseudoparellelität)
Maskierbare Intterupts
Last changeda month ago