8. Schedulingprobleme/Fehler bei der Zeitdiskretisierung
- 8.1. Schedulingfehler
- 8.1.1 Deadlock
- 8.1.2 Verletzung der Fairness, Starvation
- 8.1.3 Verletzung von Lebendigkeitseigenschaften
- 8.1.4 Prioritätsinversion
- 8.1.5 Race Conditions
- 8.1.6 Datenkorruption durch unsynchronisierten Zugriff
- 8.2. Zeitüberschreitungsfehler
Der Graph der aufeinander blockierend wartenden Prozesse wird zyklisch. Variante Livelock: die Prozesse warten nicht blockierend aufeinander, machen aber trotzdem keinen Fortschritt.
Einem Prozess gelingt es nicht in endlicher Zeit, eine Ressource zu erwerben, weil sie stets von anderen Prozessen gehalten wird.
EEin Prozess hört auf, einen gewünschten Zustand regelmäßig zu erreichen.
Ein Prozess mittlerer Priorität verdrängt einen Prozess niedriger Priorität, der wiederum eine Ressource belegt, auf die ein Prozess hoher Priorität wartet. Der mittlere Prozess hindert also einen Prozess höherer Priorität an der Ausführung.
Das System arbeitet nur korrekt, wenn die Umgebung bestimmte undokumentierte und unbeabsichtigte Timing-Bedingungen erfüllt.
Mehrere nebenläufige Prozesse greifen unsynchronisiert auf eine gemeinsame Datenstruktur zu und bringen sie dadurch in einen inkonsistenten Zustand.
Das System erledigt eine Aufgabe nicht in der spezifizierten Zeit.