Hva er jobbkontroll?
Jobbkontroll er betegnelsen for å håndtere forskjellige handlinger på et datasystem. Datamaskiner er i stand til å gjøre flere ting samtidig, men i mange tilfeller er det bare en enkelt prosess som kan operere i et gitt område når som helst. Datamaskiner bruker et jobbkontrollsystem for å administrere oppgavene sine, og lar en prosess bruke ressurser i ett område, mens en annen bruker ressurser i et annet område. Disse systemene overvåker prioriteten til operasjoner og holder viktige oppgaver i gang raskere og mindre viktige oppgaver i bakgrunnen.
Jobbkontrollsystemer ble tidlig utviklet i utformingen av moderne datamaskiner for å lindre hastighetsproblemer. I mange tidlige systemer var datamaskinens sentrale systemer mer enn i stand til å få hurtig gjennom oppgavene som ble gitt dem. Hastighetsproblemene skjedde i kommunikasjonen med perifere systemer. Ikke bare var systemene tregere, men overføringstiden mellom systemgruppene var ganske lang. Tillegg til periferiutstyr, for eksempel buffere og cache-systemer, gjorde bare visse prosesser raskere og løste ikke problemet.
Multitasking var et tidlig forsøk på jobbkontroll. Datamaskinen fikk et nytt system som holdt oversikt over aktive og inaktive jobber. Når et system var for opptatt til å håndtere en ny jobb, ble det satt i en inaktiv kø. Når maskinvaren kunne ta en ny prosess, ville prosessen med høyest prioritering bli aktiv. Denne prosessen vil deretter flytte inn i maskinvaren.
Problemet med dette systemet var i sin desentraliserte natur. Mens en enkelt kø inneholdt alle de aktive og inaktive prosessene, kom informasjon knyttet til maskinvaren fra selve maskinvaren. Driveren for maskinvaren rapporterer om den var tilgjengelig eller ikke for planleggeren - hvis en prosess gikk inn i en feiltilstand og fortsatte å bruke maskinvaren, ville den aldri bli tilgjengelig. I tillegg trengte noen prosesser bare den sentrale prosessoren eller en viss periferi; dette ville binde opp hele systemet til de prosessene ble avsluttet. For å bekjempe dette problemet ble moderne jobbkontrollsystemer designet.
Jobbkontroll fokuserer på ideen om forutgående databehandling. Hver prosess får en overordnet prioritering og noen ganger sekundære prioriteringer knyttet til visse systemer. Datamaskinens planlegger opprettholder prosesskøen. Når en prosess dukker opp som er viktigere enn en som for tiden er aktiv, vil den aktive suspendere og den nye prosessen vil ta over. Når det suspenderte programmet er den viktigste prosessen, vil det starte opp igjen.