Työnhallinta on termi erilaisten toimintojen hallintaan tietokonejärjestelmässä. Tietokoneet pystyvät tekemään useita asioita samanaikaisesti, mutta monissa tapauksissa vain yksi prosessi voi toimia tietyllä alueella kerrallaan. Tietokoneet käyttävät työnhallintajärjestelmää tehtäviensä hallintaan, jolloin yksi prosessi käyttää resursseja yhdellä alueella ja toinen käyttää resursseja toisella alueella. Nämä järjestelmät valvovat toimintojen prioriteettia ja pitävät tärkeät tehtävät käynnissä nopeammin ja vähemmän tärkeät tehtävät taustalla.
Työnohjausjärjestelmät kehitettiin varhain nykyaikaisten tietokoneiden suunnittelussa nopeusongelmien lievittämiseksi. Monissa varhaisissa järjestelmissä tietokoneen keskusjärjestelmät kykenivät nopeammin suorittamaan heille annetut tehtävät. Nopeusongelmat tapahtuivat viestinnässä oheisjärjestelmien kanssa. Paitsi, että järjestelmät olivat hitaampia, siirtojärjestelmien välinen siirtoaika oli melko pitkä. Lisäosat oheislaitteistoihin, kuten puskureihin ja välimuistijärjestelmiin, nopeuttivat vain tiettyjä prosesseja eivätkä ratkaisseet ongelmaa.
Monitehtävä oli varhainen yritys työn hallintaan. Tietokone sai uuden järjestelmän, joka seurasi aktiivisia ja passiivisia töitä. Kun järjestelmä oli liian kiireinen käsittelemään uutta työtä, se asetettiin ei -aktiiviseen jonoon. Kun laitteisto kykeni ottamaan uuden prosessin, korkean prioriteetin prosessi aktivoitiin. Tämä prosessi siirtyisi sitten laitteistoon.
Järjestelmän ongelma oli sen hajautettu luonne. Vaikka yksi jono sisälsi kaikki aktiiviset ja passiiviset prosessit, laitteistoon liittyvät tiedot tulivat itse laitteistosta. Laitteiston ohjain ilmoittaisi, oliko se käytettävissä vai ei, ajoitukselle – jos prosessi siirtyi virhetilaan ja jatkoi laitteiston käyttöä, se ei koskaan tule saataville. Lisäksi jotkin prosessit tarvitsivat vain keskusprosessorin tai tietyn oheislaitteen; tämä sitoisi koko järjestelmän, kunnes nämä prosessit päättyivät. Tämän ongelman torjumiseksi suunniteltiin nykyaikaisia työnohjausjärjestelmiä.
Työnhallinta keskittyy ennakoivan laskennan ajatukseen. Jokaiselle prosessille annetaan yleinen prioriteetti ja joskus toissijaiset prioriteetit tiettyihin järjestelmiin liittyen. Tietokoneen ajastin ylläpitää prosessijonoa. Kun esiin tulee yksi prosessi, joka on tärkeämpi kuin aktiivinen, aktiivinen keskeytyy ja uusi prosessi ottaa vallan. Kun keskeytetty ohjelma on tärkein prosessi, se käynnistyy uudelleen.