Linux Scheduling Classes Quiz
60 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quali sono le classi di scheduling riconosciute da Linux?

  • SCHED FIFO, SCHED ROUND ROBIN, SCHED LATENCY
  • SCHED FIFO, SCHED RR, SCHED OTHER (correct)
  • SCHED PRIORITY, SCHED FIFO, SCHED TIME SHARING
  • SCHED REALTIME, SCHED FIFO, SCHED DYNAMIC
  • Qual è il range di priorità per i processi nelle classi SCHED FIFO e SCHED RR?

  • Da 0 a 140
  • Da 1 a 99 (correct)
  • Da 100 a 139
  • Da 50 a 150
  • Cosa determina la preemption in Linux?

  • L'interazione dell'utente con il processo
  • L'esaurimento del quanto di tempo del processo attualmente in esecuzione (correct)
  • La priorità assegnata al processo
  • L'uso della memoria da parte del processo
  • In quali casi un processo può essere soppiantato da un altro processo?

    <p>Quando un altro processo diventa eseguibile</p> Signup and view all the answers

    Che cosa indica la priorità 0 nel contesto del scheduling in Linux?

    <p>Un'eccezione per casi particolari</p> Signup and view all the answers

    Quale di queste affermazioni è vera riguardo alle wait queues?

    <p>I processi nelle wait queues sono in attesa di operazioni di I/O.</p> Signup and view all the answers

    Come viene gestita la priorità nei processi in Linux?

    <p>La priorità diminuisce man mano che un processo viene eseguito.</p> Signup and view all the answers

    Qual è il tempo massimo raccomandato per dare la CPU ai processi interattivi?

    <p>150 ms</p> Signup and view all the answers

    Quale affermazione sulla gestione della memoria tra il long-term e il medium-term è corretta?

    <p>Il long-term non crea processi se non c'è sufficiente memoria.</p> Signup and view all the answers

    Qual è la frequenza degli interrupt del timer in Linux per garantire un buon funzionamento delle applicazioni real-time?

    <p>1 ms</p> Signup and view all the answers

    Cosa caratteristiche hanno i processi batch rispetto a quelli interattivi?

    <p>Possono essere penalizzati dallo scheduler.</p> Signup and view all the answers

    Cosa sono le runqueues in Linux?

    <p>Code da cui il dispatcher pesca i processi per l'esecuzione.</p> Signup and view all the answers

    Qual è uno degli obiettivi principali della gestione dello scheduling in Linux?

    <p>Operare in modo quasi in O(1).</p> Signup and view all the answers

    Qual è uno svantaggio del round-robin nei processi I/O bound?

    <p>Aumenta la variabilità della risposta</p> Signup and view all the answers

    Cosa comporta la degenerazione del round robin in FCFS?

    <p>Un aumento dell'attesa per i processi lunghi</p> Signup and view all the answers

    Qual è la differenza principale tra processi CPU-bound e I/O bound?

    <p>I processi CPU-bound utilizzano gran parte del loro tempo CPU</p> Signup and view all the answers

    Quale vantaggio offre il round-robin virtuale?

    <p>Dà priorità ai processi durante il completamento di I/O</p> Signup and view all the answers

    Nel contesto dello SPN, cosa significa 'breve'?

    <p>Il processo con il minor tempo di esecuzione stimato</p> Signup and view all the answers

    Qual è una conseguenza della stimazione errata del tempo di esecuzione nello SPN?

    <p>Possibilità di aborto del processo stesso</p> Signup and view all the answers

    Che problema possono affrontare i processi lunghi a causa dello SPN?

    <p>Starvation</p> Signup and view all the answers

    Quale affermazione è corretta riguardo al time-slicing nel round-robin?

    <p>Rende i processi CPU-bound più efficienti</p> Signup and view all the answers

    Qual è l'obiettivo principale dello scheduling in un sistema operativo?

    <p>Assegnare risorse in modo equo e gestire le priorità</p> Signup and view all the answers

    Quale tipo di scheduling si occupa di decidere quali processi possono essere eseguiti nel sistema?

    <p>Long-term scheduling</p> Signup and view all the answers

    Quali sono i criteri prestazionali per l'utente nello short-term scheduling?

    <p>Turnaround time e Deadline</p> Signup and view all the answers

    Che cosa indica il termine 'Starvation' nello scheduling?

    <p>Un processo che non riceve sufficiente attenzione</p> Signup and view all the answers

    Quale tipo di scheduling è conosciuto anche come dispatcher?

    <p>Short-term scheduling</p> Signup and view all the answers

    Che cos'è il throughput in un sistema di gestione dei processi?

    <p>Il numero di processi completati per unità di tempo</p> Signup and view all the answers

    Quale affermazione è vera riguardo ai criteri di sistema per lo short-term scheduling?

    <p>Includono l'efficienza e l'utilizzo del processore</p> Signup and view all the answers

    Qual è il ruolo del medium-term scheduling?

    <p>Decidere l'aggiunta di processi in memoria principale</p> Signup and view all the answers

    Qual è la funzione principale dell'utilizzo del processore?

    <p>Massimizzare la percentuale di tempo utilizzato dal processore</p> Signup and view all the answers

    Cosa misura il Turnaround time?

    <p>Il tempo totale dalla creazione di un processo al suo completamento</p> Signup and view all the answers

    Cosa implica il bilanciamento delle risorse nello scheduling di processi?

    <p>Distribuire le risorse al fine di massimizzare l'uso</p> Signup and view all the answers

    Quale strategia tipica è utilizzata nel long-term scheduling per i lavori interattivi?

    <p>Ammettere processi fino a saturazione del sistema</p> Signup and view all the answers

    Qual è il significato di fairness nello scheduling dei processi?

    <p>Trattare tutti i processi equamente senza favoritismi</p> Signup and view all the answers

    Quale problema potrebbe verificarsi con processi a bassa priorità?

    <p>Possono soffrire di starvation</p> Signup and view all the answers

    Che cosa intende il termine 'Throughput' nello context di scheduling?

    <p>Il numero di processi completati in un certo periodo di tempo</p> Signup and view all the answers

    Qual è il criterio principale di validità per il response time?

    <p>Minimizzare la variabilità nei tempi di risposta</p> Signup and view all the answers

    Qual è la differenza principale tra scheduling preemptive e non-preemptive?

    <p>Nel preemptive, il sistema può interrompere l'esecuzione di un processo</p> Signup and view all the answers

    Cosa accade in un sistema non-preemptive quando un processo è in esecuzione?

    <p>Resta in esecuzione fino al termine o fino a una richiesta di I/O</p> Signup and view all the answers

    Quale affermazione descrive meglio il ruolo del short-term scheduling?

    <p>Determina quali processi devono essere eseguiti in un dato momento</p> Signup and view all the answers

    Qual è uno svantaggio del metodo FCFS (First Come First Served)?

    <p>Potrebbe causare un'elevata latenza per processi brevi</p> Signup and view all the answers

    In quale stato un processo può passare da "blocked" a "blocked/suspend"?

    <p>Attraverso il medium-term scheduling</p> Signup and view all the answers

    Qual è il principio alla base del Round-Robin scheduling?

    <p>Usare un segnale di clock per il time slicing</p> Signup and view all the answers

    Quale dei seguenti fattori deve essere considerato per la funzione di selezione dei processi?

    <p>Il tempo trascorso in attesa e in esecuzione</p> Signup and view all the answers

    Quale strategia viene utilizzata per aumentare la priorità di un processo nel tempo?

    <p>Priorità che cresce con l'età del processo</p> Signup and view all the answers

    In un sistema preemptive, in quale situazione un processo può essere interrotto?

    <p>Quando un nuovo processo viene creato</p> Signup and view all the answers

    Che cosa determina se un processo diventa 'ready' nel contesto della preemption?

    <p>Quando viene ricevuto un interrupt di clock</p> Signup and view all the answers

    Qual è la formula per il calcolo del tempo di esecuzione nel metodo di Exponential Averaging?

    <p>Sn+1 = αTn + (1 − α)Sn</p> Signup and view all the answers

    Che cosa significa il parametro α nell'Exponential Averaging?

    <p>Una costante compresa tra 0 e 1</p> Signup and view all the answers

    Qual è la caratteristica principale della schedulazione SRT (Shortest Remaining Time)?

    <p>Un processo può essere interrotto solo da nuovi processi</p> Signup and view all the answers

    Qual è il rapporto utilizzato nella schedulazione HRRN (Highest Response Ratio Next)?

    <p>(Tempo trascorso in attesa + Tempo totale richiesto) / Tempo totale richiesto</p> Signup and view all the answers

    Quale metodo di scheduling tradizionale utilizza il round robin con priorità?

    <p>UNIX</p> Signup and view all the answers

    Qual è uno svantaggio dell'assegnamento statico nei sistemi multiprocessore?

    <p>Un processore può rimanere idle</p> Signup and view all the answers

    Nel contesto dell'assegnamento dinamico, quale delle seguenti affermazioni è vera?

    <p>Un processo può essere eseguito su diversi processori durante la sua vita</p> Signup and view all the answers

    Quale delle seguenti affermazioni è vera riguardo il scheduling in Linux?

    <p>Prioritizza la velocità di esecuzione</p> Signup and view all the answers

    Che tipo di processo è classificato con priorità alta nel sistema di scheduling di UNIX?

    <p>Controllo di un dispositivo di I/O a blocchi</p> Signup and view all the answers

    Quale modalità di assegnazione permette a un processo di vagare su vari processori?

    <p>Assegnamento dinamico</p> Signup and view all the answers

    Cosa accade ai processi in esecuzione dentro una coda nel sistema di scheduling tradizionale di UNIX?

    <p>Utilizzano il round robin</p> Signup and view all the answers

    Quale dei seguenti approcci è utilizzato per migliorare la programmazione nei multiprocessori?

    <p>Assegnamento dinamico</p> Signup and view all the answers

    Quale dei seguenti scenari può causare un bottleneck nel sistema operativo?

    <p>SO che viene eseguito su un processore fisso</p> 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.

    Quiz Team

    Related Documents

    Sistemi Operativi Modulo I PDF

    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.

    More Like This

    Linux Process Management Quiz
    16 questions
    Linux Shell Flashcards
    39 questions

    Linux Shell Flashcards

    MarvelousPascal avatar
    MarvelousPascal
    3) Scheduling
    62 questions

    3) Scheduling

    EasierHamster828 avatar
    EasierHamster828
    Use Quizgecko on...
    Browser
    Browser