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



Documenti analoghi
9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

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

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

SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

ESERCIZI SULLO SCHEDULING DEI PROCESSI

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi SCHEDULING DELLA CPU

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

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

Sistemi Operativi. 5 Gestione della memoria

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

La Gestione delle risorse Renato Agati

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

I processi Unix. Entry della tabella dei processi

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

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

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

Esercitazione E2 Memoria virtuale

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

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

Corso di Informatica

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Sistemi Operativi Kernel

Esercitazione E6 Esercizi d esame

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

Sistemi Operativi a.a Esercizi - 2

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

Sistema operativo: Gestione della memoria

Il Sistema Operativo (1)

Scheduling della CPU:

01/05/2014. Dalla precedente lezione. Ruolo dei sistemi operativi. Esecuzione dei programmi

Processi e Thread. Scheduling (Schedulazione)

Calcolatori Elettronici A a.a. 2008/2009

11 Realizzazione del File System Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

GESTIONE DELLA MEMORIA CENTRALE

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

Monitor. Introduzione. Struttura di un TDA Monitor

memoria virtuale protezione

Secondo biennio Articolazione Informatica TPSIT Prova Quarta

SISTEMI OPERATIVI 14 settembre 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

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

Varie tipologie di memoria

Il software. la parte contro cui si può solo imprecare. Funzioni principali del sistema operativo. (continua) Gestione della memoria principale

Il problema del produttore e del consumatore. Cooperazione tra processi

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

PROGETTAZIONE FISICA

Pronto Esecuzione Attesa Terminazione

Il Sistema Operativo: il File System

Sistemi Operativi. 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

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

Sistemi operativi. Esempi di sistemi operativi

Lo scheduling. Tipici schedulatori

Calcolatori Elettronici B a.a. 2008/2009

Gestione della Memoria

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

12. Implementazione di un File System Struttura a livelli Allocazione contigua

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

Scheduling. Scheduling 14/12/2003 1/7

GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)

Il memory manager. Gestione della memoria centrale

Scheduling della CPU

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

FoLUG Forlì Linux User Group. Partizionamento

Corso di Sistemi di Elaborazione delle informazioni

Approccio stratificato

Corso di Laurea in Informatica Architetture degli Elaboratori

Architettura dei calcolatori II parte Memorie

STRUTTURE DEI SISTEMI DI CALCOLO

Esercitazione E1 Scheduling, deadlock, monitor

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

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria centrale

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

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

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

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

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

Il Sistema Operativo

Criteri di Scheduling Algoritmi di Scheduling Multiple-Processor Scheduling Asymmetric/Symmetric multiprocessing Processori Multicore

1. Spiegare le differenze fra le seguenti modalità di binding degli indirizzi:

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

Capitolo Silberschatz

Capitolo Quarto...2 Le direttive di assemblaggio di ASM Premessa Program Location Counter e direttiva ORG

Architettura del calcolatore

Liberare la memoria allocata dinamicamente.

Sistemi RAID. Sistemi RAID. Sistemi RAID

Sistemi RAID. Sistemi RAID

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

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

FONDAMENTI di INFORMATICA L. Mezzalira

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

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

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

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Transcript:

ESERCIZIO 1 Si consideri un hard disk formattato la cui memoria è suddivisa in 16 blocchi (numerati da 0 a 15). Si supponga che sull hard disk sia memorizzato un unico file, contenuto, nell ordine, nei blocchi numero 1,, e 5. (il primo blocco del file è il blocco 1, e l ultimo è il blocco 5). (a) Si disegni la FAT associata all hard disk, supponendo che i blocchi liberi siano indicati con il numero e i blocchi di fine file con il numero 1. 5-1 0 1 3 4 5 6 8 9 10 11 1 13 14 15 1 ESERCIZIO 1 (b) Dove è memorizzato il numero del primo blocco del file? Insieme agli altri attributi del file, nella cartella che contiene il file. (c) Qual è la frammentazione minima, massima e media dovuta alla memorizzazione del file, supponendo blocchi da 51 byte? Minima = 0 byte; massima = 511 byte; media = 56 byte. (d) Si tratta di frammentazione interna o esterna? interna (e) Di quale tipo di allocazione della memoria secondaria, la FAT è la naturale implementazione efficiente? Allocazione concatenata

ESERCIZIO 1 (f) Quante operazioni di I/O su disco sono necessarie per cancellare il terzo blocco del file se la FAT è presente? (Motivate la vostra risposta) Zero (oppure 1, se si considera anche il salvataggio su disco della FAT aggiornata). (g) E se la FAT non è presente, e si usa l allocazione dello spazio su disco a cui fa riferimento la domanda (e)? (Motivate la vostra risposta) Quattro, se si suppone una allocazione concatenata semplice e se il numero del primo blocco del file è già in RAM: lettura dei blocchi 1,,, (per sapere quale blocco viene dopo il ) riscrittura del blocco aggiornato. 3 ESERCIZIO Si consideri un sistema in cui la tabella delle pagine di un processo può avere al massimo 18 entry. Un indirizzo fisico generato dal sistema è scritto su 1 bit, e la RAM è suddivisa in 8 frame. (a) Quanto è grande lo spazio di indirizzamento logico del sistema? 64KByte (18 x ^9 byte). (b) Quale/quali dei seguenti indirizzi esadecimali NON è certamente un indirizzo logico corretto per il sistema sopra descritto? (tutti gli indirizzi più grandi di ^16, che è la dimensione dello spazio di indirizzamento logico, ossia gli indirizzi che non possono essere scritti usando al più 16 bit). [ ] 0FAB [X] F05DE [ ] F [X] 11111 4

ESERCIZIO (c) La tabella delle pagine di un processo di questo sistema, potrebbe dover essere a sua volta paginata? (motivate la vostra risposta) No. Infatti, la tabella delle pagine di un processo ha al massimo 18 entry. Ogni entry deve contenere il numero di un frame, che è scritto su 3 bit. Se anche si usa un byte per ogni entry, in tutto la tabella occupa 18 byte. Poiché un frame è grande 51 byte, la tabella in questione può essere contenuta in un unico frame, e non deve essere paginata a sua volta. (d) Che cos è la tabella delle pagine di un processo? E un array in cui ogni entry corrisponde ad una delle pagine in cui è stata suddivisa l immagine del processo, e contiene il numero del frame in RAM nel quale è stata memorizzata la pagina corrispondente. 5 ESERCIZIO 3 Un processo produce la seguente stringa di riferimenti: 1 3 4 1 5 1 3 (a) Riportate la sequenza di pagine memorizzate nei frame ad ogni riferimento, e il numero di page fault generati, nel caso di algoritmo LRU con paginazione su richiesta pura, nel caso di 4 frame disponibili. 1 1 13 134 134 134 154 154 154 153 (b) Che cos è una pagina vittima? Nei sistemi che implementano la memoria virtuale, è una pagina in memoria primaria che è stata selezionata dal sistema operativo per essere rimossa in modo da far posto ad una pagina mancante e che ha generato un page fault 6

ESERCIZIO 3 (c) Che cos è il fenomeno del trashing? Nei sistemi che implementano la memoria virtuale, è un fenomeno per il quale i processi passano la maggior parte del loro tempo generando page fault e aspettando che la pagina mancante sia stata caricata in memoria primaria per poter ripartire. ESERCIZIO 4 Shared Var semaphore mutex = 1; semaphore done = 0; P A : P B : P C : repeat: repeat: repeat: wait(mutex) wait(done) wait(done) <A> wait(mutex) wait(done) signal(mutex) <B> wait(mutex) signal(done) signal(mutex) <C> signal(done) signal(mutex) [X] A,B,A,B,C,A,A,C,A [ ] A,B,A,A,B,C,C,A,A [X] A,A,C,A,B,A,B,B,A [ ] A,B,A,C,B,A,B,A,B 8

ESERCIZIO 4 (b) quali, tra le quattro sequenze indicate sono invece possibili se il semaforo mutex è inizializzato a 0, e il semaforo done è inizializzato a 1? (motivate la vostra risposta) Ovviamente nessuna, dato che il semaforo di mutua esclusione è inizializzato a 0, e tutti i processi si bloccano all esecuzione della prima wait(mutex). 9 ESERCIZIO 4 (c) Riportate un semplice esempio in pseudo-codice (simile a quello usato per la prima parte di questa domanda) di due processi concorrenti che usano uno o più semafori per sincronizzarsi e che, a seconda dell ordine relativo in cui vengono eseguite le istruzioni dei due processi, può portare in una situazione di deadlock. Indicate anche come devono essere inizializzati i semafori che usate. P1 wait(mutex1) wait(mutex) sez. critica signal(mutex) signal(mutex1) P wait(mutex) wait(mutex1) sez. critica signal(mutex1) signal(mutex) semaphore mutex1 = 1; semaphore mutex = 1; 10

ESERCIZIO 5 Quattro processi arrivano al tempo indicato e consumano la quantità di CPU indicata nella tabella sottostante) processo P1 P P3 P4 T. di arrivo 0 6 burst 6 1 Calcolare il turnaround medio e il waiting time medio per i processi nel caso dell algoritmo di scheduling SJF preemtpive, riportando anche il diagramma di Gantt corrispondente P1 () P3 (4) P1 () P4 (8) P1 (10) P (16) turnaround: P1=10; P=14; P3=; P4=1 turnaround medio = /4 waiting time: P1=3; P=8; P3=0; P4=0 waiting time medio = 11/4 11 ESERCIZIO 5 (b) L algoritmo SJF preemptive garantisce che un processo che arriva in coda di ready riuscirà prima o poi ad usare la CPU? (motivate la vostra risposta) No, poiché potrebbe sempre arrivare in coda di Ready in processo con un burst time più piccolo di un processo già in coda che attende di essere selezionato dallo scheduler (c) Riportare il diagramma di stato della vita di un processo. (d) E vero o falso che un processo può uscire volontariamente dallo stato di Ready? (motivate la vostra risposta) Falso. Un processo in stato di Ready non è in esecuzione, e quindi può cambiare stato (passando allo stato Running ) solo se selezionato dallo scheduler. 1