Che cos’è il controllo del lavoro?

Il controllo del lavoro è il termine per la gestione di varie azioni su un sistema informatico. I computer sono in grado di fare più cose contemporaneamente, ma in molti casi solo un singolo processo può operare in una determinata area alla volta. I computer utilizzano un sistema di controllo dei lavori per gestire le proprie attività, consentendo a un processo di utilizzare le risorse in un’area mentre un altro utilizza le risorse in un’area diversa. Questi sistemi monitorano la priorità delle operazioni e mantengono le attività importanti in esecuzione più velocemente e le attività meno importanti in background.

I sistemi di controllo del lavoro sono stati sviluppati all’inizio della progettazione dei computer moderni per alleviare i problemi di velocità. In molti dei primi sistemi, i sistemi centrali del computer erano più che in grado di velocizzare i compiti loro assegnati. I problemi di velocità si sono verificati nelle comunicazioni con i sistemi periferici. Non solo i sistemi erano più lenti, ma il tempo di trasferimento tra i gruppi di sistemi era piuttosto lungo. Le aggiunte all’hardware periferico, come i buffer e i sistemi di cache, hanno solo reso più veloci alcuni processi e non hanno risolto il problema.

Il multitasking è stato uno dei primi tentativi di controllo del lavoro. Al computer è stato dato un nuovo sistema che tiene traccia dei lavori attivi e inattivi. Quando un sistema era troppo occupato per gestire un nuovo lavoro, veniva messo in una coda inattiva. Quando l’hardware è stato in grado di eseguire un nuovo processo, il processo con la priorità più alta sarebbe stato attivato. Questo processo si sposterebbe quindi nell’hardware.

Il problema con questo sistema era nella sua natura decentralizzata. Mentre un’unica coda conteneva tutti i processi attivi e inattivi, le informazioni relative all’hardware provenivano dall’hardware stesso. Il driver per l’hardware segnalava se era disponibile o meno allo scheduler: se un processo entrava in uno stato di errore e continuava a utilizzare l’hardware, non sarebbe mai stato disponibile. Inoltre, alcuni processi necessitavano solo del processore centrale o di una determinata periferica; questo legherebbe l’intero sistema fino alla fine di quei processi. Per combattere questo problema, sono stati progettati moderni sistemi di controllo del lavoro.

Il controllo del lavoro si concentra sull’idea del calcolo preventivo. Ad ogni processo viene assegnata una priorità generale e, occasionalmente, priorità secondarie relative a determinati sistemi. Lo scheduler del computer mantiene la coda dei processi. Quando si presenta un processo più importante di quello attualmente attivo, quello attivo verrà sospeso e il nuovo processo prenderà il sopravvento. Quando il programma sospeso è il processo più importante, verrà riavviato.