Controlul locului de muncă este termenul pentru gestionarea diferitelor acțiuni pe un sistem informatic. Calculatoarele sunt capabile să facă mai multe lucruri în același timp, dar în multe cazuri, doar un singur proces poate funcționa într-o anumită zonă la un moment dat. Calculatoarele folosesc un sistem de control al locurilor de muncă pentru a-și gestiona sarcinile, permițând unui proces să folosească resurse într-o zonă, în timp ce altul folosește resurse într-o zonă diferită. Aceste sisteme monitorizează prioritatea operațiunilor și mențin sarcinile importante care rulează mai rapid și sarcinile mai puțin importante în fundal.
Sistemele de control al locurilor de muncă s-au dezvoltat la începutul proiectării computerelor moderne pentru a atenua problemele de viteză. În multe sisteme timpurii, sistemele centrale ale computerului erau mai mult decât capabile să accelereze sarcinile care le-au fost date. Problemele de viteză au apărut în comunicațiile cu sistemele periferice. Nu numai că sistemele au fost mai lente, dar timpul de transfer între grupurile de sisteme a fost destul de lung. Adăugările la hardware-ul periferic, cum ar fi sistemele tampon și cache, au făcut doar anumite procese mai rapide și nu au rezolvat problema.
Multitasking-ul a fost o încercare timpurie de control al locului de muncă. Computerul a primit un nou sistem care ține evidența joburilor active și inactive. Când un sistem era prea ocupat pentru a gestiona o nouă lucrare, acesta a fost pus într-o coadă inactivă. Când hardware-ul putea prelua un nou proces, procesul cu cea mai mare prioritate va fi activat. Acest proces se va muta apoi în hardware.
Problema cu acest sistem era în natura sa descentralizată. În timp ce o singură coadă conținea toate procesele active și inactive, informațiile referitoare la hardware au venit de la hardware-ul însuși. Driverul hardware-ului va raporta programatorului dacă acesta era disponibil sau nu – dacă un proces intra într-o stare de eroare și continua să folosească hardware-ul, acesta nu va deveni niciodată disponibil. În plus, unele procese aveau nevoie doar de procesorul central sau de un anumit periferic; acest lucru ar lega întregul sistem până la încheierea acestor procese. Pentru a combate această problemă, au fost concepute sisteme moderne de control al locurilor de muncă.
Controlul locurilor de muncă se concentrează pe ideea de calcul preventiv. Fiecărui proces i se acordă o prioritate generală și, ocazional, priorități secundare referitoare la anumite sisteme. Planificatorul computerului menține coada de procese. Când apare un proces care este mai important decât unul care este activ în prezent, cel activ se va suspenda și noul proces va prelua. Când programul suspendat este cel mai important proces, acesta va porni din nou.