SUCHE MIT Google
Web virtualuniversity.ch
HOME DIDAKTIK ECDL ELEKTRONIK GUIDES HR MANAGEMENT MATHEMATIK SOFTWARE TELEKOM
DIENSTE
Anmeldung
Newsletter abonnieren
Sag's einem Freund!
VirtualUniversity als Startseite
Zu den Favoriten hinzufügen
Feedback Formular
e-Learning für Lehrer
Spenden
Autoren login
KURSE SUCHEN
Kurse veröffentlichen

Suche nach Datum:

Suche mit Schlüsselwort:

Suche nach Land:

Suche nach Kategorie:
PARTNER
ausbildung24.ch - Ausbildungsportal, Seminare, Kursen... 

 
HTMLopen.de - Alles was ein Webmaster braucht

 
PCopen.de - PC LAN Netze und Netzwerke - alles was ein IT Profi und Systemtechnicker braucht

GUIDES UND TUTORIAL

Prozeß-Scheduling

In Multitasking-Betriebssystemen ist ein spezieller Prozeß notwendig, der aus den bereiten Prozessen den nächsten aktiven Prozeß auswählt.Sobald mehr als ein Prozeß den Zustand "bereit" besitzt, muß der Scheduler des Betriebssystems entscheiden, welcher Prozeß die CPU erhält (wir gehen zur Vereinfachung von einem System mit nur einem Prozessor aus). Kriterien für einen guten Scheduler sind:
  • Gerechtigkeit: Jeder Prozeß erhält einen "gerechten" CPU-Anteil
  • Effizienz: Die CPU sollte immer zu 100% ausgelastet sein
  • Antwortzeit: Minimale Antwortzeit für interaktive Benutzer
  • Verweilzeit: Angemessen kurze Verweilzeit für Batch-Aufträge
  • Durchsatz: Möglichst viele Aufträge/Zeitraum abarbeiten
  • Terminerfüllung: Bereitstellung bestimmter Ergebnisse zu festgelegten Zeitpunkten

Bei Multitasking-Betriebssystemen werden zwei Grundsysteme für das Scheduling unterschieden:

  • kooperatives Multitasking (non preemptive)
    Der aktive Prozeß gibt von sich aus die CPU zu einem geeigneten Zeitpunkt frei. Es ist nur ein geringer Verwaltungsaufwand nötig. Es besteht jedoch die Gefahr, daß ein "unkooperativer" oder fehlerhafter Prozeß alle anderen Prozesse blockiert.

  • verdrängendes Multitasking (preemptive) Der Scheduler kann einem Prozeß die CPU entziehen (z. B. ausgelöst durch einen Timer-Interrupt). Dadurch kann die Bearbeitung dringlicherer Aufgaben jederzeit begonnen werden (z. B. bei Echtzeit-BS). Ein fehlerhafter Prozeß kann das System nicht blockieren.
    Anstoß für den Prozeßwechsel durch Verdrängung:
    • Zeitgesteuerte Strategien
      Jeder Prozeß erhält die CPU für eine bestimmte Zeitspanne (Zeitscheibe). Danach wird die CPU dem nächsten Prozeß zugeteilt (Zeitscheibenverfahren, round robin).
    • Ereignisgesteuerte Strategien
      Ein Prozeßwechsel findet statt, wenn ein Ereignis (z. B. ein Hardwareinterrupt) einen anderen Prozeß benötigt. Hier werden allgemein den einzelnen Prozessen Prioritäten zugeordnet, die sich dynamisch ändern. Ein bestimmtes Ereignis verleiht "seinem" Prozeß eine höhere Priorität.

Scheduling-Strategien

Bei kooperativem Multitasking oder ereignisgesteuerten Schedulern wird die Zuteilungsstrategie über Prioritäten gesteuert, wobei man beim kooperativen System von relativem Vorrang spricht (der erst nach Freigabe der CPU durch den aktiven Prozeß wirksam wird) und beim ereignisgesteuerten System vom absoluten Vorrang (der sofort zum Prozeßwechsel führt).
Die Zeitscheibensteuerung kann als Sonderfall der Ereignissteuerung betrachtet werden, das Ereignis ist in diesem Fall der Ablauf der zugeteilten Zeitscheibe.

Einige Strategien, die in der Praxis verwendet werden, sind:

  • Wer zuerst kommt, wird zuerst bedient (first come, first served):
    Verteilung der Prioritäten nach Ankunftszeit, ohne Vorrechte. Kommen zwei Prozesse genau gleichzeitig, wird eine zufällige Auswahl getroffen. Gute Systemauslastung, aber schlechtes Antwortzeitverhalten (lang laufende Prozesse behindern Kurzläufer). Einfach zu implementieren.
  • Zeitscheibenverfahren (round robin):
    Jeder Prozeß erhält eine feste Zeitspanne (time slice) zugeordnet. Nach Ablauf dieser Zeitspanne wird er verdrängt und der nächste Prozeß erhält die CPU --> zyklische Zuteilung. Alle Prozesse haben immer die gleiche Priorität. Die Zeitspanne kann konstant sein oder abhängig von der Prozessorbelastung variieren. Kurze Antwortzeiten bei kleinen Zeitscheiben, aber dann höhere Verluste durch die häufigen Prozeßwechsel.
  • Prioritätssteuerung:
    Jedem bereiten Prozeß wird eine Priorität zugeordnet. Vergabe der CPU in absteigender Priorität. Ein Prozeß niedrigerer Priorität kann die CPU erst erhalten, wenn alle Prozesse höherer Priorität abgearbeitet sind. Ein bereit werdender Prozeß höherer Priorität verdrängt einen aktiven Prozeß niedrigerer Priorität. Alle Prozesse gleicher Priorität werden i.a. in jeweils einer eigenen Warteschlange geführt Realisierung mehrerer unterschiedlicher Verfahren, z. Teil gemischt mit anderen Strategien , z. B.
    • Reine Prioritätssteuerung: Prozesse gleicher Priorität werden nach der Eingangsreihenfolge abgearbeitet (z. B. in Echtzeit-BS)
    • Prioritätsgesteuerung mit unterlagertem Zeitscheibenverfahren: Prozesse gleicher Priorität werden nach dem Zeitscheibenverfahren abgearbeitet
    • Dynamische Prioritätsvergabe: Die Priorität auf die CPU wartender Prozesse wird allmählich erhöht
    • Mehrstufiges Herabsetzen (multilevel feedback): Festlegung einer maximalen Rechenzeit für jede Prioritätsstufe. Hat ein Prozeß die max. Rechenzeit seiner Priorität verbraucht, bekommt er die nächstniedrigere Priorität, bis er die niedrigste Stufe erreicht hat.
  • Es gibt noch zahlreiche weitere Scheduling-Strategien.

In Dialogsystemen wird normalerweise Round Robin verwendet, um den Benutzern akzeptable Antwortzeiten zu bieten. Bei Batchbetrieb und gemischten Systemen kommen oft Kombinationen der o. g. Strategien vor - z. B. getrenntes Scheduling für Dialog- und Batchbetrieb.

DIPLOMARBEITEN UND BÜCHER

Diplomarbeiten zum Runterladen:

Suche im Katalog:
Architektur / Raumplanung
Betriebswirtschaft - Funktional
Erziehungswissenschaften
Geowissenschaften
Geschichtswissenschaften
Informatik
Kulturwissenschaften
Medien- und Kommunikationswissenschaften
Medizin
Psychologie
Physik
Rechtswissenschaft
Soziale Arbeit
Sozialwissenschaften


JOBS
HOME | E-LEARNING | SITEMAP | LOGIN AUTOREN | SUPPORT | FAQ | KONTAKT | IMPRESSUM
Virtual University in: Italiano - Français - English - Español
VirtualUniversity, WEB-SET Interactive GmbH, www.web-set.com, 6301 Zug

Partner:   Seminare7.de - PCopen.de - HTMLopen.de - WEB-SET.com - YesMMS.com - Ausbildung24.ch - Manager24.ch - Job und Karriere