PROGRAMMA DISCIPLINARE SVOLTO a. s / 2016

Размер: px
Начинать показ со страницы:

Download "PROGRAMMA DISCIPLINARE SVOLTO a. s. 2015 / 2016"

Транскрипт

1 PROGRAMMA DISCIPLINARE SVOLTO a. s / 2016 DOCENTI: TESTARDO CINZIA, VALERIO FELICI CLASSE 4 a IA DISCIPLINA TPSI MACROARGOMENTI che sono stati trattati nel corso del corrente anno scolastico (in riferimento a quanto deliberato nell area disciplinare). N.B. il programma è pubblico ad uso degli studenti e delle famiglie. 1. SISTEMI OPERATIVI (RIPASSO) Definizione di sistemi operativi Scopi di un sistema operativo Componenti e funzioni di un sistema operativo 2. FILE SYSTEM File e directory Struttura logica del file system Condivisione e protezione dei file Struttura del file system Metodi di allocazione Gestione dello spazio libero Coerenza del file system 3. MEMORIA SECONDARIA (HARD DISK) Struttura di un disco Scheduling del disco Scheduling FCFS Scheduling SSTF Scheduling SCAN e C-SCAN Scheduling LOOK e C-LOOK Sistemi RAID 4. I PROCESSI Concetto di processo Stati di un processo Process Control Block Context switch Modello: Mod_045PER Rev. 02_02/05/2016 Responsabile del procedimento:

2 Operazioni sui processi (syscall nei sistemi Unix) fork( ), getpid( ), getppid( ) exit( ) wait( ) e waitpid( ), le macro WIFEXITED( ) e WEXITSTATUS( ) la famiglia delle primitive exec: la primitiva execl( ) argomenti del main: argc e argv 5. COMUNICAZIONE TRA PROCESSI Processi indipendenti, cooperanti e in competizione Inter-Process Communication Sistema a memoria condivisa Scambio di messaggi Comunicazione diretta e indiretta Scambio di messaggi bloccante e non bloccante Buffering Esempi (modello client/server e pipe) 6. CONCORRENZA TRA PROCESSI La concorrenza tra processi (interleaving e overlapping) Sincronizzazione di processi (race condition) Il problema della sezione critica Sezione critica e kernel Soluzione software al problema della sezione critica (algoritmo di Peterson) Soluzione hardware al problema della sezione critica (uso di lock, disabilitazione interrupt, test&set) 7. I SEMAFORI Soluzione basata su sistemi operativi al problema della sezione critica (i semafori) Semafori binari e semafori contatori Semafori spinlock (il problema della attesa attiva) Implementazione dei semafori senza attesa attiva le syscall block() e wakeup() le implementazioni di wait() e signal() Problema dei produttori-consumatori con i semafori 8. COMANDI SHELL LINUX Installazione della VMware e VMware Tools Ripasso sui comandi shell Linux Il comando chmod I comandi: date, cut, sort e grep Regular expression Modello: Mod_045PER Rev. 02_02/05/2016 Responsabile del procedimento:

3 9. SVILUPPARE APP ANDROID Prima lezione del corso "Developing Adroid Apps" su Udacity Seconda lezione del corso "Developing Adroid Apps" su Udacity 10.SVILUPPARE SITI WEB CON WORDPRESS Installazione di XAMPP Installazione di Wordpress Tema child Bergamo, lì 04 / 06 /2016 I Docenti Cinzia Testardo, Valerio Felici Gli alunni: Matteo Grechi Marco Tagliafierro Modello: Mod_045PER Rev. 02_02/05/2016 Responsabile del procedimento:

4 Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazioni (quarta) Indicazioni per il recupero docente: Testardo Cinzia Di seguito sono elencati i macroargomenti affrontati durante l'anno con i relativi obiettivi da raggiungere. Dopo aver studiato i singoli argomenti sulle dispense distribuite durante l'anno fai gli esercizi indicati File system Conoscere il concetto di file e directory Conoscere la struttura logica di un file system Conoscere i metodi di allocazione dei file Conoscere come è gestito lo spazio libero Conoscere e saper usare i sistemi di protezione dei file Memoria secondaria (Hard Disk) Conoscere la struttura di un disco Conoscere i principali algoritmi di scheduling del disco Conoscere e saper usare i sistemi di protezione dei dati Compiti Esercizi Al driver di un disco arrivano, nell ordine, richieste per i cilindri 38, 23, 59, 3, 63, 22, 2, 11, 45. Si utilizzino FCFS, SSTF e SCAN (decrescente) e si stabilisca la distanza totale (in cilindri) percorsa dal braccio del disco per soddisfare tutte le richieste in attesa. Si assuma per tutti i casi, che il braccio si trovi inizialmente posizionato sul cilindro 15 e il numero totale di cilindri è 100 (numerati da 0 a 99) Al driver di un disco arrivano, nell ordine, richieste per i cilindri 51, 80, 90, 140, 1, 45, 165, 85. Si assuma che il braccio si trovi inizialmente posizionato sul cilindro 100, il numero totale di cilindri è 200 (numerati da 0 a 199) e il seek time per lo spostamento tra cilindri adiacenti è 1 ms. Si utilizzi SSTF e si stabilisca il seek time totale per soddisfare tutte le richieste in attesa. Si tenga conto che l'ultima richiesta arriva dopo 13 ms. Si consideri un disco gestito con politica LOOK (crescente) e CSCAN (crescente). Inizialmente la testina è posizionata sul cilindro 24, il numero totale di cilindri è 100 (numerati da 0 a 99) e lo spostamento ad una traccia adiacente richiede 1 ms. Al driver di tale disco arrivano richieste per i cilindri 77, 43, 30, 80, rispettivamente agli istanti 0 ms, 20 ms 50 ms, 55 ms. si stabilisca in quale ordine sono servite le richieste e il tempo di seek time complessivo. I processi Conoscere il concetto di processo

5 Saper descrivere il ciclo di vita di un processo Conoscere i modelli di elaborazione dei processi Conoscere e saper usare le principali system call dei sistemi Unix Compiti Esercizi Scrivi un programma C++ in cui è lanciata una fork( ) e sia il padre che il figlio stampino a video il proprio PID e il PID del padre, differenziando il codice del padre e del figlio. Modifica l'esercizio precedente in modo che muore prima il figlio (suggerimento: usa sleep( )) Modifica l'esercizio precedente in modo che muore prima il padre (suggerimento: usa sleep( )) Scrivi un programma C++ in cui è richiesto in input un numero intero. Poi è lanciata una fork( ). Il figlio aggiunge 10 a tale numero e lo stampa a video, mentre il padre sottre 10 e lo stampa a video. Differenziare il codice del padre da quello del figlio Un processo padre P0 genera N figli. Considera due diverse gerarchie: N processi fratelli e 1 solo padre; N processi ciascuno figlio del precedente (N+1 livelli: padre, figlio, nipote, ecc.). Crea una struttura globale per tener traccia dei PID di tutti i processi (int pid[n+1]). Descrivi con quali valori è riempito tale vettore nei due casi. Scrivi un programma in cui il padre genera N figli e attende la fine della loro esecuzione Prova a modificare il programma precedente in modo tale che il processo padre attenda il completamento dei processi figli nello stesso ordine in cui sono stati creati. Scrivi un programma in C++ in cui il padre crea N figli e attende la terminazione di uno qualsiasi dei suoi figli Scrivi un programma in C++ in cui il padre crea N figli e attende la terminazione solo dell'ultimo creato Si scriva un programma che crei un figlio. Il figlio deve mandare in esecuzione il comando che mostra data e ora corrente in output. Il padre attende la terminazione del figlio. (Si supponga che il codice del comando si trova nella directory /bin ). Comunicazione tra processi Conoscere il modello di comunicazione a memoria condivisa e a scambio di messaggi Conoscere il modello di comunicazione a scambio di messaggi Conoscere le tipologie dei meccanismi a scambio di messaggi Conoscere le primitive send( ) e receive( ) Concorrenza tra processi

6 Acquisire il concetto di programmazione concorrente Acquisire il concetto di interazione tra processi Comprendere l'esigenza di sincronizzazione Comprendere il concetto di indivisibilità di una primitiva Avere il concetto di regione critica e mutua esclusione Sapere la differenza tra interleaving e overlapping Avere il concetto di starvation e deadlock Conoscere le varie soluzioni al problema della sezione critica I semafori Conoscere il concetto di semaforo Conoscere la differenza tra semafori binari e semafori contatori Conoscere i semafori spinlock Sapere il funzionamento dei semafori di Dijkstra ATTENZIONE PER COLORO CHE HANNO AVUTO LA SOSPENSIONE DEL GIUDIZIO RIPASSARE TUTTI GLI ARGOMENTI PRESENTI NEL PROGRAMMA SVOLTO.(IN PARTICOLARE QUELLI IN CUI LO STUDENTE NON HA RAGGIUNTO LA SUFFICIENZA DURANTE L'ANNO SCOLASTICO) FARE GLI ESERCIZI SU UN QUADERNO CONSEGNARE IL QUADERNO IL GIORNO DELL'ESAME LA PUNTALITÀ NELLA CONSEGNA, L'ORDINE, LA QUALITÀ E LA QUANTITÀ DEL LAVORO SVOLTO RIENTRERANNO TRA GLI ELEMENTI CHE SARANNO PRESI IN CONSIDERAZIONE IN SEDE DI VALUTAZIONE

LABORATORIO DI SISTEMI OPERATIVI

LABORATORIO DI SISTEMI OPERATIVI LABORATORIO DI SISTEMI OPERATIVI Corso di Laurea Triennale in Ingegneria Informatica A.A. 2018/2019 Guglielmo Cola Email: [email protected] Web: iet.unipi.it/g.cola Processi in Unix/Linux caratteristiche

Подробнее

System call per la gestione di processi

System call per la gestione di processi System call per la gestione di processi Chiamate di sistema per creazione di processi: fork() sostituzione di codice e dati: exec...() terminazione: exit() sospensione in attesa della terminazione di figli:

Подробнее

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix. I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo

Подробнее

Interazione tra Processi. Sistemi Operativi T AA

Interazione tra Processi. Sistemi Operativi T AA Interazione tra Processi Sistemi Operativi T AA 2009-2010 1 Classificazione: Processi interagenti processi interagenti/indipendenti: due processi sono interagenti se l esecuzione di un processo è in alcun

Подробнее

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Подробнее

Soluzioni ai problemi di Mutua Esclusione Primitive di sincronizzazione. Soluzioni ai problemi di Mutua EsclusionePrimitive di sincronizzazione

Soluzioni ai problemi di Mutua Esclusione Primitive di sincronizzazione. Soluzioni ai problemi di Mutua EsclusionePrimitive di sincronizzazione Soluzioni ai problemi di Mutua Esclusione Primitive di sincronizzazione Soluzioni basate su primitive di sincronizzazione Le primitive di sincronizzazione piú comuni sono: Lock (mutex) - realizzati in

Подробнее

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1 GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

Подробнее

I Processi. Il Concetto di Processo

I Processi. Il Concetto di Processo I Processi Il Concetto di Processo Il processo è un programma in esecuzione È l unità di esecuzione all interno del SO Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono eseguite

Подробнее

SISTEMI OPERATIVI - canale 1

SISTEMI OPERATIVI - canale 1 DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-2 anno SISTEMI OPERATIVI - canale 1 ING-INF/05-6 CFU - 1 semestre titolare

Подробнее

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione

Подробнее

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Modello dei processi. Riedizione delle slide della Prof. Di Stefano Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess

Подробнее

A.A sull insegnamento Architettura degli Elaboratori e Sistemi Operativi (B)

A.A sull insegnamento Architettura degli Elaboratori e Sistemi Operativi (B) Principali informazioni A.A. 2017-2018 sull insegnamento Titolo insegnamento Architettura degli Elaboratori e Sistemi Operativi (B) Corso di studio Informatica Crediti formativi 9 (7 + 2) Denominazione

Подробнее

Sistemi Operativi. Prof. Alberto Broggi. Dip. di Ingegneria dell Informazione Università di Parma

Sistemi Operativi. Prof. Alberto Broggi. Dip. di Ingegneria dell Informazione Università di Parma Sistemi Operativi Prof. Alberto Broggi Dip. di Ingegneria dell Informazione Università di Parma Crediti Il corso offre 6 crediti (48 ore) Lezioni (circa 36 ore) Esercitazioni (circa 10 ore) Prova in itinere

Подробнее

MODELLO A MEMORIA COMUNE. Aspetti caratterizzanti

MODELLO A MEMORIA COMUNE. Aspetti caratterizzanti MODELLO A MEMORIA COMUNE Aspetti caratterizzanti 1 Ogni applicazione viene strutturata come un insieme di componenti, suddiviso in due sottoinsiemi disgiunti: processi (componenti attivi) e risorse (componenti

Подробнее

2. Nucleo del sistema operativo (la gestione dei processi)

2. Nucleo del sistema operativo (la gestione dei processi) Struttura interna del sistema operativo Linux 2. Nucleo del sistema operativo (la gestione dei processi) Architettura (struttura) del sistema operativo shell Programmi utente Modo utente Interfaccia delle

Подробнее

TeP Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione

TeP Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione Dipartimento Informatica Materia TeP Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione Classe 3 Tec Ore/anno 99 A.S. 2018-2019 Sapere individuare gli elementi che caratterizzano

Подробнее

I Processi nel Sistema Operativo Unix

I Processi nel Sistema Operativo Unix I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo

Подробнее