Förgrund-bakgrund

Foreground-background är en schemaläggningsalgoritm som används för att styra en exekvering av flera processer på en enda processor. Den är baserad på två väntelistor, den första kallas förgrund eftersom det är den där alla processer initialt kommer in, och den andra kallas bakgrund eftersom alla processer, efter att ha använt all sin exekveringstid i förgrunden, flyttas till bakgrund.

När en process blir klar börjar den sin exekvering i förgrunden omedelbart, vilket tvingar processorn att ge upp exekveringen av den aktuella processen i bakgrunden och exekvera den nyskapade processen under en fördefinierad period. Denna period är vanligtvis 2 eller fler kvanta . Om processen inte är avslutad efter att den har körts i förgrunden flyttas den till väntelistan i bakgrunden där den kommer att köras endast när förgrundslistan är tom. Efter att ha flyttats till bakgrunden körs processen längre än tidigare, vanligtvis 4 kvanta. Körningstiden förlängs eftersom processen behöver mer än 2 kvanta för att avsluta (detta är anledningen till att den flyttades till bakgrunden). Detta ger processen möjlighet att avslutas inom denna nyligen angivna tid. Om processen inte slutförs efter detta, förbereds den och flyttas till slutet av bakgrundslistan.

Fördelen med förgrunds-bakgrundsalgoritmen är att den ger processen möjlighet att exekvera direkt efter att den skapats, men schemaläggning i bakgrundslistan är ren round-robin-schemaläggning . [ citat behövs ]