Sistemi Operativi a.a. 2004-2005. Esercizi - 2



Documenti analoghi
Sistemi Operativi A.A. 2011/2012

ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file.

Memoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E

= 0, 098 ms. Da cui si ricava t 2 medio

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P P P P P P < P 1, >

Gestione della memoria

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi Kernel

Calcolatori Elettronici A a.a. 2008/2009

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Lo scheduling. Tipici schedulatori

Scheduling. Scheduling 14/12/2003 1/7

Un sistema operativo è un insieme di programmi che consentono ad un utente di

Scheduling. Sistemi Operativi e Distribuiti A.A Bellettini - Maggiorini. Concetti di base

Corso di Informatica

La Gestione delle risorse Renato Agati

SCHEDULING DEI PROCESSI

Sistemi Operativi SCHEDULING DELLA CPU

Scheduling della CPU:

GESTIONE DELLA MEMORIA CENTRALE

Logout... A utorizzazioni Eserc itazioni cambia. password... Esercitazione. Rispondere alle seguenti domande reltive ai Processi Software:

Processi e Thread. Scheduling (Schedulazione)

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

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

Scheduling della CPU Simulazione in linguaggio Java

Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Concetti fondamentali. Dispatcher. Scheduler della CPU

Pag. 1. Introduzione allo scheduling. Concetti fondamentali. Scheduling della CPU. Concetti fondamentali. Concetti fondamentali. Algoritmi.

Algoritmi di scheduling

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Lo schedulatore del kernel

Scheduling della CPU

Sistema operativo: Gestione della memoria

Gestione della memoria centrale

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

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

J. Assfalg Appunti di Sistemi Operativi

Esercitazione E6 Esercizi d esame

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Sistemi Operativi. 5 Gestione della memoria

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

La schedulazione. E.Mumolo

ESERCIZI SULLO SCHEDULING DEI PROCESSI

Processo - generalità

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Pronto Esecuzione Attesa Terminazione

Memoria Virtuale. Lezione 29 Sistemi Operativi

Algoritmi di scheduling - Parte 2

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.

Elementi di Architettura e Sistemi Operativi. problema punti massimi i tuoi punti problema 1 6 problema 2 7 problema 3 7 problema 4 10 totale 30

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

Sistema operativo: Gestione dei processi

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

CPU. Maurizio Palesi

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Calcolatori Elettronici

Sommario. G. Piscitelli

Esercitazione E2 Memoria virtuale

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

MODELLISTICA DI IMPIANTI E SISTEMI 2

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Scheduling della CPU

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 7 luglio 2006

La Memoria Virtuale Ottimizzazione della memoria centrale

memoria virtuale protezione

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

Esercitazione E1 Scheduling, deadlock, monitor

Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

Algoritmi di scheduling

SCHEDULATORI DI PROCESSO

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

( x) ( x) 0. Equazioni irrazionali

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Concetti di base. Scheduling della CPU. Diagramma della durata dei CPU-burst. Sequenza Alternata di CPU Burst e I/O Burst

SISTEMI OPERATIVI. Gestione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 13/05/2007

Informatica - A.A. 2010/11

Capitolo 11 La memoria cache

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Dispositivi di rete. Ripetitori. Hub

SISTEMI OPERATIVI. Gestione dei dischi. Gestione dei dischi e sistemi RAID

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

FONDAMENTI di INFORMATICA L. Mezzalira

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Architettura degli Elaboratori 2

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


1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

Transcript:

Sistemi Operativi a.a. 004-005 Esercizi - Renzo Davoli Alberto Montresor. I diritti di memorizzazione elettronica, di riproduzione e di adattamento parziale o totale (compresi microfilm e copie fotostatiche) sono riservati per tutti i Paesi. E' fatto salvo per i soli studenti dei corsi di Sistemi Operativi e Laboratorio di Sistemi Operativi, C.d.L. in Informatica, A.A. 00/0 il dirittto a titolo gratuito di riprodurre, stampare e fotocopiare il presente documento per sè, non per terzi. E' espressamente vietato fare in ogni modo commercio del presente documento. A nessun altro oltre che all'autore è dato diritto di pubblicarlo a stampa o anche via rete.

Esercizio - 4/09/0, es. Sia dato uno scheduler Round Robin per un sistema monoprocessore con time slice di 4ms. Sia data la storia esecutiva dei seguenti processi: P: 5ms CPU, 0 ms I/O un., 4ms CPU, 0 ms I/O un, ms CPU P: 6ms CPU, 0 ms I/O un., 5ms CPU, 0 ms I/O un, ms CPU P: 5ms CPU, 0 ms I/O un., ms CPU, 0 ms I/O un, ms CPU P4: 5ms CPU, 0 ms I/O un., 8ms CPU, 0 ms I/O un, 4 ms CPU mostrare il diagramma di Gannt e calcolare il tempo totale di esecuzione.

Esercizio - 4/0/0, es. Sia dato uno scheduler Round Robin per un sistema monoprocessore con time slice di ms e incremento del time slice di ms per ogni time slice completamente utilizzato (senza I/O). L'incremento deve essere calcolato processo per processo e dopo che un processo ha terminato l'i/o, il time slice torna a ms. Sia data la storia esecutiva dei seguenti processi: P: ms CPU, 0 ms I/O un., 4ms CPU, 0 ms I/O un, ms CPU P: 6ms CPU, 0 ms I/O un., 5ms CPU, 0 ms I/O un, ms CPU P: 7ms CPU, 0 ms I/O un., ms CPU, 0 ms I/O un, ms CPU P4: 5ms CPU, 0 ms I/O un., 8ms CPU, 0 ms I/O un, 4 ms CPU mostrare il diagramma di Gannt e calcolare il tempo totale di esecuzione.

Esercizio - 4/09/0, es. Disegnare un grafo di Holt che rappresenti un deadlock e nel quale occorra terminare non meno di tre processi per eliminare completamente il blocco. 4

Esercizio - 4/09/0, es. L algoritmo del Banchiere multivaluta non è equivalente a molteplici istanze dell algoritmo monovaluta. Mostrare con un semplice esempio che uno stato unsafe di un Banchiere a due valute può risultare safe se esaminiamo due Banchieri che indipendentemente gestiscono le due differenti valute. 5

Esercizio - 7/0/0, es. Dimostrare che l'algoritmo dell'orologio non è a stack Suggerimento: mostrare che soffre dell'anomalia di Belady 6

Esercizio - 4/09/0, es. Un algoritmo di rimpiazzamento è definito come segue. Detto t=timetick() il numero di tick dalla accensione della macchina sia detto f = t % NF (dove NF è il numero di frame disponibili). Qualora sia necessario liberare un frame, si decide di eliminare la pagina nel frame f. E un algoritmo a stack? Dare una risposta e motivarla. 7

Esercizio - 4/0/0, es. Fissato il numero di frame, mostrare che esistono stringhe di riferimenti per le quali LFU (Least Frequently Used) ha un numero minore di page fault di LRU (Least Recently Used) e viceversa (non è sempre migliore LRU né LFU) 8

Esercizio - 0/07/0, es. Mostrare un semplice caso nel quale gli algoritmi LRU e MIN abbiano lo stesso numero di page fault (per non incorrere in casi banali il numero dei page fault deve essere maggiore del doppio del numero di frame) 9

Esercizio - 0/07/0, es. Un costruttore di sistemi operativi decide di usare un algoritmo di scheduling per la CPU che utilizza time slice e priorità. Alla fine di ogni time slice ogni processo tranne quello correntemente running ha la propria priorità aumentata di un unità. Siano dati tre processi che non svolgono I/O in un sistema con time slice posto a ms. Il processo P ha priorità e ha necessità di 0 ms di CPU. Il processo P ha priorità e ha necessità di 5 ms di CPU. Il processo P ha priorità e ha necessità di ms di CPU. Mostrare il relativo diagramma di Gannt. A quale tempo termineranno rispettivamente i processi? 0

Esercizio - 04/06/0, es. Mostrare un esempio nel quale l'algoritmo di rimpiazzamento MRU (most recently used) compia meno page fault dell'algoritmo LRU (least recently used)

Esercizio - 04/06/0, es. Sia dato un disco con velocità di seek di traccia per ms e che impiega ms a leggere/scrivere dati nella traccia corrente (indipendentemente dal numero delle richieste, ha un buffer di traccia) Sia data la seguente sequenza di richieste tempo t= 0 ms, traccia tempo t=0 ms, traccia 0 tempo t=5 ms, traccia 5 tempo t=5 ms, traccia 5 tempo t=0 ms, traccia 4 tempo t=5 ms, traccia 0 tempo t=40 ms, traccia 0 tempo t=45 ms, traccia 0 tempo t=50 ms, traccia Si mostri il percorso delle testine e si calcoli il tempo necessario per completare tutte le richieste nel caso si utilizzino gli algoritmi LOOK e C-LOOK.

Esercizio - Parte A Si consideri un banchiere che gestisca due valute, e si consideri lo stato seguente: Valuta : Valuta : IC=54; COH 4 IC=54; COH=6 i C i P i N i C i P i N i 0 0 0 8 4 4 4 0 4 4 8 6 0 8 4 6 8 4 0 8 6 5 8 0 8 0 4 6 A) Dimostrare che tale stato è safe per l'algoritmo del banchiere multivaluta

Esercizio - Parte A - Soluzione Si consideri un banchiere che gestisca due valute, e si consideri lo stato seguente: Valuta : Valuta : IC=54; COH 4 IC=54; COH=6 i C i P i N i avail i C i P i N i avail i 4 0 4 4 4 8 6 6 0 0 0 4 8 4 4 4 0 8 4 4 6 8 8 4 0 8 6 44 5 8 0 8 44 0 4 6 50 E' safe perchè è possibile trovare una sequenza (---4-5) tale per cui n s(j) avail[j], con j=...n 4

Esercizio - Parte B Mostrare un esempio di richiesta (della forma ``il processo x richiede y unità della valuta z'') tale per cui (i) la richiesta sia soddisfacibile, dato il saldo di cassa attuale e (ii) la richiesta debba essere rifiutata dall'algoritmo del banchiere multivaluta, in quanto porterebbe ad uno stato unsafe. Mostrare lo stato risultante ed evidenziare il motivo del problema. 5

Esercizio - Parte B - Soluzione Il processo 4 richiede unità della valuta Valuta : Valuta : IC=54; COH 4 IC=54; COH=4 i C i P i N i C i P i N i 0 0 0 8 4 4 4 0 4 4 8 6 0 8 4 6 8 4 0 8 8 0 5 8 0 8 0 4 6 La richiesta è soddisfacibile e porta a questo stato. Non è safe perchè non è possibile trovare una sequenza s tale per cui n s(j) avail[j], con j=...n 6

Esercizio Si consideri l'algoritmo Rate Monotonic per processi realtime periodici. Si mostri un esempio di almeno quattro processi che NON SIANO schedulabili secondo la condizione di Liu and Layland, ma che SIANO effettivamente schedulabili dall'algoritmo. A tal scopo, mostrare il grafo di Ganntt relativo allo scheduling di tale algoritmo. Per evitare casi banali, ogni processo deve avere un rapporto C/T (costo computazionale/periodicità) di almeno 0.4. Si ricorda che 4( /4 -) è circa uguale a 0.74. 7

Esercizio - Esempio da cui partire ( processi) T C Priorità C/T Task 80 40 (min) 0.5 Task 40 0 0.5 Task 0 5 (max) 0.5.00 ( / -)=0.778 Condizione Non OK Ma in realtà è schedulabile 5 5 5 5 =40 8

Esercizio - Soluzione T C Priorità C/T Task 60 40 (min) 0.5 Task 80 0 0.5 Task 40 0 0.5 Task 4 0 5 4 (max) 0.5.00 4( /4 -)=0.74 Condizione Non OK Ma in realtà è schedulabile 4 4 4 4 4 4 4 4 9

Esercizio - Soluzione T C Priorità C/T Task 4 (min) 0.5 Task 4 0.5 Task 4 0.5 Task 4 4 4 (max) 0.5.00 4( /4 -)=0.74 Condizione Non OK Ma in realtà è schedulabile 4 4 4 4 0

Esercizio Si consideri una memoria virtuale composta da 5 pagine, che devono essere allocate su una memoria fisica composta da 4 frame. Date queste condizioni, si mostrino tre casi distinti tali per cui: (A) l'algoritmo dell'orologio e MIN generino entrambi 7 page fault (o dimostrare che tale caso non esiste) (B) l'algoritmo dell'orologio abbia un numero di page fault maggiore del doppio di quelli generati da MIN (o dimostrare che tale caso non esiste) (C) l'algoritmo dell'orologio abbia un numero di page fault minore della metà di quelli generati da MIN (o dimostrare che tale caso non esiste)

Esercizio - Parte C - Soluzione MIN è l'algoritmo ottimale. Questo significa che, data qualunque stringa di riferimenti, MIN produce il minor numero di page fault. Qualunque altro algoritmo può al limite uguagliare MIN.

Esercizio - Parte B - Soluzione MIN è l'algoritmo ottimale. Questo significa che basta prendere una stringa che causi molti riferimenti sull'algoritmo dell'orologio tempo 5 stringa riferim. Orologio 4 5 4 5 5 5 5 5 4 4 4 4 5 5 5 4 4 4 4 4 5 5 4 4 5 MIN 4 4 4 4 4 5 5 5 5 5 5 5 5 4 5 4 5 4 5

Esercizio - Parte A - Soluzione Utilizziamo il doppio riferimento alle pagine per "forzare" la pagina da sostituire nell'orologio. Il doppio riferimento non influisce su MIN tempo 6 stringa riferim. Orologio 4 5 4 5 4 5 5 5 5 5 5 5 4 5 MIN 4 5 5 5 5 5 5 5 4 5 4

Esercizio 4 Sia dato uno scheduler preemptive di tipo "Shortest- Remaining-Time-First" (ovvero uno scheduler che approssima SJF) con valore alfa=/ e valore iniziale T 0 =0 per tutti i processi. Sia data la storia esecutiva dei seguenti processi: P: ms CPU, 5 ms I/O un., ms CPU, 5 ms I/O un, ms CPU P: 4ms CPU, 5 ms I/O un., 4ms CPU, 5 ms I/O un, ms CPU P: 5ms CPU, 5 ms I/O un., 6ms CPU, 5 ms I/O un, ms CPU P4: ms CPU, 5 ms I/O un., ms CPU, 5 ms I/O un, 4 ms CPU mostrare il diagramma di Gannt e calcolare il tempo totale di esecuzione. 5