SEARCH
You are in browse mode. You must login to use MEMORY

   Log in to start

level: schedulazione

Questions and Answers List

level questions: schedulazione

QuestionAnswer
Quali sono i criteri che si desiderano ottimizzare nella scelta di un algoritmo di schedulazione?Sfruttamento del processore Throughput Tempo di attesa Tempo di risposta
Quali sono i diversi tipi di schedulazione?FCFS (First Come First Served) Priorità shortest job first RR (Round Robin) Coda a più livelli (C+L) Coda a più livelli con retroazione (C+LR)
come funziona la schedulazione FCFS?La schedulazione FCFS gestisce la coda dei processi pronti con una politica FIFO; i processi ottengono la CPU nell'ordine in cui entrano nella coda. È una politica facile da implementare e molto veloce da eseguire, tuttavia il tempo di attesa medio dipende fortemente dall'ordine di arrivo dei processi (effetto convoglio).
come funziona la schedulazione a priorita? che problemi introduce?La schedulazione a priorità permette di associare ad ogni processo un indice di priorità definito internamente, oppure esternamente (dall'utente o dall'amministratore del sistema), quindi ordina la coda in base a questi indici. - Può essere realizzata -> con preemption: quando un processo diventa pronto, se ha priorità maggiore rispetto a quello in esecuzione, lo sostituisce; -> senza preemption: la schedulazione viene eseguita quando la CPU viene rilasciata. - Un problema di queste politiche è la possibilità di starvation, ossia il blocco indefinito di processi a priorità bassa - Si può risolvere introducendo l'aging, ossia aumentando la priorità di un processo mentre attende.
come funziona la schedulazione RR?La schedulazione RR è la politica tipica dei sistemi time sharing e permette di distribuire uniformemente il tempo della CPU tra n processi in modo che ognuno ne ottenga 1/n. È di tipo preemptive. Se questi non la rilascia la entro la fine del quanto, subisce preemption, torna in coda e lo schedulatore sceglie un nuovo processo da eseguire. La velocità di esecuzione dei processi dipende dal numero di processi in coda; il tempo di turnaround dipende dalla durata del quanto di tempo.
Quali sono i vantaggi e gli svantaggi di ogni tipo di schedulazione?Il tipo di schedulazione corretto per un'applicazione dipende da una serie di fattori, tra cui: Il tipo di applicazione (ad esempio, un server web, un'applicazione desktop o un'applicazione mobile) * Le caratteristiche della CPU (ad esempio, il numero di core, la frequenza di clock e la cache) * La quantità di memoria disponibile * Il tipo di storage utilizzato (ad esempio, un disco rigido, un SSD o un'unità flash) * La quantità di traffico di rete generato dall'applicazione * Le esigenze degli utenti (ad esempio, l'attesa massima, l'utilizzo della CPU e la latenza)
come si sceglie il corretto tipo di schedulazione per una applicazione?- Il tipo di applicazione (ad esempio, un server web, un'applicazione desktop o un'applicazione mobile) - Le caratteristiche della CPU (ad esempio, il numero di core, la frequenza di clock e la cache) - La quantità di memoria disponibile - Il tipo di storage utilizzato (ad esempio, un disco rigido, un SSD o un'unità flash) - La quantità di traffico di rete generato dall'applicazione - Le esigenze degli utenti (ad esempio, l'attesa massima, l'utilizzo della CPU e la latenza)
In che modo la schedulazione a feedback può migliorare le prestazioni di un sistema?La schedulazione a feedback è una tecnica di schedulazione che consente ai processi di migrare da una coda a un'altra, in base alle loro prestazioni. I processi che si eseguono in modo efficiente vengono promossi a code con priorità più alta, mentre i processi che si eseguono in modo inefficiente vengono degradati a code con priorità più bassa. Questo tipo di schedulazione può aiutare a migliorare le prestazioni complessive del sistema, assicurando che i processi più importanti ricevano la maggiore attenzione.
come si sceglie il giusto numero di code per un algoritmo di schedulazione a più livelli?Il numero di code da utilizzare in un algoritmo di schedulazione a più livelli dipende da una serie di fattori, tra cui: * Il tipo di applicazione * Le caratteristiche della CPU * La quantità di memoria disponibile * Il tipo di storage utilizzato * La quantità di traffico di rete generato dall'applicazione * Le esigenze degli utenti in generale è meglio utilizzare più code in sistemi con un carico di lavoro misto e poche code in sistemi con un carico di lavoro pesante.
definizione di schedulazionetecnica con lo scopo di gestire in modo ottimale la turnazione dei processi sulla CPU definendo delle politiche di ordinamento. Si basa sulla proprieta’ di ciclicita’ del processo: Alternamento continuo di fasi di elaborazione CPU e fasi di attesa di I/O che si concludono con una richiesta di terminazione al sistema. si suddividono in : - pre emptive - non pre emptive x a breve termine x a lungo termine x a medio termine
Come funziona la schedulazione a feedback (C+LR)?La schedulazione a feedback (C+LR) è una tecnica di schedulazione che consente ai processi di migrare da una coda a un'altra, in base alle loro prestazioni. I processi che si eseguono in modo efficiente vengono promossi a code con priorità più alta, mentre i processi che si eseguono in modo inefficiente vengono degradati a code con priorità più bassa. Questo tipo di schedulazione può aiutare a migliorare le prestazioni complessive del sistema, assicurando che i processi più importanti ricevano la maggiore attenzione.
quali sono le differenze fra la schedulazione FCFS e la schedulazione a priorità?La schedulazione FCFS (First Come First Served) assegna la CPU al processo che è in coda da più tempo, mentre la schedulazione a priorità assegna la CPU al processo con la priorità più alta. La schedulazione FCFS è semplice da implementare ed efficiente in termini di risorse, ma non è sempre la migliore in termini di prestazioni. La schedulazione a priorità può migliorare le prestazioni, ma è più complessa da implementare e può richiedere più risorse.
schedulazione pre emptive e non pre emptivepre emptive : al processo in esecuzione viene conceso un quanto di tempo al termine del quale viene sollevato dall'incarico (puo portare all'inconsistenza dei dati). non pre emptive : un processo occupa la CPU fino a quando: - passa in stato di attesa - passa in fase di ready - rilascia volontariamente il processore - termina (un processo potrebbe non lasciare per lungo tempo la CPU)
quali sono i criteri per la scelta di un algoritmo di schedulazione? UTILIZZO DEL PROCESSORE: quanto utilizzo del proc. Riesco a massimizzare  THROUGHPUT: quanti processi riesco a completare in una unità di tempo  TURNAROUND TIME: tempo di completamento di un processo  TEMPO DI ATTESA: tempo di attesa del processo nella coda dei processi pronti  TEMPO DI RISPOSTA: intervallo di tempo che intercorre tra la formulazione della prima richiesta alla produzione della prima risposta
quali sono i vari algoritmi di schedulazione con i loro pro e contro?1) First come first served + implementazione facile - tempo medio di attesa lungo 2) Shortest job first + il tempo medio e' minimo - problema di starvation 3) Schedulazione con priorita' + introduzione dell' aging - starvation se non si usa l-aging 4) Round robin + prestazioni mediamente buone - se il time slice e' calibrato male allora il tempo risulta pari a FCFS 5) Coda a piu livelli + facile implementazione - se ci sono molti processi con priorita' alta allora diventa inefficiente 6) Coda con retroazione + dinamico flessibile e completo - molto complesso
quali sono i vantaggi e gli svantaggi della schedulazione RR?La schedulazione RR (Round Robin) assegna alla CPU un processo per un breve periodo di tempo, detto quantum, e poi passa al processo successivo. Questo processo viene ripetuto fino a quando tutti i processi non sono stati eseguiti. La schedulazione RR è utile per migliorare le prestazioni in sistemi con un carico di lavoro misto, ma può causare la perdita di prestazioni in sistemi con un carico di lavoro pesante.
come viene implementata la schedulazione a breve termine?ordina i processi che si trovano in stato ready to run garantendo una turnazione elevata l'algoritmo deve essere molto semplice e veloce
in che cosa consiste la schedulazione a medio termine?per sistemi operativi a time sharing per migliorare i processi caricati in memoria centrale per aumentare la multiprogrammazione swappa i processi in memoria centrale e memoria di swap per migliorare il thrughput
come avviene la schedulazione a lungo termine?ordina i processi attivati nel sistema e in stato di ready to run organizza i processi cpu bound e IO bound algoritmi complessi ma non troppo perchè caricare processi dalla memoria di massa non è veloce non necessaria in sitemi embedded perchè i processi sono gia tutti in ram
come vengono valutati gli algoritmi di scheduling?- valutazione analitica: viene sottoposto un test al sistema e se ne estrapola i risultati , molto sensibili agli errori - valutazione statistica: una simulazione del software con delle variabili per ottenere delle statistiche approssimative (generalmente parecchio dispendiose) - valutazione per implementazione: viene realizzato il sistema e testato nella vita reale e con strumenti di rilevazione interna se ne estrapolano le statistiche (molto costoso, molto laborioso e variabile in base alle preferenze dell'utente)