Podcast
Questions and Answers
Quali sono le classi di scheduling riconosciute da Linux?
Quali sono le classi di scheduling riconosciute da Linux?
Qual è il range di priorità per i processi nelle classi SCHED FIFO e SCHED RR?
Qual è il range di priorità per i processi nelle classi SCHED FIFO e SCHED RR?
Cosa determina la preemption in Linux?
Cosa determina la preemption in Linux?
In quali casi un processo può essere soppiantato da un altro processo?
In quali casi un processo può essere soppiantato da un altro processo?
Signup and view all the answers
Che cosa indica la priorità 0 nel contesto del scheduling in Linux?
Che cosa indica la priorità 0 nel contesto del scheduling in Linux?
Signup and view all the answers
Quale di queste affermazioni è vera riguardo alle wait queues?
Quale di queste affermazioni è vera riguardo alle wait queues?
Signup and view all the answers
Come viene gestita la priorità nei processi in Linux?
Come viene gestita la priorità nei processi in Linux?
Signup and view all the answers
Qual è il tempo massimo raccomandato per dare la CPU ai processi interattivi?
Qual è il tempo massimo raccomandato per dare la CPU ai processi interattivi?
Signup and view all the answers
Quale affermazione sulla gestione della memoria tra il long-term e il medium-term è corretta?
Quale affermazione sulla gestione della memoria tra il long-term e il medium-term è corretta?
Signup and view all the answers
Qual è la frequenza degli interrupt del timer in Linux per garantire un buon funzionamento delle applicazioni real-time?
Qual è la frequenza degli interrupt del timer in Linux per garantire un buon funzionamento delle applicazioni real-time?
Signup and view all the answers
Cosa caratteristiche hanno i processi batch rispetto a quelli interattivi?
Cosa caratteristiche hanno i processi batch rispetto a quelli interattivi?
Signup and view all the answers
Cosa sono le runqueues in Linux?
Cosa sono le runqueues in Linux?
Signup and view all the answers
Qual è uno degli obiettivi principali della gestione dello scheduling in Linux?
Qual è uno degli obiettivi principali della gestione dello scheduling in Linux?
Signup and view all the answers
Qual è uno svantaggio del round-robin nei processi I/O bound?
Qual è uno svantaggio del round-robin nei processi I/O bound?
Signup and view all the answers
Cosa comporta la degenerazione del round robin in FCFS?
Cosa comporta la degenerazione del round robin in FCFS?
Signup and view all the answers
Qual è la differenza principale tra processi CPU-bound e I/O bound?
Qual è la differenza principale tra processi CPU-bound e I/O bound?
Signup and view all the answers
Quale vantaggio offre il round-robin virtuale?
Quale vantaggio offre il round-robin virtuale?
Signup and view all the answers
Nel contesto dello SPN, cosa significa 'breve'?
Nel contesto dello SPN, cosa significa 'breve'?
Signup and view all the answers
Qual è una conseguenza della stimazione errata del tempo di esecuzione nello SPN?
Qual è una conseguenza della stimazione errata del tempo di esecuzione nello SPN?
Signup and view all the answers
Che problema possono affrontare i processi lunghi a causa dello SPN?
Che problema possono affrontare i processi lunghi a causa dello SPN?
Signup and view all the answers
Quale affermazione è corretta riguardo al time-slicing nel round-robin?
Quale affermazione è corretta riguardo al time-slicing nel round-robin?
Signup and view all the answers
Qual è l'obiettivo principale dello scheduling in un sistema operativo?
Qual è l'obiettivo principale dello scheduling in un sistema operativo?
Signup and view all the answers
Quale tipo di scheduling si occupa di decidere quali processi possono essere eseguiti nel sistema?
Quale tipo di scheduling si occupa di decidere quali processi possono essere eseguiti nel sistema?
Signup and view all the answers
Quali sono i criteri prestazionali per l'utente nello short-term scheduling?
Quali sono i criteri prestazionali per l'utente nello short-term scheduling?
Signup and view all the answers
Che cosa indica il termine 'Starvation' nello scheduling?
Che cosa indica il termine 'Starvation' nello scheduling?
Signup and view all the answers
Quale tipo di scheduling è conosciuto anche come dispatcher?
Quale tipo di scheduling è conosciuto anche come dispatcher?
Signup and view all the answers
Che cos'è il throughput in un sistema di gestione dei processi?
Che cos'è il throughput in un sistema di gestione dei processi?
Signup and view all the answers
Quale affermazione è vera riguardo ai criteri di sistema per lo short-term scheduling?
Quale affermazione è vera riguardo ai criteri di sistema per lo short-term scheduling?
Signup and view all the answers
Qual è il ruolo del medium-term scheduling?
Qual è il ruolo del medium-term scheduling?
Signup and view all the answers
Qual è la funzione principale dell'utilizzo del processore?
Qual è la funzione principale dell'utilizzo del processore?
Signup and view all the answers
Cosa misura il Turnaround time?
Cosa misura il Turnaround time?
Signup and view all the answers
Cosa implica il bilanciamento delle risorse nello scheduling di processi?
Cosa implica il bilanciamento delle risorse nello scheduling di processi?
Signup and view all the answers
Quale strategia tipica è utilizzata nel long-term scheduling per i lavori interattivi?
Quale strategia tipica è utilizzata nel long-term scheduling per i lavori interattivi?
Signup and view all the answers
Qual è il significato di fairness nello scheduling dei processi?
Qual è il significato di fairness nello scheduling dei processi?
Signup and view all the answers
Quale problema potrebbe verificarsi con processi a bassa priorità?
Quale problema potrebbe verificarsi con processi a bassa priorità?
Signup and view all the answers
Che cosa intende il termine 'Throughput' nello context di scheduling?
Che cosa intende il termine 'Throughput' nello context di scheduling?
Signup and view all the answers
Qual è il criterio principale di validità per il response time?
Qual è il criterio principale di validità per il response time?
Signup and view all the answers
Qual è la differenza principale tra scheduling preemptive e non-preemptive?
Qual è la differenza principale tra scheduling preemptive e non-preemptive?
Signup and view all the answers
Cosa accade in un sistema non-preemptive quando un processo è in esecuzione?
Cosa accade in un sistema non-preemptive quando un processo è in esecuzione?
Signup and view all the answers
Quale affermazione descrive meglio il ruolo del short-term scheduling?
Quale affermazione descrive meglio il ruolo del short-term scheduling?
Signup and view all the answers
Qual è uno svantaggio del metodo FCFS (First Come First Served)?
Qual è uno svantaggio del metodo FCFS (First Come First Served)?
Signup and view all the answers
In quale stato un processo può passare da "blocked" a "blocked/suspend"?
In quale stato un processo può passare da "blocked" a "blocked/suspend"?
Signup and view all the answers
Qual è il principio alla base del Round-Robin scheduling?
Qual è il principio alla base del Round-Robin scheduling?
Signup and view all the answers
Quale dei seguenti fattori deve essere considerato per la funzione di selezione dei processi?
Quale dei seguenti fattori deve essere considerato per la funzione di selezione dei processi?
Signup and view all the answers
Quale strategia viene utilizzata per aumentare la priorità di un processo nel tempo?
Quale strategia viene utilizzata per aumentare la priorità di un processo nel tempo?
Signup and view all the answers
In un sistema preemptive, in quale situazione un processo può essere interrotto?
In un sistema preemptive, in quale situazione un processo può essere interrotto?
Signup and view all the answers
Che cosa determina se un processo diventa 'ready' nel contesto della preemption?
Che cosa determina se un processo diventa 'ready' nel contesto della preemption?
Signup and view all the answers
Qual è la formula per il calcolo del tempo di esecuzione nel metodo di Exponential Averaging?
Qual è la formula per il calcolo del tempo di esecuzione nel metodo di Exponential Averaging?
Signup and view all the answers
Che cosa significa il parametro α nell'Exponential Averaging?
Che cosa significa il parametro α nell'Exponential Averaging?
Signup and view all the answers
Qual è la caratteristica principale della schedulazione SRT (Shortest Remaining Time)?
Qual è la caratteristica principale della schedulazione SRT (Shortest Remaining Time)?
Signup and view all the answers
Qual è il rapporto utilizzato nella schedulazione HRRN (Highest Response Ratio Next)?
Qual è il rapporto utilizzato nella schedulazione HRRN (Highest Response Ratio Next)?
Signup and view all the answers
Quale metodo di scheduling tradizionale utilizza il round robin con priorità?
Quale metodo di scheduling tradizionale utilizza il round robin con priorità?
Signup and view all the answers
Qual è uno svantaggio dell'assegnamento statico nei sistemi multiprocessore?
Qual è uno svantaggio dell'assegnamento statico nei sistemi multiprocessore?
Signup and view all the answers
Nel contesto dell'assegnamento dinamico, quale delle seguenti affermazioni è vera?
Nel contesto dell'assegnamento dinamico, quale delle seguenti affermazioni è vera?
Signup and view all the answers
Quale delle seguenti affermazioni è vera riguardo il scheduling in Linux?
Quale delle seguenti affermazioni è vera riguardo il scheduling in Linux?
Signup and view all the answers
Che tipo di processo è classificato con priorità alta nel sistema di scheduling di UNIX?
Che tipo di processo è classificato con priorità alta nel sistema di scheduling di UNIX?
Signup and view all the answers
Quale modalità di assegnazione permette a un processo di vagare su vari processori?
Quale modalità di assegnazione permette a un processo di vagare su vari processori?
Signup and view all the answers
Cosa accade ai processi in esecuzione dentro una coda nel sistema di scheduling tradizionale di UNIX?
Cosa accade ai processi in esecuzione dentro una coda nel sistema di scheduling tradizionale di UNIX?
Signup and view all the answers
Quale dei seguenti approcci è utilizzato per migliorare la programmazione nei multiprocessori?
Quale dei seguenti approcci è utilizzato per migliorare la programmazione nei multiprocessori?
Signup and view all the answers
Quale dei seguenti scenari può causare un bottleneck nel sistema operativo?
Quale dei seguenti scenari può causare un bottleneck nel sistema operativo?
Signup and view all the answers
Study Notes
Introduzione allo Scheduling
- Lo scheduling è la funzione del sistema operativo che gestisce l'allocazione delle risorse, soprattutto del tempo di esecuzione, tra i diversi processi che ne fanno richiesta contemporaneamente.
- Questa risorsa viene allocata tramite lo "scheduling" (o pianificazione).
Scopo dello Scheduling
- L'obiettivo dello scheduling è assegnare ad ogni processore i processi da eseguire a mano a mano che vengono creati e distrutti.
- Questo obiettivo si raggiunge ottimizzando aspetti come il tempo di risposta, il throughput e l'efficienza del processore.
Obiettivi dello Scheduling
- Distribuire il tempo di esecuzione in modo equo (fair) tra tutti i processi, senza favoritismi.
- Gestire le priorità dei processi quando necessario, garantendo un trattamento equo tra processi con la stessa priorità, con favoritismi solo se giustificati.
- Evitare la starvation (morte per fame) dei processi.
- Usare il processore in modo efficiente.
- Minimizzare l'overhead.
Tipi di Scheduling
- Long-term scheduling (lungo termine): decide quali programmi devono essere aggiunti al sistema per essere eseguiti. Spesso segue una politica FIFO (First-In, First-Out).
- Medium-term scheduling (medio termine): gestisce l'aggiunta di processi alla memoria principale ed il loro spostamento in memoria secondaria (swap) per gestire il grado di multiprogrammazione.
- Short-term scheduling (breve termine): chiamato anche dispatcher, decide ogni qualvolta quale processo tra quelli pronti deve essere eseguito dal un processore. È chiamato frequentemente in base a diversi eventi.
- I/O scheduling (input/output): decide quale processo deve accedere a quale dispositivo I/O.
Stati dei Processi e Scheduling
- Il sistema operativo gestisce i processi attraverso diversi stati (New, Ready, Running, Blocked, Exit).
- Il medium-term scheduler gestisce anche lo spostamento dei processi tra memoria principale e secondaria.
- Le transizioni tra gli stati dei processi sono decise dai diversi scheduler.
Criteri per lo Short-Term Scheduling
- Utente contro Sistema: i criteri per lo scheduling devono considerare sia le esigenze dell'utente (tempo di risposta, visualizzazione dell'output immediato) che le prestazioni del sistema (utilizzo efficiente del processore).
- Prestazioni: i criteri legati alle prestazioni comprendono il tempo di risposta, il throughput e l'utilizzo del processore, tutti quantitativi e misurabili.
- Non Prestazioni: i criteri legati a fattori qualitativi come la predicibilità, l'equità, e il bilanciamento delle risorse, sono più complessi da misurare.
Criteri Utente per lo Short-Term Scheduling
- Tempo di ritorno (Turnaround time): il tempo totale trascorso dalla creazione di un processo fino al suo completo completamento.
- Tempo di risposta (Response time): il tempo trascorso dalla richiesta di un processo fino all'inizio della sua risposta (utile per processi interattivi).
- Scadenza (Deadline): il tempo massimo consentito per l'esecuzione di un processo.
- Predicibilità: la capacità di prevedere i tempi di risposta dei processi.
Criteri di Sistema per lo Short-Term Scheduling
- Throughput: il volume di lavoro completato in un determinato periodo di tempo.
- Utilizzo del processore (processor utilization): la percentuale di tempo in cui il processore è utilizzato.
- Equità (Fairness): garantire un uso equo delle risorse del sistema a tutti i processi.
- Gestione delle priorità (Enforcing priorities): assegnare priorità a processi diversi e garantire che le priorità vengano rispettate.
- Bilanciamento delle risorse (Balancing resources): bilanciare l'utilizzo delle risorse a disposizione tra i processi.
Turnaround Time
- Il tempo tra la creazione (sottomissione) di un processo e il suo completo completamento.
- Include le attese dovute alle operazioni I/O e all'utilizzo del processore.
- Utile per i processi batch (non interattivi).
Response Time
- Tempo tra la richiesta di un processo e l'inizio della sua risposta.
- Considerato per i processi interattivi.
- I processi interattivi devono restituire una risposta il più velocemente possibile.
Deadline e Predicibilità
- Importanza di soddisfare le scadenze, quando possibile.
- La variabilità nei tempi di risposta è accettabile a meno che il sistema sia completamente saturo.
Throughput
- Misura del volume di lavoro completato nell'unità di tempo.
- Misura quanto lavoro viene effettuato.
- Dipende dalla durata media di un processo.
Utilizzo del Processore
- Percentuale di tempo in cui il processore è effettivamente in uso.
- Lo scheduler deve minimizzare i periodi non produttivi del processore.
- Utile in sistemi costosi dove si desidera maximizzare l'utilizzo.
Bilanciamento delle risorse
- Lo scheduler deve assicurarsi che le risorse del sistema siano usate al massimo possibile.
- Favorire processi con un minore consumo di risorse.
Fairness e Priorità
- Nessun favoritismo tra processi a meno che non siano presenti priorità definite esternamente.
- Se ci sono priorità, lo scheduler deve assegnare le priorità più alte a i processi con priorità più alte.
- Se ci sono priorità, il scheduler si serve di code differenti, una per ogni livello di priorità.
Code per la Gestione delle Priorità
- Diverse code separatamente gestite per ogni livello di priorità.
- I processi in esecuzione sono prelevati dalla coda con la priorità più alta.
Priorità e Starvation
- I processi a bassa priorità possono subire starvation
- In caso di priorità, il sistema può gestire un processo con priorità alta che può causare la starvation in processi con priorità bassa
Politiche di Scheduling
- Il capitolo riporta le varie politiche di scheduling, come FCFS, Round Robin, SPN, SRT e HRRN, con le loro caratteristiche chiave (non preemptive/preemptive, utilizzo, tempo di risposta).
Funzione di Selezione
- Sceglie effettivamente il processo da mandare in esecuzione.
- Dipende da vari parametri come il tempo trascorso in attesa, il tempo passato in esecuzione e il tempo totale richiesto.
- Definisce l'istanza temporale in cui la funzione di selezione viene invocata.
Modalità di Decisione
- Può essere preemptive o non-preemptive.
- Non preemptive: se un processo sta eseguendo, viene mantenuto fino a quando non termina o richiede un'operazione I/O, o fino a quando un'altra condizione causa un'interruzione forzata.
- Preemptive: il sistema operativo può interromperlo anche se in esecuzione.
Preemptive e Non-Preemptive
- Il sistema operativo decide se un processo può essere interrotto in esecuzione.
- Preempzione utilizzata in base a nuovi processi o interrupt, per garantire un controllo più equo sull'utilizzo delle risorse.
CPU-bound vs I/O bound
- Nel round-robin, i processi CPU-bound sono avvantaggiati perché consumano l'intero quantum di tempo. I processi I/O-bound ne usano solo una parte.
- Il round-robin virtuale migliora l'equità considerando le richieste di I/O. I processi I/O-bound hanno una priorità più alta, dopo le operazioni I/O, per garantire un'esperienza utente migliore.
Round-Robin Virtuale
- È una politica specifica per l'allocazione del processore in architettura multiprocessore.
- Con un solo processore, il sistema funziona come il round-robin base, ma con più processori, per garantire l'utilizzo della CPU in diverse zone, creando code apposite per ogni tipo di I/O.
SPN: Shortest Process Next
- Seleziona il processo con il tempo di esecuzione stimato più breve tra quelli pronti.
- Politica non preemptive.
- Problema di predicibilità su tempi di esecuzione imprecisi.
SPN: Come Stimare il Tempo di Esecuzione?
- Metodi per effettuare delle previsioni sul tempo di esecuzione dei processi, come l'uso del valore medio passato.
- Si usa l'exponential averaging per evitare la perdita di informazioni e privilegiare le informazioni più recenti.
Exponential Averaging
- Metodo efficace per prevedere il futuro con informazioni passate, dando più peso alle informazioni più recenti.
SRT: Shortest Remaining Time
- Variante preemptive di SPN, che tiene conto del tempo rimanente di esecuzione.
- Interrompe i processi in esecuzione a favore di quelli con tempo rimanente più breve.
HRRN: Highest Response Ratio Next
- Prioritizza i processi basandosi su un rapporto tra il tempo di attesa e il tempo richiesto.
- Favorisce i processi che hanno atteso a lungo.
Confronto
- Confronto tra diverse politiche di scheduling in base a vari criteri.
Scheduling in Linux
- Scheduling in Linux, che combina una versione preemptive a priorità dinamica, con le caratteristiche di altre politiche.
Scheduling in Linux: Regole Generali
- Descrizione dettagliata delle regole del scheduling in Linux, inclusi i tipi di processo (Interattivi, Batch, Real-Time).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Scopri le classi di scheduling riconosciute da Linux e il range di priorità per i processi nelle classi SCHED FIFO e SCHED RR. Questo quiz esplora anche la preemption in Linux e le condizioni in cui un processo può essere soppiantato. Testa le tue conoscenze sullo scheduling in ambiente Linux.