Kontrola pracy to termin na zarządzanie różnymi czynnościami w systemie komputerowym. Komputery są w stanie wykonywać wiele czynności jednocześnie, ale w wielu przypadkach w danym momencie może działać tylko jeden proces. Komputery używają systemu kontroli zadań do zarządzania swoimi zadaniami, pozwalając jednemu procesowi korzystać z zasobów w jednym obszarze, podczas gdy inny korzysta z zasobów w innym obszarze. Systemy te monitorują priorytet operacji i utrzymują ważne zadania działające szybciej, a mniej ważne zadania w tle.
Systemy kontroli pracy opracowane na wczesnym etapie projektowania nowoczesnych komputerów w celu złagodzenia problemów z szybkością. W wielu wczesnych systemach, centralne systemy komputerowe były bardziej niż zdolne do przyspieszenia wykonywania powierzonych im zadań. Problemy z szybkością wystąpiły w komunikacji z systemami peryferyjnymi. Nie tylko systemy były wolniejsze, ale także czas przejścia między grupami systemów był dość długi. Dodatki do sprzętu peryferyjnego, takiego jak bufory i systemy pamięci podręcznej, tylko przyspieszały niektóre procesy i nie rozwiązywały problemu.
Wielozadaniowość była wczesną próbą kontroli pracy. Komputer otrzymał nowy system, który śledził aktywne i nieaktywne zadania. Gdy system był zbyt zajęty, aby obsłużyć nowe zadanie, był umieszczany w nieaktywnej kolejce. Gdy sprzęt był w stanie przyjąć nowy proces, aktywny byłby proces o najwyższym priorytecie. Ten proces zostałby następnie przeniesiony do sprzętu.
Problem z tym systemem miał charakter zdecentralizowany. Podczas gdy pojedyncza kolejka zawierała wszystkie aktywne i nieaktywne procesy, informacje dotyczące sprzętu pochodziły z samego sprzętu. Sterownik sprzętu zgłaszałby harmonogramowi, czy jest dostępny, czy nie — jeśli proces wszedł w stan błędu i nadal korzystał ze sprzętu, nigdy nie byłby dostępny. Ponadto niektóre procesy potrzebowały tylko centralnego procesora lub określonego urządzenia peryferyjnego; to zablokowałoby cały system do czasu zakończenia tych procesów. Aby zwalczyć ten problem, zaprojektowano nowoczesne systemy kontroli pracy.
Kontrola pracy skupia się na idei przetwarzania z wywłaszczaniem. Każdemu procesowi nadawany jest ogólny priorytet, a czasami także drugorzędne priorytety odnoszące się do określonych systemów. Harmonogram komputera utrzymuje kolejkę procesów. Kiedy pojawi się jeden proces, który jest ważniejszy niż ten, który jest aktualnie aktywny, aktywny zostanie zawieszony, a nowy proces przejmie kontrolę. Gdy wstrzymany program jest najważniejszym procesem, zostanie uruchomiony ponownie.