Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script."

Transcript

1 I file in PHP Un file è un archivio elettronico contenente informazioni (dati) memorizzate su memoria di massa. Il file ha la caratteristica di consentire la lettura, la scrittura e la modifica dei dati in esso contenuti. Per lavorare con i file in php è importante conoscere il concetto di puntatore a file. Esso è un numero intero che viene assegnato al file al momento della sua apertura e ne consente l individuazione in modo univoco. Al primo file aperto il motore php assegna il numero 1 e così via. Dopo l apertura, nel seguito del programma non si dovrà più usare il nome (o la URL) ma si dovrà fare riferimento al solo puntatore. Apertura di file La funzione che PHP mette a disposizione per aprire un file si chiama fopen(). La funzione fopen() causa il caricamento del descrittore in memoria RAM affinchè il file sia effettivamente disponibile a tutti i livelli. $miofile=fopen( /percorso/nomefile.txt, w ); La funzione fopen() ha due parametri: <nome file> e <modalità di apertura> (esiste anche un terzo parametro <use_include_path> opzionale), e restituisce un il puntatore al file aperto (nell esempio precedente tale puntatrore verrò assegnato alla variabile $miofile). Il parametro <nome file> può essere semplicemente il nome del file (facendo quindi riferimento alla directory corrente), oppure contenere un percorso tanto relativo quanto assoluto: $miofile=fopen( nomefile.txt, w ); // solo nome $miofile=fopen(./percorso/nomefile.txt, w ); //percorso relativo $miofile=fopen( /miosito/percorso/nomefile.txt, w ); //percorso assoluto Il parametro <modalità di apertura> indica il tipo di accesso richiesto per il flusso. Esso può essere: Elenco dei possibili valori usati da fopen() per il parametro modalità di apertura Descrizione 'r' Apre in sola lettura; posiziona il puntatore all'inizio del file. 'r+' Apre in lettura e scrittura; posiziona il puntatore all'inizio del file. 'w' Apre il file in sola scrittura; posiziona il puntatore all'inizio del file e il contenuto precedente viene perso. Se il file non esiste, tenta di crearlo. 'w+' Apre in lettura e scrittura; posiziona il puntatore all'inizio del file e il contenuto precedente viene perso.se il file non esiste, tenta di crearlo. 'a' Solo per aggiunta(modalità append). Apre in sola scrittura; posiziona il puntatore alla fine del file. Se il file non esiste, tenta di crearlo. 'a+' Per lettura e aggiunta. Apre in lettura e scrittura; posiziona il puntatore alla fine del file. Se il file non esiste, tenta di crearlo. 'x' Crea ed apre il file in sola scrittura; posiziona il puntatore all'inizio del file. Se il file esiste già la chiamata a fopen() fallirà restituendo FALSE e verrà generato un errore di lievllo E_WARNING. Se il file non esiste si tenterà di crearlo. Questo equivale a specificare i flag O_EXCL O_CREAT nella sottostante chiamata a open(2). Questa opzione è supportata a partire dalla versione di PHP, e funziona solo con i file locali.

2 Elenco dei possibili valori usati da fopen() per il parametro modalità di apertura Descrizione 'x+' Crea ed apre il file in lettura e scrittura; posiziona il puntatore all'inizio del file. Se il file esiste già la chiamata a fopen() fallirà restituendo FALSE e verrà generato un errore di lievllo E_WARNING. Se il file non esiste si tenterà di crearlo. Questo equivale a specificare i flag O_EXCL O_CREAT nella sottostante chiamata a open(2). Questa opzione è supportata a partire dalla versione di PHP, e funziona solo con i file locali. b Per trattare il file come file binario. Se non esiste non viene crato. Nota: Differenti famiglie di file system hanno differenti tipi di terminatori di riga. Quando si scrive un file di testo e si desidera inserire una interruzione di linea, occorre utilizzare il terminatore appropriato per il sistema operativo utilizzato. I sistemi basati su Unix utilizzano \n come terminatore di riga, i sistemi basati su Windows utilizzano \r\n mentre i sistemi Macintosh utilizzano \r. Per verificare se l apertura del file è andata a buon fine basta considerare il valore del puntatore: nel caso in cui il sistema operativo non fosse riuscito ad aprire il file, cioè a caricarne il descrittore, il motore php assegna il valore zero (false) alla variabile $miofile. Esempio di controllo durante l apertura di un file in php: $miofile=fopen( accessi.txt, r ); if (!miofile) die( il file non è stato aperto ); Dove die( stringa ) è una funzione di utilità del php che stampa la stringa e fa terminare lo script. Alternativamente, si può usare la funzione file_exists() per verificare se il file esiste. Creazione di un file Per creare un file bisogna utilizzare una delle modalità indicate con la tabella precedente. Possiamo dunque creare un file nel modo seguente: $nomefile= accessi.txt ; $idfile=fopen($nomefile, r+ ); if (!$idfile) die( il file $nomefile non è stato aperto<br> ); $msg= apertura file $nomefile<br> ; Else $idfile=fopen($nomefile, w+ ); if (!$idfile) die( il file $nomefile non è stato aperto<br> ); $msg= creazione file $nomefile<br> ;

3 Echo $idfile; Chiusura di un file:fclose() Al termine delle elaborazioni il file deve essere chiuso. Ciò è molto importante poiché un file aperto occupa risorse e appesantisce l elaborazione del server; è quindi necessario che il programmatore si ricordi di prevedere la chiusura dei file aperti il più frequentemente possibile. Ricordiamoci sempre che stiamo operando lato server e che gli utenti connessi possono essere numerosi, con conseguente moltiplicazione delle risorse in gioco e dei possibili conflitti. La funzione di chiusura viene richiamata indicando come parametro il puntatore relativo: fclose($miofile); Senza riprendere la teoria dei sistemi operativi sulla gestione delle risorse condivise, ci limitiamo ad alcune considerazioni intuitive: non bisogna avere sezioni interattive mantenendo aperto il file: è meglio riaprirlo e richiuderlo più volte piuttosto che mantenerlo aperto per più pagine; l informazione è la ricchezza del sistema e, appena generata, deve subito essere salvata su disco; le risorse condivise devono essere gestite in mutua esclusione. Solo la chiusura del file ci garantisce che le informazioni vengono scritte in modo persistente sul disco e le risorse vengono rilasciate per poter essere utilizzate da un altro utente o da un altro script: Scrittura e lettura di un file Scrittura di un file: fwrite() La funzione di scrittura ha due parametri : <identificatore del file> e <stringa da scrivere>. La funzione fwrite() restituisce il numero di byte che ha scritto oppure il valore -1 in caso di errore: naturalmente il file deve essere stato preventivamente aperto in una modalità che permetta la scrittura. Con il seguente codice:filescrittura.php $nomefile="accessi.txt"; $idfile=fopen($nomefile,'w+'); if (!$idfile) die("il file $nomefile non è stato aperto<br>"); $bytescritti=fwrite($idfile,"ali baba"); echo "$bytescritti <BR>"; $bytescritti=fwrite($idfile," e i 40 ladroni"); echo "$bytescritti <BR>"; Otteniamo : 8 15 Se vogliamo rileggere da un file i dati appena scritti, conviene prima chiudere il file (altrimenti la posizione corrente è il fondo del file) e quindi riaprirlo per leggerlo. Lettura di un file:fread()

4 Una volta aperto un file in una delle modalità che ci permette la lettura ( per esempio r ) e avendo quindi a disposizione il puntatore del file utilizziamo la funzione fread(). Essa ha due parametri: <identificatore del file> e <numero di byte da leggere>. Esempio: $nomefile="accessi.txt"; $idfile=fopen($nomefile,'w+'); if (!$idfile) die("il file $nomefile non è stato aperto<br>"); $bytescritti=fwrite($idfile,"ali baba"); echo "$bytescritti <BR>"; $bytescritti=fwrite($idfile," e i 40 ladroni"); echo "$bytescritti <BR>"; $idfile=fopen($nomefile,"r+"); $datiletti=fread($idfile,23); echo "$datiletti <BR>"; Otteniamo : 8 15 Ali baba e i 40 ladroni Possiamo ora affrontare un primo esempio completo che potrà venirci utile in seguito: scriviamo uno script per registrare il contatore di accessi. Filecontaaccessi.php <HTML> <HEAD> <TITLE>SEMPLICE CONTATORE ACCESSI</TITLE> </HEAD> <BODY> $nomefile="contatore.txt"; $idfile=fopen($nomefile,"r+");

5 $conta_accessi=(int) fread($idfile,10); else $idfile=fopen($nomefile,"w+"); $conta_accessi=0; //incremento del contatore accessi $conta_accessi++; $idfile=fopen($nomefile,"w+"); fwrite($idfile,$conta_accessi); echo($conta_accessi); </BODY> </HTML> Condivisione di un file Prima di proseguire nella trattazione della gestione dei file, è opportune fare un osservazione: in generale un file presente su un server ( per esempio quello che contiene il contatore di accessi), proprio per la sua funzione, cioè di essere incrementato a ogni accesso, verrà utilizzato da ogni utente, o meglio, da ogni processo associato a ogni utente che si collega al nostro sito. Ci troviamo in una tipica situazione di concorrenza, tanto descritta e studiata nel progetto dei sistemi operativi. Il nostro file è in questo caso la risorsa condivisa e va quindi definita una modalità di sincronizzazione per l accesso alla sezione critica: il meccanismo più semplice è quello della mutua esclusione, ossia fare in modo che un solo processo alla volta acceda alla risorsa condivisa. Php mette a disposizione dell utente il meccanismo di sincronizzazione basato sui semafori secondo primitive di lock e unlock. Ricordiamo le due regole fondamentali per la gestione di una regione critica in mutua esclusione: quando un processo accede in scrittura a una sezione critica, la risorsa deve essere allocata in modo esclusivo a tale processo (locked) ossia bloccata; se due (o più ) processi devono accedere in lettura a una sezione critica la risorsa può essere condivisa tra tali processi (shared) : condivisa. La funzione php che ci permette di implementare tale meccanismo è : flock(int fp, int modo) dove: fp è il puntatore al file; modo è un valore intero (come riportato in tabella). La funzione ritorna a un valore booleano che vale true se ha avuto successo, false in caso d errore.

6 Valore Costante predefinita Modalità Descrizione 1 LOCK_SH Condivisa- shared Per operazioni di lettura 2 LOCK_EX Esclusiva- locked Per operazioni di scrittura 3 LOCK_UN Unlock Rilascia la risorsa 4 LOCK_NB Disabilita il semaforo Realizza un lock non bloccante La funzione flock() ha bisogno del puntatore del file e quindi deve essere usata in combinazione con fopen(): contaaccessilock_ex.php $nomefile="contatore.txt"; //operazione di lettura $fp=fopen($nomefile,"r"); if (!$fp) die("il file $nomefile non è stato aperto <BR>"); flock($fp, LOCK_SH); //blocca il file condiviso $conta_accessi=(int) fread($fp,10); //operazione di lettura echo "$conta_accessi"; flock($fp,lock_un); // sblocca il file fclose($fp); Diversamente nel file successivo vediamo il blocco di un file esclusivo in scrittura: scriviaccessilock_shelockex.php $nomefile="contatore.txt"; //operazione di LETTURA $fp=fopen($nomefile,"r"); if (!$fp) die("il file $nomefile non è stato aperto <BR>"); flock($fp, LOCK_SH); //blocca il file CONDIVISO $conta_accessi=(int) fread($fp,10); //operazione di lettura echo "$conta_accessi"; flock($fp,lock_un); // sblocca il file fclose($fp); // OPERAZIONE DI SCRITTURA $conta_accessi++; $fp=fopen($nomefile,"r+"); if (!$fp) die("il file $nomefile non è stato aperto <BR>");

7 flock($fp,lock_ex); //blocca il file ESCLUSIVO fwrite($fp,$conta_accessi); flock($fp,lock_un); // sblocca il file fclose($fp); echo($conta_accessi); Accesso sequenziale di un file Lettura sequenziale di un file: fgetc() e feof() Abbiamo visto come leggere da un file gruppi di caratteri; descriviamo ora nei dettagli la più semplice modalità di accesso al file: la lettura sequenziale, cioè lo scorrimento del file carattere per carattere dalla prima posizione all ultima. Prima di tutto è indispensabile essere in grado di riconoscere quando siamo arrivato all ultima posizione. Per controllare il raggiungimento della fine del file, il linguaggio php offre la funzione feof(<identificatore del file>). Questa funzione accetta come parametro il puntatore del file e restituisce un valore booleano che vale true se la posizione corrente è la fine del file, false altrimenti. Un altra funzione che ci permette di controllare il raggiungimento della fine del file è fgetc(<identificatore file>) :essa ci restituisce il carattere presente alla posizione corrente sul file, oppure il valore booleano false quando si è raggiunta la fine del file ( si noti che la condizione di fine è proprio inverso di quella della funzione feof(). Con fgetc() si può simultaneamente leggere il file e controllarne la condizione di terminazione, facendo attenzione solo ai casi in cui il carattere letto ( per esempio uno zero) equivale al valore booleano false. Nell ipotesi di aver approntato un file dati.txt contenente il testo ali baba e i 40 ladroni, otteniamo la stampa alibabaei40, in quanto incontra lo zero e la funzione fgetc() interpreta come fine file tale valore. Esempio di file : sequenza.php $nomefile="dati.txt"; $idfile=fopen($nomefile,"r"); $msg="contenuto del file $nomefile <BR>"; do $un_carattere=fgetc($idfile); echo "$un_carattere "; while ($un_carattere); else

8 $msg="il file $nomefile non esiste <BR>"; Modifichiamo l esercizio, utilizzando la funzione feof() e fread() al posto di fgetc(). E verifichiamo che a questo punto stampa la stringa completa alibabaei40ladroni. Esempio : sequenza2.php $nomefile="dati.txt"; $idfile=fopen($nomefile,"r"); $msg="contenuto del file $nomefile <BR>"; while (!feof($idfile)) $un_carattere=fread($idfile,1); echo "$un_carattere "; else $msg="il file $nomefile non esiste <BR>"; Altre due funzioni utili per l accesso sequenziale sono fgets() e fputs(). Esse servono per leggere e scrivere rispettivamente una stringa di N caratteri in un file. Posizionamento diretto all interno di un file. La seconda modalità di accesso ai dati dei file è l accesso casuale, che non significa accesso a caso ma accesso in una qualunque posizione del file (è detto anche accesso diretto). La funzione che permette di posizionarsi in un punto qualsiasi del file è : fseek(). La funzione fseek() accetta due parametri: <identificatore del file> e <offset>

9 Il secondo parametro offset rappresenta la nuova posizione corrente, espressa in numero di byte dall inizio del file. Per esempio con il file diretto1.php si ottiene il seguente risultato ali baba e baba e i 4 $nomefile="dati.txt"; $idfile=fopen($nomefile,"r"); $datiletti=fread($idfile,10); echo "$datiletti <BR>"; $datiletti=fseek($idfile,4); $datiletti=fread($idfile,10); echo "$datiletti <BR>"; else $msg="il file $nomefile non esiste <BR>";

Gestione dei File. dischi nastri cd

Gestione dei File. dischi nastri cd Gestione dei File Per mantenere disponibili i dati tra le diverse esecuzioni di un programma, questi si devono archiviare in file su memoria di massa (dati persistenti): dischi nastri cd Un file è un astrazione

Dettagli

Struttura dati FILE. Concetto di FILE

Struttura dati FILE. Concetto di FILE Struttura dati FILE Concetto di FILE Per poter mantenere disponibili dei dati tra diverse esecuzioni di un programma (PERSISTENZA dei dati), è necessario poterli archiviare su memoria di massa. Un file

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: interagire con i file Pasqualetti Veronica Apertura file Quando si apre un file, bisogna specificare le seguenti informazioni: Se lo si vuole aprire in sola lettura, in sola scrittura, o in lettura

Dettagli

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni Array e WHILE Array nelle Stringhe Si può utilizzare il anche costrutto while insieme alle istruzioni each e list nella condizione: while(list($indice,$valore)=each($mio_array)) { echo $Indice - $Valore

Dettagli

I Socket in PHP. Introduzione. Gestione degli errori nei socket. Funzioni socket di PHP. (manuale PHP)

I Socket in PHP. Introduzione. Gestione degli errori nei socket. Funzioni socket di PHP. (manuale PHP) I Socket in PHP (manuale PHP) Introduzione Questa estensione implementa una interfaccia a basso livello verso i socket, fornendo la possibilità di agire sia come server sia come client. Per l'utilizzo

Dettagli

BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard)

BOZZA. cin per la comunicazione dal dispositivo di input standard, la tastiera, al programma (stream di input standard) Capitolo 6 Input/output su file BOZZA 6.1 Stream e file L input/output in C ++, in particolare quello su file, avviene tramite stream. stream. Uno stream è un astrazione di un canale di comunicazione,

Dettagli

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C

OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files

Dettagli

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

SISTEMI OPERATIVI. Sincronizzazione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 30/05/2007 2007 SISTEMI OPERATIVI Sincronizzazione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 30/05/2007 Sincronizzazione dei processi 1. Si descrivano i tipi di interazione tra processi?

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura

Struttura a record. File ad accesso diretto. Modalità di apertura. Modalità di apertura Struttura a record 2 File ad accesso diretto Il file è organizzato in record aventi tutti la stessa struttura e quindi dimensione record 0 record 1 record 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

Dettagli

INTERAZIONE CON L UTENTEL

INTERAZIONE CON L UTENTEL IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

PHP. Indice. PHP: Hypertext Preprocessor. Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo

PHP. Indice. PHP: Hypertext Preprocessor. Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo PHP PHP: Hypertext Preprocessor Indice Introduzione Sintassi Fondamentale Tipi Variabili Costanti Operatori Strutture di controllo Funzioni Form Cookie Sessione File 1 Introduzione PHP è un linguaggio

Dettagli

Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file

Fondamenti di Informatica. Tecniche di input/output per l'accesso ai file Corso di per il corso di Laurea di Ingegneria Meccanica Tecniche di input/output per l'accesso ai file Università degli Studi di Udine - A.A. 2010-2011 Docente Ing. Sandro Di Giusto Ph.D. 1 L'importanza

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Sistemi Operativi. Organizzazione logica ed implementazione di un File System Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Organizzazione logica ed implementazione di un File

Dettagli

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO INTERFACCE TESTUALI INTERFACCE TESTUALI FUNZIONI DEL SISTEMA OPERATIVO INTERFACCE GRAFICHE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date

Costruzione di Siti Web con PHP e MySQL. Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Costruzione di Siti Web con PHP e MySQL Lezione 5: Cicli, Funzioni, Operazioni con Stringhe e Date Argomenti della lezione In questa lezione si riprenderanno le strutture di controllo, verrà introdotto

Dettagli

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

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

Tibet4DExt. Manuale Utente. Un Plug-in 4 th Dimension per accedere agli archivi di Tibet in linea. (Versione 1.7.x)

Tibet4DExt. Manuale Utente. Un Plug-in 4 th Dimension per accedere agli archivi di Tibet in linea. (Versione 1.7.x) Tibet4DExt Un Plug-in 4 th Dimension per accedere agli archivi di Tibet in linea (Versione 1.7.x) Manuale Utente Capitolo 1, Informazioni Generali Informazioni generali su Tibet4DExt Il plug-in Tibet4DExt

Dettagli

Fondamenti di Informatica T. Linguaggio C: File

Fondamenti di Informatica T. Linguaggio C: File Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.

Dettagli

Matlab: Gestione avanzata dei file

Matlab: Gestione avanzata dei file Matlab: Gestione avanzata dei file Informatica B File 2 Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare ad esistere indipendentemente dalla vita del programma

Dettagli

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

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

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Siti web e Dreamweaver. La schermata iniziale

Siti web e Dreamweaver. La schermata iniziale Siti web e Dreamweaver Dreamweaver è la soluzione ideale per progettare, sviluppare e gestire siti web professionali e applicazioni efficaci e conformi agli standard e offre tutti gli strumenti di progettazione

Dettagli

Lezione II: Web server e ambiente di lavoro

Lezione II: Web server e ambiente di lavoro Lezione II: Web server e ambiente di lavoro In questa lezione, in laboratorio, si mostrerà quali sono i passi necessari per creare ed eseguire una pagina ASP. Brevemente, verrà fatto anche vedere, come

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni. Goy - a.a. 2012/2013 Programmazione Web 1 MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.c Cookies e sessioni Goy - a.a. 2012/2013 Programmazione Web 1 Cookie - I Cookie = variabili che il server salva (*) sul client come file

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

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

SISTEMI OPERATIVI 14 settembre 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 14 settembre 2015 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale

Dettagli

File I/O. M. R. Guarracino: File I/O 1

File I/O. M. R. Guarracino: File I/O 1 File I/O M. R. Guarracino: File I/O 1 File I/O Gran parte delle operazioni su file in ambiente UNIX possono essere eseguite utilizzando solo cinque funzioni: open read write lseek close M. R. Guarracino:

Dettagli

Sistemi Operativi. Lezione 7 Comunicazione tra processi

Sistemi Operativi. Lezione 7 Comunicazione tra processi Lezione 7 Comunicazione tra processi Introduzione La soluzione sw al problema della mutua esclusione è abbastanza complessa Algoritmo di Peterson La soluzione hw mediante disabilitazione degli interrupt

Dettagli

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

SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale didattico,

Dettagli

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

File system. Chiamate di sistema POSIX Esempi: Chiamate di sistema Windows Esempio: Esercizi. 4.3 BSD Linux NTFS. Sistemi Operativi mod B 12.

File system. Chiamate di sistema POSIX Esempi: Chiamate di sistema Windows Esempio: Esercizi. 4.3 BSD Linux NTFS. Sistemi Operativi mod B 12. File system Chiamate di sistema POSIX Esempi: 4.3 BSD Linux Chiamate di sistema Windows Esempio: NTFS Esercizi 12.1 Le chiamate di sistema di UNIX per file UNIX mette a disposizione sia chiamate di sistema

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag