Vai al contenuto
MappeDSA
Ufficiale

TPSIT: Algoritmi di Scheduling

Algoritmi di Scheduling (2 mappe concettuali)
Gli algoritmi di scheduling sono fondamentali nei sistemi operativi per gestire l’accesso alla CPU e ottimizzare le prestazioni del sistema. Questi algoritmi decidono quale processo eseguire per primo, bilanciando efficienza, reattività e equità.

Round Robin (RR)

L’algoritmo Round Robin è uno dei più diffusi in sistemi a partizione di tempo (time-sharing). Tutti i processi pronti vengono inseriti in una coda circolare FIFO senza priorità, e a ogni processo viene assegnato un “quanto di tempo” (time slice) fisso. Se un processo non termina entro questo intervallo, viene sospeso tramite il Real-Time Clock (RTC) e messo in fondo alla coda, cedendo la CPU al processo successivo. Questo metodo assicura che ogni processo riceva un’equa porzione di tempo CPU e aiuta a mantenere il sistema reattivo. Tuttavia, Round Robin può essere inefficiente se i processi hanno durate molto eterogenee o se il time slice non è ben calibrato, aumentando il numero di costosi cambi di contesto. Varianti come il Weighted Round Robin cercano di migliorarne l’efficienza.

Algoritmo Multiple Level Feedback Queues (MLFQ)

Il MLFQ combina il scheduling a priorità con meccanismi come il Round Robin nelle singole code. In questo schema, i processi sono suddivisi in più code ordinate per priorità, ciascuna con un diverso quanto di tempo assegnato. I processi iniziano nella coda a priorità più alta e, una volta esauriti i quanti disponibili, vengono declassati a code di priorità inferiore. Questo sistema privilegia i processi interattivi e brevi (alta priorità) migliorando la responsività, mentre assegna meno risorse ai processi lunghi o CPU-bound. MLFQ rappresenta un compromesso flessibile e adattativo tra equità e prestazioni [testo fornito].

Altri algoritmi comunemente usati

  • Scheduling a Priorità: assegna una priorità a ogni processo e esegue sempre il più prioritario. Esiste in versione preemptive e non preemptive ma può provocare starvation nei processi a priorità bassa se non gestito opportunamente.
  • First-Come-First-Served (FCFS): esegue i processi nell’ordine di arrivo. È semplice ma può causare lunghi tempi di attesa se il primo processo è molto lungo.
  • Shortest Job First (SJF) e Shortest Remaining Time First (SRTF): selezionano il processo con la durata minima o con il tempo residuo più breve. SJF è non preemptive, mentre SRTF può preemptare un processo in esecuzione se arriva uno più breve, riducendo il tempo medio di attesa.

Scarica PDF

Tags: Algoritmi di scheduling, FCFS, SJF, SRTF, Scheduling con priorità, Sistemi operativi, TPSIT

*Riassunto iniziale realizzato con l’ausilio dell’IA