Allgemine Prozessverwaltung



  • Hallo zusammen!

    Ich versuche jetzt ein paar Sachen zu erklären:

    Also, ein Scheduler ist dafür zuständig die Prozesse der CPU zuordnen.

    Es gibt 2 Grundsysteme: kooperatives Multitasking(Der aktive Prozess gibt von sich aus die CPU nach einem bestimmten Zeitpunkt frei) und verdrängendes Multitasking(Der Scheduler kann einem aktiven Prozess die CPU entziehen(durch Timer-Interrupt z.B.)).

    Scheduler-Strategien:
    - first come - first serve: Also nach dem Prinzip "Wer zuerst kommt, malt zuerst", d.h. je früher der Prozess da ist, desto früher wird ihm die CPU zugeteilt.

    - Prioritätssteuerung: jedem Prozess wird eine Priorität hinzugeteilt. Je höher diese ist, desto früher wird dem Prozess die CPU zugeteilt.

    - round robin(zeitverschiebeverfahren): Die Prozesse sind in der Warteschlange, diese wird durch "Wer zuerst kommt, malt zuerst" angeordnet oder? Je früher ein Prozess kommt, desto weiter vorne steht er in der Warteliste.
    Und dann gibt es eine Zeitschlitz, d.h. wenn dieser 20ms wäre, dann wird der 1. Prozess 20ms die CPU bzw. Ressourcen zugeteilt und dann stellt er sich hinten in der Warteschlange an --> 2. Prozess kommt für 20ms dran usw.

    Stimmt das was ich bisher gesagt habe? Fehlt noch etwas, was noch wichtig zu sagen wäre?

    Wie ist denn das? Wird nach 20ms ein Timer-Interrupt ausgelöst, d.h. round robin wird nur beim verdrängenden Multitasking verwendet?

    Bei Prioritätssteuerung und first come - first serve, wenn der Prozess die CPU zugeteilt wird, wie lange wird da der Prozess ausgeführt? Bis er fertig ist? Oder wie geht das genau? Wie hängt das zusammen?

    "Scheduling als arbeiten mit Listen":

    Ok ich weiß nur das es eine Prozess-Tabelle gibt. Wie werden die Prozesse da angeordnet? Sind die irgendwie in der Tabelle angeordnet? Diese Prozesse in dieser Tabelle sind mit Pointern verbunden, also einfach eine einfach verkettet Liste. Und in welche Reihenfolge wird verkettet? Also wie anordnen?

    Es gibt da Ready-, Blocked-, und Free-Listen, d.h. nur Prozesse die Ready sind in die Ready-List, die Blocked sind die Blocked-List usw., richtig?

    Naja erstmal das hier verstehen, vielleicht weiß ich dann genau wie gemischtes Scheduling und watch Dog funktioniert.

    Danke im voraus!

    Gruß
    gast1


Anmelden zum Antworten