01801 Betriebssysteme KE 2 Prüfungsvorbereitung

#4 Synchronisation

Warum kann ein Scheduler eine race condition nicht berücksichtigen und nur zum richtigen Zeitpunkt einen Thread unterbrechen?

  • Der Scheduler muss immer dann tätig werden, wenn durch Timer-Unterbrechung ein Prozesswechsel erzwungen wird. Die Unterbrechung kann zu beliebigen Zeitpunkten stattfinden.

  • Er hat keine Informationen im Voraus über das Verhalten der Prozesse in der Zukunft. Es ist ihm auch nicht möglich, solche Informationen durch Analyse der Programme zu gewinnen.

  • Es ist sowieso nicht garantiert, dass es überhaupt einen auf Zeitscheibenlängen basierenden korrekten Ablaufplan gibt.
 
Es folgt:
  • Der Scheduler kann die Synchronisation von Prozessen / Threads nicht übernehmen
  • Die Prozesse und Threads sind selbst für die Synchronisation verantwortlich

Diskussion