In informatica lo scheduler (da to schedule letteralmente “mettere in lista”, ovvero “pianificare”) è un componente di un sistema operativo ovvero un programma che implementa un algoritmo di scheduling che, dato un insieme di richieste di accesso ad una risorsa (tipicamente l’accesso al processore da parte di un processo da elaborare nel ciclo di fetch-execute), stabilisce un ordinamento temporale per l’esecuzione di tali richieste, privilegiando quelle che rispettano determinati parametri, in modo da ottimizzare l’accesso a tale risorsa e consentire così l’espletamento del servizio/istruzione o processo desiderato. L’attenzione posta su alcuni parametri piuttosto che su altri, differenzia la cosiddetta politica di scheduling all’interno della gestione dei processi: solitamente lo scheduler può eseguire le richieste in base al loro ordine di arrivo, oppure dare precedenza a quelle che impegnano per meno tempo la risorsa; possono esistere politiche che si basano su principi statistici o sulla predizione per individuare un ordinamento delle richieste che si avvicini il più possibile quello ottimale.