TERMINA ESECUZIONE A B =85 85 C =90 90 D = E = INIZIA ESECUZIONE

Documenti analoghi
Sistemi Operativi e Laboratorio, Prova del 9/9/2016

Sistemi Operativi e Laboratorio, Prova del?/?/?

Sistemi Operativi e Laboratorio, Prova del 16/1/2015

Sistemi Operativi e Laboratorio, Prova del 25/5/2016

Sistemi Operativi e Laboratorio, Prova del 19/12/2014

Sistemi Operativi e Laboratorio, Prova del 5/6/2017

Sistemi Operativi e Laboratorio, Prova del 5/4/2016

Sistemi Operativi e Laboratorio, Prova del 05/02/2014

Sistemi Operativi e Laboratorio, Prova del 9/9/2014

Sistemi Operativi e Laboratorio, Prova del 15/06/2016

Sistemi Operativi e Laboratorio, Prova del?/?/?

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito B

ESERCIZIO M-1 Rilocazione statica con caricamento in partizioni fisse

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

Sistemi Operativi e Laboratorio, Prova del 16/2/2015

Sistemi Operativi e Laboratorio, Prova del 10/4/2018 compito A

Sistemi Operativi A.A. 2010/2011

ESERCIZIO SincrAmbGlob-1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi Operativi. La gestione delle risorse

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi.

Scheduling della CPU

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi Operativi 13 Novembre 2015

Java Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java

Università degli Studi di Padova - Corso di Laurea in Informatica

Scheduling della CPU. Lo scheduling Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino

Sistemi Operativi e Laboratorio, Prova del 15/01/2014

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

Università degli Studi di Padova - Corso di Laurea in Informatica

SCHEDULING DELLA CPU. Obiettivi. » Introduzione allo scheduling della CPU. » Algoritmi di scheduling della CPU

E-1: Scheduling dei processi

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione A

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Sistemi Operativi e Laboratorio, Prova del 6/4/2017 versione B

Sistemi Operativi. Scheduling dei processi

Sistemi Operativi 2003/2004. Lo scheduling dei processi

Processi e Thread. Scheduling (Schedulazione)

Multiprogrammazione. Sistemi Operativi Giuseppe Prencipe. Scheduling dei processi Scheduling. Sequenza di CPU e I/O burst.

Laboratorio di Sistemi Operativi Simulatori

Lezione R4. Sistemi embedded e real-time

Sistemi Operativi. Lezione 5 Lo scheduling

Corso di Informatica

Ordinamento dei processi

Scheduling. Lo scheduler è la parte del SO che si occupa di

L ordinamento dei processi. Ordinamento dei processi. Fasi di ordinamento. Attribuzione della CPU 1. Materiale preparato da: A.

Sistemi Operativi. Bruschi Martignoni Monga. Scheduling. Sistemi batch SJF. Sistemi. interattivi Priority RR Code multiple Sistemi real-time Deadline

Sistemi Operativi Appello del 10 luglio 2017 Versione Compito A Cognome e nome: Matricola: Posto:

Scheduling della CPU. Sistemi Operativi L-A AA

Scheduling della CPU

Architettura degli Elaboratori 2. tipi di scheduling. scheduling della CPU (1) scheduling. First Come First Served. First Come First Served

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Sistemi Operativi Esercizi Ordinamento Processi

TECN.PROG.SIST.INF. - Politiche di schedulazione del processore. Roberta Gerboni

IL SISTEMA OPERATIVO

Scheduling della CPU. Capitolo 6 - Silberschatz

Esercitazione E1 Scheduling, deadlock, monitor

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

Settore Inizio lettura: t+ Fine lettura Inizio trasf. in memoria Fine trasf. in memoria 5 (35-21).0,1= 1,4 1,5 1,5 1,56

Il Sistema Operativo Ripasso

i. Diagramma di GANTT relativo all esecuzione dei quattro processi:

Esercitazione di Sistemi Operativi

1. Le componenti principali di un sistema operativo sono: interfaccia con l utente (interprete dei comandi e/o interfaccia

Lezione 5. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 5. Di cosa parliamo in questa lezione? La schedulazione dei processi. Schedulazione e caratteristiche dei processi.

Lez. 4 Lo scheduling dei processi. Corso: Sistemi Operativi Danilo Bruschi

Scheduling. Scheduling 14/12/2003 1/7

Università degli Studi di Padova - Facoltà di Scienze MM.FF.NN. - Corso di Laurea in Informatica

Capitolo 5 - Silberschatz

ESERCIZIO Cambio Di Contesto: System Call (1)

Corso di Informatica

2.2 Scheduling in Linux

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

il Nucleo e la gestione dei processi

Il software. la parte contro cui si può solo imprecare. Il software

Il software. la parte contro cui si può solo imprecare

Esercizio Dispositivi-1. Soluzione

Sistemi Operativi SCHEDULING DELLA CPU

Nona Esercitazione. Thread e memoria condivisa Sincronizzazione tramite semafori

Eserciziario. Leonardo Ranaldi. January 2019

Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU. Scheduling della CPU: commuta l uso della CPU tra i vari processi

Le risorse. Se il processo può essere forzato a rilasciare una risorsa, la risorsa è chiamata prerilasciabile.

Sistema : collezione di componenti (elementi, entità) interdipendenti che interagiscono fra loro in accordo a specifiche predefinite.

Assegnazione della CPU (CPU scheduling) Scheduling della CPU (1) CPU bursts (1) Scheduling della CPU (2)

Gestione dei Processi

Sistemi Operativi Kernel

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

TECNICHE DI SIMULAZIONE

Consentire a utenti/processi diversi la condivisione delle risorse

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

SCD. Correttezza temporale. Correttezza temporale. Premesse 2. Politiche di ordinamento 1. Premesse 1

ESEMPI DI SIMULAZIONE

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Nona Esercitazione. Thread e memoria condivisa Sincronizzazione tramite semafori

Indirizzamento IPv4. Indirizzamento IP

SOLUZIONE Istruzioni: Indirizzo logico Legittimo? Indirizzo fisico Dati:

Transcript:

ESERCIZIO Scheduling 1 In un sistema vengono generati 5 processi (A,B,C,D,E), con durate (in millisecondi) sotto specificate: Processo Durata A 25 B 6 C 5 D 15 E 1 Tutti i processi avanzano senza mai sospendersi. Calcolare il tempo di permanenza nel sistema di ogni processo (definito come differenza tra il tempo di completamento dell esecuzione e il tempo di arrivo nel sistema,) e il tempo medio di permanenza dei processi, con le seguenti politiche di scheduling 1. Politica FIFO; 2. Politica SJF (Shortest Job First). Nel calcolo dei tempi di permanenza, si ignori il tempo di commutazione di contesto. Soluzione 1. Politica FIFO: PROCESS O TEMPO DI ARRIVO INIZIA A 25 25 B 25 25+6=85 85 C 85 85+5=9 9 D 9 9+15=15 15 E 15 15+1=115 115 Tempo medio di permanenza: (25+85+9+15+115)/5=84 msec 2. Politica SJF: PROCESSO TEMPO DI ARRIVO INIZIA TEMPO DI PERMANENZA NEL SISTEMA TEMPO DI PERMANENZA NEL SISTEMA C 5 5 E 5 5+1=15 15 D 15 15+15=3 3 A 3 3+25=55 55 B 55 55+6=115 115 Tempo medio di permanenza: (5+15+3+55+115)/5=44 msec

ESERCIZIO Scheduling 2 In un sistema vengono generati 5 processi (A,B,C,D,E), con i tempi di arrivo e le durate (in millisecondi) sotto specificate: Processo Durata Tempo di arrivo A 25 B 6 1 C 5 2 D 15 3 E 1 4 Tutti i processi avanzano senza mai sospendersi. Calcolare il tempo di permanenza nel sistema di ogni processo (definito come differenza tra il tempo di completamento dell esecuzione e il tempo di arrivo nel sistema) con le seguenti politiche di scheduling 1. Politica FIFO 2. Politica Round-Robin con quanto di tempo pari a 5 msec. In entrambi i casi si ignori il tempo di commutazione di contesto. Soluzione 2. Politica FIFO: PROCESSO TEMPO DI ARRIVO INIZIA A 25 25 B 1 25 25+6=85 85-1=84 C 2 85 85+5=9 9-2=88 D 3 9 9+15=15 15-3=12 E 4 15 15+1=115 115-4=111 3. Round Robin: TEMPO DI PERMANENZA NEL SISTEMA PROCESSO TEMPO DI ARRIVO INIZIA TEMPO DI PERMANENZA NEL SISTEMA A 75 75 B 1 5 115 115-1=114 C 2 1 15 15-2=13 D 3 15 6 6-3=57 E 4 2 45 45-4=41 Tempo di permanenza nel sistema: A =75 B =115-1=114 C =15-2=13 D = 6-3=57 E = 45-4=41

ESERCIZIO Scheduling 3 In un sistema vengono generati 6 processi (A,B,C,D,E,F), con i tempi di arrivo, le priorità e le durate (in millisecondi) sotto specificate: PROCESSO TEMPO DI ARRIVO PRIORITÀ DURATA A 2 1 B 8 1 24 C 18 3 6 D 28 4 1 E 32 2 11 F 36 3 7 Lo scheduling del processore avviena con una politica a prorità (che assegna il processore al processo che ha il valore più elevato di priorità e a pari priorità, al processo arrivato per primo) e con prerilascio. Si suppone che, una volta in esecuzione, ogni processo avanzi senza mai sospendersi. Riempire la seguente tabella, utilizzando una riga per ogni evento che provoca la riassegnazione del processore e specificando, in ogni riga, il processo in esecuzione e la composizione della coda pronti subito dopo il verificarsi dell evento. TEMPO EVENTO PROC. IN ESEC. CODA PRONTI NOTE Arriva A A Ø 8 Arriva B A B 1 Terrmina A B Ø 18 Arriva C C B B: tempo residuo 16 24 Terrmina C B Ø 28 Arriva D D B B: tempo residuo 12 32 Arriva E D E B 36 Arriva F D F E B 38 Terrmina D F E B 45 Terrmina F E B 56 Terrmina E B Ø 68 Terrmina B Ø Ø

ESERCIZIO Scheduling 4 In un sistema vengono generati 5 processi (A,B,C,D,E), con i tempi di arrivo e le durate (in millisecondi) sotto specificate: Processo Durata Tempo di arrivo A 45 B 55 13 C 15 21 D 5 25 E 15 29 Si suppone che tutti i processi avanzino senza mai sospendersi. Lo scheduler adotta la politica Shortest Remaining Time First (SRTT), la quale seleziona per l esecuzione il processo con minor tempo residuo in esecuzione e prevede il prerilascio. Calcolare il tempo di permanenza nel sistema di ogni processo (definito come differenza tra il tempo di completamento dell esecuzione e il tempo di arrivo nel sistema) Tempo t= Evento Processo in esecuzione Tempo residuo processo in esecuzione Coda pronti (con tempo residuo di esecuzione) Generato processo A A 45-13 Generato processo B A 32 B(55) 21 Generato processo C C 15 A(24), B(55) 25 Generato processo D D 5 C(11), A(24), B(55) 29 Generato processo E D 1 C(11), E(15),A(24), B(55) 3 Termina D C 11 E(15),A(24), B(55) 41 Termina C E 15 A(24), B(55) 56 Termina E A 24 B(55) 8 Termina A B 55-135 Termina B - - - Di conseguenza: Processo Tempo di arrivo nel sistema TEMPO DI PERMANENZA NEL SISTEMA A 8 8 B 13 135 122 C 21 41 2 D 25 3 5 E 29 56 27

ESERCIZIO Scheduling 5 Un sistema gestisce il processore con politica RoundRobin con quanto di tempo di 5 msec. Quando un processo va in esecuzione gli viene assegnato un intero quanto di tempo di 5 ms, indipendentemente dal tempo consumato nel precedente turno di esecuzione. Nel sistema sono presenti 4 processi (A,B,C,D) e una lock mux la cui coda di sospensione è gestita con politica FIFO. Al tempo t passa in esecuzione il processo A, la coda pronti contiene i processi B->C->D e la lock mux e' occupata e la sua coda è vuota. Si chiede quale è il processo in esecuzione e la composizione della coda pronti nell intervallo di tempo da t a t+2, nel corso del quale si verificano i seguenti eventi: 1. il processo in esecuzione si sospende al tempo t+8 sulla lock mux (esegue una lock.acquire); 2. il processo in esecuzione si sospende al tempo t+14 sulla lock mux (esegue una lock.acquire); 3. il processo in esecuzione esegue una lock.release(mux) al tempo t+16 Tempot Evento In Coda Pronti Sospesi su mux +.. Esecuzione A in esecuzione A B, C, D - 5 Scad. quanto di tempo B C,D,A - 8 B sospeso su mux C D,A B 13 Scad. quanto di tempo D A,C B 14 D sospeso su mux A C B,D 16 Riattivato B A C,B D 19 Scad. quanto di tempo C B,A D 2 Situazione a t+2 C B,A D

ESERCIZIO Scheduling 6 Un sistema gestisce il processore con politica MFQ, cioè combinando le politiche a priorità e RoundRobin con la tecnica delle code multiple (una coda FIFO per ogni valore di priorità; i processi pronti di uguale priorità sono inseriti in una stessa coda; il processore viene assegnato al processo che occupa la prima posizione nella coda non vuota di massima priorità; ai processi pronti di uguale priorità si applica la politica Round Robin). Il quanto di tempo è di 1 msec. La politica prevede il prerilascio, che avviene immediatamente dopo l evento che lo provoca, senza attendere l esaurimento del quanto di tempo corrente. Quando un processo va in esecuzione gli viene assegnato un intero quanto di tempo, indipendentemente dal tempo consumato nel precedente turno di esecuzione. Al tempo T, nel sistema sono presenti i seguenti processi: Processo A, con priorità 2, che al tempo T è in stato di attesa sul semaforo Sem1; Processo B, con priorità 3, che al tempo T è in stato di attesa sul semaforo Sem1; Processo C, con priorità 1, che al tempo T è in stato di pronto; Processo D, con priorità 2, che al tempo T passa in stato di esecuzione. Processo E, con priorità 1, che al tempo T è in stato di pronto; Al tempo T la coda corrispondente alla priorità 1 contiene: C->E (C è in testa), e tutte le altre code sono vuote. La coda del semaforo Sem1 contiene invece A->B (A è in testa). Si chiede quale è il processo in esecuzione e la composizione delle 3 code al tempo T+3 se si verifica la seguente sequenza di eventi: 1. al tempo T+8 il processo in esecuzione esegue una V sul semaforo Sem1; 2. al tempo T+12 il processo in esecuzione esegue una P sul semaforo Sem1; 3. al tempo T+14 termina il processo in esecuzione; 4. al tempo T+26 il processo in esecuzione esegue una P sul semaforo Sem1. Tempo Evento In esecuzione Coda priorità 1 Coda priorità 2 Coda priorità 3 Sem1: <valore,coda> T D D in esecuzione D C->E <,A->B> T+8 Riattivato A, pr. 2 D C->E A <,B> T+1 Quanto di tempo A C->E D <,B> T+12 A sospeso su Sem1 D C->E <,B->A> T+14 D termina C E <,B->A> T+24 Quanto di tempo E C <,B->A> T+26 E sospeso su Sem1 C <,B->A->E> T+3 Situazione a T+3 C <,B->A->E>

ESERCIZIO Scheduling-7 Un sistema gestisce il processore con una politica a code multiple (MFQ), con 5 classi di priorità di valori, 1, 2, 3 e 4. I processi pronti sono inseriti nella coda della classe corrispondente alla propria priorità; il processore viene assegnato al processo che occupa la prima posizione nella coda non vuota di massima priorità; ai processi pronti della stessa classe di priorità si applica la politica Round Robin con quanto di tempo (QdT) di 1 msec. Quando un processo passa in esecuzione, gli viene assegnato un intero quanto di tempo, indipendentemente dal tempo consumato nel precedente turno di esecuzione. La politica prevede la revoca del processore, che avviene immediatamente al verificarsi di uno dei seguenti eventi: il processo in esecuzione esaurisce il quanto di tempo; viene riattivato un processo con priorità maggiore di quello in esecuzione. La priorità di ogni processo P i è definita dinamicamente nel modo seguente: inizialmente si assegna un valore normale, nell intervallo [, 4]; se P i è in stato di pronto ed è rimasto ininterrottamente in questo stato per almeno 3 turni di esecuzione da parte di altri processi, ciascuno della durata di un intero quanto di tempo, la priorità di P i viene transitoriamente elevata al valore 4. Questo valore permane fino a quando il processo P i ha ottenuto due turni di esecuzione, utilizzandoli per l intero quanto di tempo o anche parzialmente, dopo di che la priorità torna al valore normale. Si noti che, ai fini dell innalzamento della priorità, non si considerano i turni di esecuzione di altri processi nei quali il processo in esecuzione si sospende prima dell esaurimento del quanto di tempo. Al tempo t sono presenti i seguenti processi: Processo A, con priorità 3, in stato di esecuzione; Processo B, con priorità 1, in stato di pronto; Processo C, con priorità 2, in stato di attesa sul semaforo Sem1, la cui coda non contiene altri processi; Processo D, con priorità 2, in stato di attesa sul semaforo Sem2, la cui coda non contiene altri processi; Sono definiti i semafori Sem1, Sem2 e Sem3, con i seguenti valori e composizioni delle code: Sem1: Valore, CodaSem1 C Sem2: Valore, CodaSem2 D Sem3: Valore, CodaSem3 Al tempo t si ha la seguente situazione: Processo A: il contatore di programma punta alla chiamata della primitiva P(Sem3) che ha tempo di esecuzione ; successivamente il programma invoca la funzione FunzioneA; Processo B: il contatore di programma punta alla chiamata della primitiva V(Sem1) che ha tempo di esecuzione ; successivamente il programma invoca la funzione FunzioneB, la cui esecuzione richiede 15 msec; successivamante invoca la primitiva V(Sem3) che ha tempo di esecuzione, e quindi invoca nuovamente la funzione FunzioneB. Processo C: il contatore di programma punta all invocazione della funzione FunzioneC1 la cui esecuzione richiede 5 msec, successivamente invoca la primitiva V(Sem2) che ha tempo di esecuzione ; quindi invoca la funzione FunzioneC2, la cui esecuzione richiede 5 msec; Processo D: il contatore di programma punta all invocazione della funzione FunzioneD la cui esecuzione richiede 6 msec. Utilizzando la tabella seguente, si chiede di analizzare l evoluzione dello stato dei processi A, B, C, D in base alla politica di scheduling, fino al tempo t+5. Tempo Evento Processo A Processo B Processo C Processo D t+ A esegue P(Sem3) Stato: attesa su Sem3 Stato: esecuzione Stato: attesa su Sem1 Stato: attesa su Sem2 pronto: pronto: pronto: t+ B esegue V(Sem1) Stato: attesa su Sem3 Stato: pronto Stato: esecuzione Stato: attesa su Sem2 pronto: pronto: pronto: t+5 C esegue V(Sem2) Stato: attesa su Sem3 Stato: pronto Stato: esecuzione Stato: pronto pronto: pronto: pronto: t+1 Esaurito QdT Stato: attesa su Sem3 Stato: pronto Stato: pronto Stato: esecuzione pronto:1 pronto: pronto: t+2 Esaurito QdT Stato: attesa su Sem3 Stato: pronto Stato: esecuzione Stato: pronto

pronto:2 pronto: pronto: t+3 Esaurito QdT Stato: attesa su Sem3 Stato: esecuzione Stato: pronto Stato: pronto Priorità: 3 Priorità: 4 Priorità: 2 Priorità: 2 pronto:3 pronto: pronto:1 t+4 Esaurito QdT Stato: attesa su Sem3 Stato: esecuzione Stato: pronto Stato: pronto Priorità: 3 Priorità: 4 Priorità: 2 Priorità: 2 Turni di esec:1 pronto: pronto:2 t+45 B esegue V(Sem3) Stato: pronto Stato: esecuzione Stato: pronto Stato: pronto Priorità: 3 Priorità: 4 Priorità: 2 Priorità: 2 Turni di esec:1 pronto:1 pronto:2 T+5 Esaurito QdT Stato: esecuzione Stato: pronto Stato: pronto Stato: esecuzione Priorità: 3 Priorità: 1 Priorità: 2 Priorità: 4 Turni di esec:2 pronto:2 pronto:3