www.wikidata.de-de.nina.az
Das Prioritatsscheduling auch PS priority scheduling ist ein in Betriebssystemen haufig verwendetes Zeitaufteilungs Verfahren sog Scheduling das jedem Prozess eine Prioritat zuweist und jeweils den lauffahigen Prozess mit der hochsten Prioritat zur Ausfuhrung bringt Hintergrund BearbeitenIn einem Computer kann ein Prozessorkern immer nur einen Prozess gleichzeitig bearbeiten Um dennoch mehrere Prozesse quasi gleichzeitig abarbeiten zu konnen wechselt der Prozessorkern sehr schnell zwischen diesen sie erhalten sog Zeitscheiben i A haben die Zeitscheiben eine feste Dauer im Millisekunden Bereich Dabei kann ein hoher priorisierter Prozess ofter an die Reihe kommen ein niedriger priorisierter muss dafur langer auf eine Zeitscheibe warten Arten und Verfahren BearbeitenDie Prioritatenvergabe kann statisch oder dynamisch erfolgen In Echtzeitsystemen wird haufig eine statische Prioritatenvergabe verwendet wahrend andere Systeme oftmals dynamische Prioritaten nutzen Bei dynamischer Prioritatenvergabe wird die Prioritat mit jedem Timertick verringert bis ein anderer Prozess eine hohere Prioritat als der aktuell lauffahige besitzt Auch die Einteilung von Prozessen in verschiedene Prioritatenklassen ist moglich Innerhalb der einzelnen Prioritatenklassen wird typischerweise ein Round Robin Scheduling verwendet Ein Beispiel fur einen Scheduler mit dynamisch verwalteten Prioritatsklassen ist der Multilevel Feedback Queue Scheduler Mittels intelligenter Algorithmen zur Prioritatenvergabe konnen verschiedene Systemziele erreicht werden So ist es moglich Prozessprioritaten bei Prozessen mit starkem I O dynamisch zu vergrossern um die Interaktivitat des Systems zu verbessern Gefahr Prioritatsinversion BearbeitenEs besteht die Gefahr der Prioritatsinversion die auftritt wenn ein Prozess mit niedriger Prioritat eine Ressource mit Hilfe einer Semaphorvariablen exklusiv belegt hat p O p e r a t i o n displaystyle p Operation nbsp die von einem Prozess mit hoher Prioritat benotigt wird Obwohl der hochpriore Prozess eigentlich ausgefuhrt werden sollte muss er warten bis der niederpriore Prozess die Ressource mit einer v O p e r a t i o n displaystyle v Operation nbsp wieder freigibt Dieses Problem kann durch einen Prozess mittlerer Prioritat verscharft werden da dieser sowohl den hoch wie niederprioren Prozess nun beliebig lange verdrangen kann Ein beruhmter Absturz der auf diesen Fehler zuruckgefuhrt wurde ist der Beinahe Verlust der Pathfinder Marssonde Obwohl das Problem seit den 1970er Jahren bekannt ist ist noch keine optimale Losung gefunden worden Zwei bekannte Losungsansatze sind die Prioritatsgrenze oder schranke Priority Ceiling und die Prioritatsvererbung Priority Inheritance Abgerufen von https de wikipedia org w index php title Prioritatsscheduling amp oldid 228281044