Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Documenti analoghi
SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI

A confronto Linux e Microsoft. d i A g n e s e D a i d o n e

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

File System Distribuiti

* Accesso ai file remoti - trasferimento effettivo dei dati mediante RPC - aumento delle prestazioni tramite caching

File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:

Cos è un file system? File system Distribuiti. Cos è un sistema distribuito? Operazioni fondamentali. Struttura di un DFS.

Fondamenti di GNU/Linux

Sicurezza del File System

Tecnologia dell Informazione

File System. Capitolo 13

Lezione 11. Caratteristiche di un file system. Un primo esempio: FTP. Un file system distribuito (DFS)

Capitolo 6 Le infrastrutture SoftWare

Sistema Operativo (Software di base)

Struttura Logica del S.O:

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Struttura interna del sistema operativo Linux

Architettura degli elaboratori Docente:

Introduzione all uso dei laboratori aka Linux basics. October 23, 2013

IL SOFTWARE DI SISTEMA

Sistema operativo & file system 1

Linux: Organizzazione filesystem

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Sistema operativo. Interazione con il SO

Realizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine

Componenti e connessioni. Capitolo 3

Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

CAP9. Device drivers

Il file È un insieme di informazioni: programmi. Il File System. Il file system

I sistemi operativi. Prof. Daniele Contarino


Personal Computer: introduzione

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Le motivazioni che hanno favorito la nascita e lo sviluppo delle reti di calcolatori sono molteplici:

Esame di INFORMATICA Lezione 4

Il software di sistema

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Come funzionano i computer

Il Sistema Operativo. Informatica Sistema Operativo 1

Informatica Generale 06 - Introduzione ai Sistemi Operativi

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni

Indice. Introduzione. Capitolo 1 Introduzione a Windows Server Edizioni di Windows Server

Lezione 16. Il Software di base

ISO- OSI e architetture Client-Server

Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per:

Schermata di consigli per la navigazione sicura. Aggiornamento del software VesselView. Controllo automatico tramite Wi-Fi

Test e risultati sull uso di un file system GPFS condiviso su rete WAN

Il software: cenni sul sistema operativo

Il Sistema Operativo

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base

Francia dalla contrazione delle parole INFORmazione e automatica. Elaborazione e trattamento automatico delle informazioni INFORMATICA

7.4 Controllo di errore e ritrasmissione

Architetture hardware e software dei calcolatori

Introduzione alla rete Internet

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

LABORATORIO di Reti di Calcolatori

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete

Implementazione del File System

Lezione 2 Chiamate di procedura e risposta alle interruzioni

File e cartelle File system Software di utilità Il S.O. e le periferiche Il S.O. e la memoria

Corso di Informatica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

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

LA GESTIONE DELLA I/O

Sistemi Operativi (Laboratorio)

Corso di Informatica

Capitolo 1: Introduzione

Sistemi a processori multipli

Ottimizziamo il flusso di lavoro aziendale ed abbattiamo i costi di gestione mediante l uso di tecnologie adeguate.

Un file system nasconde la complessità dei diversi media proponendone una astrazione.

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Corso Tecnico WEB 2013

File system: aspetti implementativi

Il Sistema Operativo

Laboratorio di Reti, Corsi A e B. Text-Twist. Progetto di Fine Corso A.A. 2016/17

Sistemi Operativi. Sottosistema di I/O

Università degli Studi di Cassino e del Lazio Meridionale

Reti Informatiche Edizione N

SEDE OPERATIVA Via A. De Gasperi, 127/A Merate (LC) TEL. 039/ Manuale

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Tesi di Laurea. Progetto ed implementazione di un server proxy per il transcoding delle immagini Web. Candidato: Massimo Magazzù.

Capitolo 6 Le infrastrutture SoftWare

Architettura dei calcolatori e Software di sistema

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09

GENERA AMBIENTE MANUALE PER L'UTENTE

Il software: Istruzioni per il computer

Navigazione protetta a misura di scuola!

Sperimentazione del file-system distribuito HDFS in ambiente GRID. III Borsista Day, Roma,

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

Router. E altri elementi di una rete LAN

Architetture della memoria

Gerarchia di Memoria e Memorie Cache. ma rallenta R / nw. Qui : modi di aumentare velocità di R / nw. dati e codice non tutti uguali

Transcript:

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia File system distribuiti: 1. Nozioni di base 2. Aggioramento dati 3. Gestione delle cache 4. Esempi (NFS, Sprite, AFS)

Introduzione i file system distribuiti sono sistemi di archiviazione la cui memoria di massa risiede su dispositivi di macchine distinte successo dei file system distribuiti nasce dall alto costo della memoria di massa intorno alla metà degli anni ottanta quindi nei sistemi aziendali si preferiva condividere questa risorsa tra gli utenti in modo da limitarne l acquisto in grandi quantità (stazioni di lavoro diskless) per esempio il software applicativo doveva risiedere solo in una macchina (server), l utente interessato all esecuzione di quel programma, di fatto scaricava prima il programma dal server sulla sua macchina locale e poi lo mandava in esecuzione vantaggi attuali primariamente di ridotto costo di amministrazione delle applicazioni

Proprietà auspicabili Trasparenza di locazione l utente deve dare il comando di esecuzione del programma come se questo fosse un programma locale, senza rendersi conto cioè delle operazioni descritte precedentemente al più può notare una latenza nell avvio del programma in altre parole un utente deve poter eseguire operazioni sui file di un file system distribuito come se questi fossero dei file locali Indipendenza di locazione il nome di un file non deve essere modificato se cambia la locazione fisica del file stesso Gestione della replicazione dei file

Architettura Client 2 Cache Client Cache Client Cache Client Client 1 Client 3 Rete di Comunicazione Disco Server Cache server Cache server Disco Server server A server B

Funzionamento ogni client di un un file sistem distribuito possiede un kernel (o supporto a run time) che intercetta tutte le richieste per accesso a file (apertura, chiusura, scrittura e lettura) il kernel riconosce se la richiesta riguarda un file del file system locale o di un file del file system distribuito nel secondo caso controlla se il dato è nella memoria cache locale al client, in caso affermativo invia i dati richiesti verso l utente in caso contrario, il kernel invoca una RPC all interno del server per ottenere i dati una volta recuperati i dati il server prepara il pacchetto da inviare al client come risultato della RPC

UTENTE Interfaccia del Sistema Operativo Locale SERVER Kernel del DFS (Run Time Support) si Dati nella Cache? Distributed File System no File System Locale no Routine del Server (Run Time Support) Dati nella Cache? Distributed File System si CLIENT Presentazione dati RPC Presentazione dati RPC RETE

Aggiornamento della copia primaria Write through ogni volta che un client scrive dati su di un file, la scrittura viene notificata al server che gestisce la copia primaria del file approssimazione della semantica UNIX Delayed write le scritture di dati da parte di un client vengono notificate al server che gestisce la copia primaria solo periodicamente approssimazione (più lasca) della semantica UNIX Write on close le scritture di dati da parte di un client vengono notificate al server che gestisce la copia primaria solo al termine della sessione di lavoro del client su quel dato file semantica di sessione

Coerenza della cache Approccio client initiated il client verifica se i dati nella cache sono coerenti con la copia primaria, in caso negativo i dati vengono nuovamente prelevati il controllo può essere effettuato ad ogni accesso (approssimazione semantica UNIX), all inizio della sessione di lavoro sul file oppure su base periodica Approccio server initiated il server notifica ai client che il contenuto della loro cache è non più coerente per effetto di scritture da parte di altri client (callback) la notifica è ad ogni aggiornamento, periodica o sulla chiusura della sessione di lavoro il server potrebbe decidere di invalidare il caching al lato client nel caso in cui una sessione di lavoro venga attivata per in certo file

Replicazione dei file Obiettivi aumento della disponibilità dei dati miglioramento delle prestazioni (bilanciamento del carico su più server) Consistenza delle repliche aggiornamento sequenziale: effettuto da parte del client su tutte le copie(problemi in caso di caduta del client) replicazione di copia primaria: gli aggiornamenti vanno solo sulla copia primaria, il server che la gestisce si fa carico di aggiornare le altre copie (tipico di applicazioni read intensive) quorum: aggiornamenti e letture avvengono su N/2+1 copie (dove N è il numero totale) per evitare problemi di caduta del server primario

Montaggio ogni server ha un proprio spazio di nomi di file ed una propria gerarchia questi spazi devono essere collegati per formare un unica struttura gerarchica vista dai client i client si collegano a questa struttura in punti particolari detti mount point (mantenuti in una mount table gestita dal kernel del DFS) i mount point corrispondono a delle directory nella struttura gerarchica unica e permettono ad un client di vedere tutti file al di sotto del suo, o dei suoi, mount point per fissare un mount point, il client esegue l operazione di collegamento alla directory di interesse (mounting) questa operazione avrà successo solo se il server darà opportuni diritti al client per eseguire quel mounting

Un esempio SERVER B / mount point client 2 usr tmp home mount point client 1 Java bin sbin http edoardo ugo dora latex netscape mount point client 3 lettera.txt SERVER C mail composer communicator SERVER A

Ricerca dei dati su montaggio a cascata client 1 2 3 FS server 1 FS server 2 FS server 3 pathname 1 client 4 FS server 1 2 FS server 2 3 FS server 3 pathname ricerca iterativa (RPC compliant) ricerca automatica (non RPC compliant)

Trasferimento di dati se ci si limita a trasferire i pochi dati per ogni richiesta, il tempo che viene preso dal server per trovare i dati da trasferire sul disco (seek time) e dal protocollo per trasferire i dati stessi (segmentazione, riassemblamento, instradamento ecc.) non viene ammortizzato quindi si preferisce inviare un blocco di dati contigui, contenente i dati richiesti, appartenenti allo stesso file questo permette di ottimizzare il seek time e l esecuzione del protocollo di scambio dati il trasferimento di dati contigui ha aumentato le prestazioni dei file system distribuiti poiché segue un principio semplice ed efficace: una volta che un file è stato aperto, questo viene, molto spesso, visitato nella sua interezza da un utente

Network file system (NFS) Caratteristiche di base NFS è l applicazione che ha portato al successo SUN Microsystem alla metà degli anni ottanta NFS nasce su cluster di workstation UNIX, ma ormai, a livello client, viene supportato da tutti i più comuni sistemi operativi (Windows, Macintosh, LINUX) montaggio non trasparente, accesso trasparente montaggio a cascata non transitivo FS esportabili definiti in /etc/exports, insieme ad informazioni su chi può importare /etc/fstab specifica cosa montare basato su UDP a livello dell architettura RPC accesso alla home directory da qualsiasi macchina nell architettura

NFS Modalità di funzionamento un utente che desidera accedere ad un file manda la richiesta ad un file system virtuale presente sull elaboratore (gestione di v-nodes tramite informazioni in /etc/mtab) questo controlla se il file desiderato è presente nella macchina locale oppure è un file di NFS nel secondo caso, la richiesta viene inviata, attraverso il virtual file system, ad un NFS client che la rilancerà all NFS server attraverso una RPC il server NFS controlla i diritti di accesso al file da parte dell utente e serve la richiesta inviando una copia del file al client NFS che immagazzinerà tale copia nella cache locale read/write atomico su al più 1500 bytes (dovuto al protocollo ethernet)

NFS: gestione dei dati delayed write per la notifica di aggiornamenti verso il server il server NFS non tiene traccia delle copie inviate ai vari client uso di timestamp per invalidare copie obsolete dei dati (in ogni caso l invalidazione avviene sempre per effetto di azioni del client, ad esempio scritture su un certo file) il timestamp di un file viene incrementato dal server di uno ogni volta che viene eseguita una modifica e viene attaccato ai dati quando il server li spedisce ad un client quando le modifiche di un file arrivano al server esse hanno attaccato il timestamp associato originariamente dal server alla copia se il timestamp associato alle modifiche è minore del timestamp del file nel server, significa che qualcuno ha effettuato delle modifiche al file e che la copia nella cache del client deve essere invalidata

Sprite File System (SFS) simile ad NFS ogni 5 secondi il kernel di SFS controlla la cache del client alla ricerca di dati che non sono stati modificati negli ultimi 30 secondi, prende questi dati e li invia al server quindi dati modificati non saranno inviati al server prima di 30 secondi dalla loro modifica oppure prima di essere espulsi dalla cache del client per essere rimpiazzati con dati più recenti questa politica nasconde al server tutti quei dati le cui modifiche non hanno tempo di vita superiori ai 30 secondi riducendo notevolmente il traffico di rete il server invia al client un messaggio dicendogli che alcuni suoi dati sono obsoleti il client può decidere se eliminarli dalla cache o scaricarsi dal server una versione recente il problema delle modifiche concorrenti viene risolto non ammettendo (o ritardando) il caching dei file che sono aperti in scrittura

Andrew File System (AFS) ideato alla Carnegie Mellon University e successivamente commercializzato da Transarc, una sussidiaria di IBM la sua caratteristica più importante sta nel fatto che AFS è un unico file system su scala mondiale ci sono nel mondo circa un migliaio di server e decine di migliaia di client tutti uniti in un unico file system AFS è organizzato in celle, ogni cella rappresenta una directory di primo livello del file system una cella mette a disposizione di un client software applicativo ed eventuali file dati adotta caching di file in grosse porzioni si basa su una semantica di sessione con callback