www.wikidata.de-de.nina.az
Kontextwechsel oder Taskswitching englisch context switch nennt man den Vorgang in einem Betriebssystem bei dem die Bearbeitung des aktuellen Prozesses oder auch Threads Tasks oder Programms unterbrochen wird z B nach einer festgelegten Zeitspanne durch einen Timer Interrupt oder bei Systemaufrufen und zu einer anderen Routine gewechselt wird Dabei wird der Kontext im Wesentlichen die Prozessor Register des aktuellen Prozesses Threads Tasks gesichert und der Kontext des neuen wiederhergestellt Durch diesen Vorgang wird Multitasking ermoglicht da sich so mehrere Prozesse im Zeit Multiplexverfahren abwechselnd auf einem einzelnen CPU Kern ausfuhren lassen Beim Benutzer entsteht der Eindruck mehrere Prozesse wurden tatsachlich gleichzeitig ausgefuhrt werden Kontextwechsel sind meist zeitintensiv und daher wird das Design von Betriebssystemen dahingehend optimiert moglichst wenig Kontextwechsel durchzufuhren Das Wechseln von einem Prozess zum nachsten erfordert einen gewissen administrativen Aufwand etwa das Speichern und Laden von Registern und internen Tabellen zur Verwaltung der Prozesse Die Strategie fur den Kontextwechsel wird vom Scheduler festgelegt wahrend die Durchfuhrung selbst vom Dispatcher vorgenommen wird Inhaltsverzeichnis 1 Ausloser fur Kontextwechsel 1 1 Multitasking 1 2 Interrupts 2 Siehe auch 3 Literatur 4 WeblinksAusloser fur Kontextwechsel BearbeitenMultitasking Bearbeiten Hauptartikel Multitasking Einer der wichtigsten Ausloser fur Kontextwechsel ist das Multitasking Dabei kummert sich ein Scheduler darum dass alle im System laufenden Prozesse ihren Anteil an der gesamten Prozessorzeit bekommen Dieser Kontextwechsel wird dabei entweder vom Prozess selbst ausgelost etwa indem er auf den Abschluss von E A Operationen wartet In einem praemptiven Multitasking System wird auch dann ein Kontextwechsel ausgelost wenn der Prozess noch lauffahig ist aber der Scheduler entscheidet dass ein anderer Prozess an die Reihe kommt Interrupts Bearbeiten Hauptartikel Interrupt Bei einem Interrupt handelt es sich um Unterbrechungen der normalen Programmausfuhrung etwa durch ein von der Hardware ausgelostes Ereignis Wird ein Interrupt ausgelost sichern die meisten CPUs automatisch die wichtigsten kontextuellen Informationen zumindest so viel dass nach dem Interrupt wieder zum eigentlichen Programmfluss zuruckgesprungen werden kann In der Unterbrechungsroutine konnen wenn notig noch weitere Informationen gesichert werden meistens wird aber nur ein minimaler Kontext erzeugt um wertvolle Ressourcen zu sparen und schneller wieder mit dem eigentlichen Programm fortfahren zu konnen Siehe auch BearbeitenMultitasking Prozess SchedulerLiteratur BearbeitenAndrew S Tanenbaum Modern Operating Systems Prentice Hall Englewood Cliffs New Jersey 1992 ISBN 0 13 595752 4 Weblinks BearbeitenContext Switching at OSDev org englisch Abgerufen von https de wikipedia org w index php title Kontextwechsel amp oldid 205671098