File e Directory. M. Guarracino - File e Directory 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "File e Directory. M. Guarracino - File e Directory 1"

Transcript

1 File e Directory M. Guarracino - File e Directory 1

2 File e Directory Abbiamo visto come si possono utilizzare funzioni di I/O per i file: open, read, write, lseek e close Vogliamo ora analizzare ulteriori caratteristiche del filesystem e proprietà dei file La struttura che contiene gli attributi dei file è stat Esamineremo ciascun membro di stat e le funzioni che operano su tali attributi; analizzeremo quindi le funzioni che operano su file e directory M. Guarracino - File e Directory 2

3 File e Directory (cont.) La gran parte dei file che risiedono in un filesystem sono file di dati regolari, ma ci sono anche altri tipi di file: file speciali a caratteri file speciali a blocchi FIFO socket link simbolici Il kernel di Unix non fa distinzione tra file di testo e binari Come possiamo ottenere quest informazione? M. Guarracino - File e Directory 3

4 Funzioni stat fstat lstat #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int int stat stat (const char *file_name, struct stat *buf); int int fstat (int (int filedes, struct stat *buf); int int lstat (const char *file_name, struct stat *buf); Queste funzioni ritornano informazioni sul file Non è necessario avere permessi di lettura sul file, per accedere a queste informazioni I permessi necessari sono di ricerca su tutte le directory nominate nel path M. Guarracino - File e Directory 4

5 Funzioni stat fstat lstat #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int int stat stat (const char *file_name, struct stat *buf); int int fstat (int (int filedes, struct stat *buf); int int lstat (const char *file_name, struct stat *buf); stat fstat lstat ritorna informazioni sul file file_name ritorna informazioni sul file aperto sul descrittore fildes ritorna informazioni sul link simbolico, non sul file puntato da esso M. Guarracino - File e Directory 5

6 La struttura stat struct stat { dev_t st_dev; /* device */ ino_t st_ino; /* inode */ mode_t st_mode; /* file type & protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device type (if inode device) */ off_t st_size; /* total size, in bytes */ unsigned long st_blksize; /* blocksize for filesystem I/O */ unsigned long st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ }; time_t st_ctime; /* time of last change */ M. Guarracino - File e Directory 6

7 Tipi di file struct stat { dev_t st_dev; /* device */ ino_t st_ino; /* inode */ mode_t st_mode; /* file type & protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device type (if inode device) */ off_t st_size; /* total size, in bytes */ unsigned long st_blksize; /* blocksize for filesystem I/O */ unsigned long st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ }; time_t st_ctime; /* time of last change */ M. Guarracino - File e Directory 7

8 Tipi di file (cont.) L'informazione sul tipo di file si trova nel membro st_mode della struttura stat Per determinare il tipo di file si utilizzano le seguenti macro, definite in <sys/stat.h> S_ISLNK( ) S_ISREG( ) S_ISDIR( ) symbolic link regular file directory S_ISCHR( ) character device S_ISBLK( ) block device S_ISFIFO( ) FIFO* S_ISSOCK( ) socket* M. Guarracino - File e Directory 8 *Non POSIX

9 #include <sys/types.h> #include <sys/stat.h> #include "ourhdr.h" Esempio int main(int argc, char *argv[]) { int i; struct stat buf; char *ptr; #ifdef #endif } for (i = 1; i < argc; i++) { printf("%s: ", argv[i]); if (lstat(argv[i], &buf) < 0) { } S_ISSOCK } exit(0); err_ret("lstat error"); continue; if (S_ISREG(buf.st_mode)) ptr = "regular"; else if (S_ISSOCK(buf.st_mode)) ptr = "socket"; else ptr = "** unknown mode **"; printf("%s\n", ptr); M. Guarracino - File e Directory 9

10 Permessi di accesso ai file Come si è visto, st_mode contiene l'informazione relativa al tipo di file (regular file, directory,...) Il valore di st_mode codifica anche i bit di permesso di accesso ai file. S_IRUSR owner read S_IWUSR owner write S_IXUSR owner execute S_IRGRP group read S_IWGRP group write S_IXGRP group execute S_IROTH others read S_IWOTH others write S_IXOTH others execute M. Guarracino - File e Directory 10

11 Permessi e creazione dei file #include <sys/types.h> #include <sys/stat.h> mode_t umask(mode_t mask); La funzione umask viene utilizzata da open e creat per assegnare i permessi ad un file creato Ad esempio, se il valore di default di umask viene inizializzato a 022, un nuovo file creato con permessi 666 avrà 666 & ~ 022 = 644 = r w - r - - r - - La funzione ritorna il valore precedente della maschera di creazione (mode creation mask) dei file. M. Guarracino - File e Directory 11

12 Esempio #include #include #include #include <sys/types.h> <sys/stat.h> <fcntl.h> "ourhdr.h" int main(void) { umask(0); if (creat("foo", S_IRUSR S_IWUSR S_IRGRP S_IWGRP S_IROTH S_IWOTH) < 0) err_sys("creat error for foo"); umask(s_irgrp S_IWGRP S_IROTH S_IWOTH); if (creat("bar", S_IRUSR S_IWUSR S_IRGRP S_IWGRP S_IROTH S_IWOTH) < 0) err_sys("creat error for bar"); exit(0); } M. Guarracino - File e Directory 12

13 Funzioni chmod fchmod #include <sys/types.h> #include <sys/stat.h> int int chmod (const char *path, mode_t mode); int int fchmod (int fildes, mode_t mode); Queste funzioni permettono di cambiare i permessi di accesso ad un file M. Guarracino - File e Directory 13

14 #include #include #include int main(void) { struct stat <sys/types.h> <sys/stat.h> "ourhdr.h" statbuf; Esempio /* set absolute mode to "rw-r--r--" */ if (chmod("bar", S_IRUSR S_IWUSR S_IRGRP S_IROTH) < 0) err_sys("chmod error for bar"); /* turn on set-group-id and turn off group-execute */ if (stat("foo", &statbuf) < 0) err_sys("stat error for foo"); if (chmod("foo", (statbuf.st_mode & ~S_IXGRP) S_ISGID) < 0) err_sys("chmod error for foo"); exit(0); } M. Guarracino - File e Directory 14

15 User ID e Group ID struct stat { dev_t st_dev; /* device */ ino_t st_ino; /* inode */ mode_t st_mode; /* file type & protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device type (if inode device) */ off_t st_size; /* total size, in bytes */ unsigned long st_blksize; /* blocksize for filesystem I/O */ unsigned long st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ }; time_t st_ctime; /* time of last change */ M. Guarracino - File e Directory 15

16 Funzioni chown fchown lchown #include <sys/types.h> #include <unistd.h> int int chown (const char *path, uid_t owner, gid_t group); int int fchown (int fd, fd, uid_t owner, gid_t group); int int lchown (const char *path, uid_t owner, gid_t group); Tali funzioni permettono di cambiare lo user ID ed il group ID di un file Solo il superutente può modificarne il proprietario Un utente può solo modificarne il gruppo, con uno tra quelli supplementari a cui appartiene M. Guarracino - File e Directory 16

17 Set UID e Set GID A ciascun processo vengono associati i seguenti identificativi: real user ID e real group ID identificano l'utente effective user ID, effective group ID, e supplementary group ID determinano i permessi di accesso ai file saved set-user-id e saved set-group-id contengono copia dell effective user ID e effective group ID di un programma in esecuzione M. Guarracino - File e Directory 17

18 Set UID e Set GID Ogni file ha un proprietario ed un gruppo che lo possiede Tali informazioni si trovano in st_uid e st_gid di stat Quando si lancia un programma, questo viene eseguito con i permessi di chi lo manda in esecuzione, non di chi lo possiede Si può inizializzare un flag in st_mode in modo che, quando un determinato file di programma viene eseguito, l'effective user ID del processo sia quello di chi possiede il file. Tale flag è detto set-user-id flag. M. Guarracino - File e Directory 18

19 Esempio [mariog]$ ls -la /usr/bin/passwd -r-s--x--x 3 root sys Dec /usr/bin/passwd [mariog]$ passwd (Ctrl Z) [1]+ Stopped passwd [mariog]$ ps -efa grep passwd root :32:52 pts/2 0:00 passwd mariog :33:02 pts/2 0:00 grep passwd [mariog]$ M. Guarracino - File e Directory 19

20 Set UID e Set GID Analogamente è possibile mandare in esecuzione un processo con un effective group ID uguale a quello del file di programma Il relativo flag è detto set-group-id flag Se il set-group-id è applicato ad una directory, i file creati in quella directory ereditano il group ID dalla directory, non dall'effective group ID del processo che li ha creati S_ISUID S_ISGID set UID bit set GID bit S_ISVTX sticky bit M. Guarracino - File e Directory 20

21 Esempio [mariog]$ uname -a SunOS 5.6 Generic_ sun4u sparc SUNW,Ultra-4 [mariog]$ umask 0 [mariog]$ touch prova [mariog]$ ls -la prova -rw-rw-rw- 1 mariog math 0 Dec 5 09:24 prova [mariog]$ chmod 7744 prova [mariog]$ ls -la prova -rwsr-lr-- 1 mariog math 0 Dec 5 09:24 prova [mariog]$ M. Guarracino - File e Directory 21

22 Esempio [mariog]$ uname -a Linux deneb #1 Tue Aug 22 16:49:06 EDT 2000 i686 [mariog]$ umask 022 [mariog]$ touch prova [mariog]$ ls -la prova -rw-r--r-- 1 mariog users 0 Dec 5 09:14 prova [mariog]$ chmod 7744 prova [mariog]$ ls -la prova -rwsr-sr-t 1 mariog users 0 Dec 5 09:14 prova [mariog]$ M. Guarracino - File e Directory 22

23 Grandezza dei file struct stat { dev_t st_dev; /* device */ ino_t st_ino; /* inode */ mode_t st_mode; /* file type & protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device type (if inode device) */ off_t st_size; /* total size, in bytes */ unsigned long st_blksize; /* blocksize for filesystem I/O */ unsigned long st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ }; time_t st_ctime; /* time of last change */ M. Guarracino - File e Directory 23

24 Grandezza dei file Il membro st_size di stat contiene la grandezza in byte del file. Ha senso solo per file regolari, directory e link simbolici Se presenti, st_blksize e st_blocks si riferiscono rispettivamente al migliore fattore di blocco per eseguire operazioni di I/O sul file e al numero di blocchi da 512 byte allocati per il file La libreria standard del C utilizza tale fattore di blocco per eseguire le operazioni su file M. Guarracino - File e Directory 24

25 Troncamento #include <unistd.h> int inttruncate (const char *path, off_t length); int int ftruncate (int fd, fd, off_t length); Queste funzioni troncano un file esistente a length byte Se il file ha meno di length byte, il comportamento della funzione dipende dall'implementazione Per troncare un file è preferibile copiarne solo la parte desiderata M. Guarracino - File e Directory 25

26 Filesystem M. Guarracino - File e Directory 26

27 Filesystem M. Guarracino - File e Directory 27

28 Link hard e simbolici struct stat { dev_t st_dev; /* device */ ino_t st_ino; /* inode */ mode_t st_mode; /* file type & protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device type (if inode device) */ off_t st_size; /* total size, in bytes */ unsigned long st_blksize; /* blocksize for filesystem I/O */ unsigned long st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ }; time_t st_ctime; /* time of last change */ M. Guarracino - File e Directory 28

29 Link hard e simbolici E' possibile che due directory puntino allo stesso i-node (hard link). Ciascun i-node ha un contatore che contiene il numero di directory che puntano all'i-node. Solo quando il contatore è 0, i blocchi associati al file possono essere rilasciati Un link simbolico è un file in cui è memorizzato il nome di un file, a cui punta il link M. Guarracino - File e Directory 29

30 Esempio lrwxrwxrwx 1 mariog user 17 Mar 20 22:42 zzz -> /users/mariog/tmp zzz è un file in cui i 17 byte di dati contengono /users/mariog/tmp (non viene memorizzato il carattere di terminazione) Non è possibile che una directory punti ad un i-node al di fuori del filesystem a cui appartiene M. Guarracino - File e Directory 30

31 Funzioni link E' possibile far puntare più directory all'i-node di un file La maniera per creare un hard link ad un file esistente è quella di usare la funzione link Solo il superutente può creare gli hard link #include <unistd.h> int intlink (const char *oldpath, const char *newpath); Alcune implementazioni richiedono che oldpath e newpath risiedano nello stesso filesystem. M. Guarracino - File e Directory 31

32 Funzioni unlink Per rimuovere un elemento dalla tabella della directory si utilizza la funzione unlink #include <unistd.h> int intunlink (const char *pathname); La funzione decrementa il numero di link del file puntato da pathname. Il file risulta ancora accessibile, se il numero di link è non nullo. M. Guarracino - File e Directory 32

33 Funzioni unlink Quando il numero di link del file è 0, il contenuto del file può essere cancellato Ciò non accade se un processo ha aperto il file Quando il file viene chiuso, il kernel conta il numero di processi che hanno aperto il file: se questo è zero ed il numero di link del file è zero, allora il file è cancellato Tale proprietà viene utilizzata per creare file accessibili solo da un determinato processo. M. Guarracino - File e Directory 33

34 Link Simbolici I link simbolici sono servono per aggirare il fatto che 1. un hard link non può essere fatto tra filesystem differenti 2. solo il superutente può creare un link tra directory Non ci sono limitazioni di filesystem per i link simbolici e qualsiasi utente può crearli. Essi sono normalmente utilizzati per spostare un file o un intero sottoalbero in un'altra posizione nel filesystem. M. Guarracino - File e Directory 34

35 Esempio temp [mariog]$ mkdir temp [mariog]$ touch temp/a test a [mariog]$ ln -s../temp temp/test [mariog]$ ls -l temp total 0 -rw-rw-r-- 1 mariog user 44 Mar 19 18:30 a lrwxrwxrwx 1 mariog user 7 Mar 19 18:31 test ->../temp [mariog]$ M. Guarracino - File e Directory 35

36 Funzioni symlink readlink #include <unistd.h> int int symlink (const char *oldpath, const char *newpath); int int readlink (const char *path, char *buf, size_t bufsiz); symlink viene utilizzata per creare un link simbolico. Non è necessario che oldpath esista Per leggere un link simbolico, è necessario utilizzare readlink, che apre il link, legge il contenuto e lo chiude Il contenuto del link è posto in buf, senza carattere di terminazione M. Guarracino - File e Directory 36

37 Sommario Abbiamo visto in dettaglio la struttura stat Abbiamo analizzato gli attributi dei file Unix e le funzioni che ci permettono di eseguire operazioni su di essi M. Guarracino - File e Directory 37

Gestione di File e Directory

Gestione di File e Directory Gestione di File e Directory Duplicazione di file descriptor Un file descriptor puo' essere duplicato utilizzando: int dup (int filedes); int dup2(int filedes, int filedes2); dup restituisce un file descriptor

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi II Semestre - Marzo/Giugno 2008 Matricole congr. 0 mod 3 File & Directory #include #include stat,fstat e lstat int stat (const char *pathname, struct stat *buf); int fstat (int

Dettagli

CREAZIONE DI UN FILE

CREAZIONE DI UN FILE #include #include CREAZIONE DI UN FILE fd = creat(filename, mode); int fd, mode; char *filename; La primitiva creat crea un file, se non ne esiste uno col nome specificato, oppure

Dettagli

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it Chiamate di sistema per la Inter Process Communication (IPC) in POSIX E.Mumolo, DEEI mumolo@units.it Pipe Cos'è un pipe? E' un canale di comunicazione che unisce due processi Caratteristiche: La più vecchia

Dettagli

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it Introduzione ai Device Drivers in Linux E.Mumolo, DEEI mumolo@units.it 1 Device Drivers Moduli software che gestiscono le periferiche attraverso il file system Tutte le periferiche sono viste come file

Dettagli

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

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

L'ambiente UNIX: primi passi

L'ambiente UNIX: primi passi L'ambiente UNIX: primi passi Sistemi UNIX multiutente necessità di autenticarsi al sistema procedura di login Login: immissione di credenziali username: nome identificante l'utente in maniera univoca password:

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Verifica che una grammatica sia Context Free nel GrammaReader

Verifica che una grammatica sia Context Free nel GrammaReader Verifica che una grammatica sia Context Free nel GrammaReader Sommario Dispensa di Linguaggi di Programmazione Corrado Mencar Pasquale Lops In questa dispensa si descrivono alcune soluzioni per verificare

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication C. Baroglio a.a. 2002-2003 1 Introduzione In Unix i processi possono essere sincronizzati utilizzando strutture dati speciali, appartenti al pacchetto IPC (inter-process communication).

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Socket per TCP: Fondamenti

Socket per TCP: Fondamenti Socket per TCP: Fondamenti Network Applications Molte applicazioni di rete sono formate da due programmi distinti (che lavorano su due diversi host) uno detto server ed uno detto client. Il server si mette

Dettagli

OS X come piattaforma di analisi : Diskarbitrationd

OS X come piattaforma di analisi : Diskarbitrationd Maurizio Anconelli OS X come piattaforma di analisi : Diskarbitrationd Con la crescente diffusione sui desktop di giovani e professionisti, il sistema operativo della mela morsicata inizia a rivestire

Dettagli

RSYNC e la sincronizzazione dei dati

RSYNC e la sincronizzazione dei dati RSYNC e la sincronizzazione dei dati Introduzione Questo breve documento intende spiegare come effettuare la sincronizzazione dei dati tra due sistemi, supponendo un sistema in produzione (master) ed uno

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

I Metacaratteri della Shell Unix

I Metacaratteri della Shell Unix I Metacaratteri della Shell Unix La shell Unix riconosce alcuni caratteri speciali, chiamati metacaratteri, che possono comparire nei comandi. Quando l utente invia un comando, la shell lo scandisce alla

Dettagli

Creare una applicazione Winsock di base

Creare una applicazione Winsock di base Creare una applicazione Winsock di base Usiamo le API Winsock incluse in Creare un progetto per una Socket Windows (in Dev C++) Selezionare la file New Projects Selezionare Empty Project Salvare

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 2ª) ver. Classe 3BN (elettronica) marzo 22 Giorgio Carpignano I.I.S. Primo LEVI - TORINO Il menù per oggi Lettura dei pulsanti Comunicazione

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

Interazione, sincronizzazione e comunicazione tra processi

Interazione, sincronizzazione e comunicazione tra processi Interazione, sincronizzazione e comunicazione tra processi Classificazione Processi interagenti processi interagenti/indipendenti due processi sono indipendenti se l esecuzione di ognuno non è in alcun

Dettagli

La protezione dai memory error exploit

La protezione dai memory error exploit Università degli Studi di Milano Sommario Introduzione 1 Stack Guard Terminator Canaries Random Canaries 2 3 Buffer Overflow Stack Guard Introduzione Buffer Overflow Condizione anomala. Memorizzazione

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

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

Dettagli

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi I semestre 03/04 Inidirizzi IP e Nomi di Dominio Domain Name System Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Analisi di sistemi compromessi (ricerca di rootkit, backdoor,...)

Analisi di sistemi compromessi (ricerca di rootkit, backdoor,...) Analisi di sistemi compromessi (ricerca di rootkit, backdoor,...) Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161

Dettagli

APPLICAZIONI SU PIU FILE

APPLICAZIONI SU PIU FILE APPLICAZIONI SU PIU FILE Serve poter sviluppare applicazioni su piú file: - alcune funzioni e alcune definizioni di dati in un file - altre funzioni e dati in file diversi Perché?? 1. Se il programma è

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

Ricerca sequenziale di un elemento in un vettore

Ricerca sequenziale di un elemento in un vettore Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna

Dettagli

GARR WS9. OpenSource per l erogazione di servizi in alta disponibilità. Roma 17 giugno 2009

GARR WS9. OpenSource per l erogazione di servizi in alta disponibilità. Roma 17 giugno 2009 GARR WS9 OpenSource per l erogazione di servizi in alta disponibilità Roma 17 giugno 2009 Mario Di Ture Università degli Studi di Cassino Centro di Ateneo per i Servizi Informatici Programma Cluster Linux

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Routing (instradamento) in Internet Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Stub AS: istituzione piccola Multihomed AS: grande istituzione (nessun ( transito Transit AS: provider

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

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Modulo 2 - Appendice 3 L'editor vi e cenni su sed

Modulo 2 - Appendice 3 L'editor vi e cenni su sed 1 Modulo 2 - Appendice 3 L'editor vi e cenni su sed Laboratorio di Sistemi Operativi I Anno Accademico 2008-2009 Copyright 2005-2007 Francesco Pedullà, Massimo Verola Copyright 2001-2005 Renzo Davoli,

Dettagli

Test di comunicazione tra due LOGO! 0BA7: Master - Master

Test di comunicazione tra due LOGO! 0BA7: Master - Master Industry Test di comunicazione tra due LOGO! 0BA7: Master - Master Dispositivi utilizzati: - 2 LOGO! 0BA7 (6ED1 052-1MD00-0AB7) - Scalance X-208 LOGO! 0BA7 Client IP: 192.168.0.1 LOGO! 0BA7 Server IP:

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

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

Dettagli

Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk. by Gassi Vito info@gassielettronica.com

Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk. by Gassi Vito info@gassielettronica.com Creare una pen drive bottabile con Zeroshell oppure installarlo su hard disk by Gassi Vito info@gassielettronica.com Questa breve guida pratica ci consentirà installare Zeroshell su pen drive o schede

Dettagli

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma Dev C++ Note di utilizzo 1 Prerequisiti Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma 2 1 Introduzione Lo scopo di queste note è quello di diffondere la conoscenza

Dettagli

Lezione 15 File System

Lezione 15 File System Lezione 15 File System Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2014/2015 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi

Dettagli

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test Prefazione, Contenuto Parte 1: Sviluppo di programmi Parte 2: Uso e test SIMATIC Parte 3: Descrizione del linguaggio Programmazione di blocchi Appendici Glossario, Indice analitico Manuale Numero di ordinazione

Dettagli

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo Corso di Laurea Triennale in Informatica Università degli Studi di Bari Aldo Moro Anno Accademico 2012-2013 Lez. 8 : Il Livello di Sistema Operativo Sebastiano Pizzutilo Strutturazione del Sistema Operativo

Dettagli

Visibilità dei Membri di una Classe

Visibilità dei Membri di una Classe Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce

Dettagli

Manuale di Okteta. Friedrich W. H. Kossebau Alex Richardson Traduzione della documentazione: Federico Zenith

Manuale di Okteta. Friedrich W. H. Kossebau Alex Richardson Traduzione della documentazione: Federico Zenith Friedrich W. H. Kossebau Alex Richardson Traduzione della documentazione: Federico Zenith 2 Indice 1 Introduzione 6 2 Fondamentali 7 2.1 Avviare Okteta........................................ 7 2.2 Uso..............................................

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT Introduzione Un file batch è un file di testo di tipo ASCII che contiene una sequenza di comandi DOS. I file batch devono avere estensione.bat I comandi DOS all interno dei programmi batch sono eseguiti

Dettagli

1.1.1 ATLAS Postazione Studente : CONFIGURAZIONE DI ATLAS CON CLIENT LINUX

1.1.1 ATLAS Postazione Studente : CONFIGURAZIONE DI ATLAS CON CLIENT LINUX 1.1.1 ATLAS Postazione Studente : CONFIGURAZIONE DI ATLAS CON CLIENT LINUX Configurazione di Atlas con client Linux DESCRIZIONE Di seguito sono descritte le operazioni da effettuare per configurare correttamente

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Problem solving avanzato

Problem solving avanzato Problem solving avanzato Formulazione del problema Struttura dati e algoritmo Il programma 2 26 Politecnico di Torino 1 Dati in input (1/4) Sono dati due file di testo, contenenti le informazioni sulle

Dettagli

Indirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili

Indirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili Indirizzo di una funzione 2 Puntatori a funzioni Ver. 2.4 Si può chiamare una funzione utilizzando l indirizzo di memoria dal quale inizia il codice eseguibile della funzione stessa L indirizzo di memoria

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,

Dettagli

DEFT Zero Guida Rapida

DEFT Zero Guida Rapida DEFT Zero Guida Rapida Indice Indice... 1 Premessa... 1 Modalità di avvio... 1 1) GUI mode, RAM preload... 2 2) GUI mode... 2 3) Text mode... 2 Modalità di mount dei dispositivi... 3 Mount di dispositivi

Dettagli

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero ---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Test installazione XEN su black

Test installazione XEN su black Test installazione XEN su black andrea 10 giu 2010 v.1.2 Installare un sistema minimale con le seguenti partizioni /boot 256Mb ext2 (boot macchina host) / 10GB ext3 (/ macchina host) swap 2 GB (macchina

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale. l Editor vi Negli ambienti Unix esistono molti editor di testo diversi; tuttavia vi è l unico che siamo sicuri di trovare in qualsiasi variante di Unix. vi (visual editor) è stato scritto per essere utilizzabile

Dettagli

Le Stringhe. Un introduzione operativa. Luigi Palopoli

Le Stringhe. Un introduzione operativa. Luigi Palopoli Le Stringhe p.1/19 Le Stringhe Un introduzione operativa Luigi Palopoli ReTiS Lab - Scuola Superiore S. Anna Viale Rinaldo Piaggio 34 Pontedera - Pisa Tel. 050-883444 Email: palopoli@sssup.it URL: http://feanor.sssup.it/

Dettagli

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012 Marco Giorgi Palazzo di Giustizia di Torino 30 marzo 2012 Post mortem (Dopo lo spegnimento del sistema) Si smonta il dispositivo e lo si collega ad un PC dedicato all'acquisizione Live forensics (Direttamente

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

Amministrazione di un Sistema UNIX in Rete

Amministrazione di un Sistema UNIX in Rete UNIVERSITÀ DI PISA FACOLTÀ DI INGEGNERIA Amministrazione di un Sistema UNIX in Rete A cura di Giuseppe Anastasi Andrea Passarella Anno Accademico 2006-07 1 Indice 1 I sistemi UNIX... 7 1.1 Componenti del

Dettagli

MANUALE DOS INTRODUZIONE

MANUALE DOS INTRODUZIONE MANUALE DOS INTRODUZIONE Il DOS è il vecchio sistema operativo, che fino a qualche anno fa era il più diffuso sui PC, prima dell avvento di Windows 95 e successori. Le caratteristiche principali di questo

Dettagli

RAID, LVM, LUKS: Play with disks.

RAID, LVM, LUKS: Play with disks. RAID, LVM, LUKS: Play with disks. Mario Polino Corsi Avanzati Linux - 2014 RAID POuL M. Polino RAID, LVM, LUKS 2 RAID What? POuL M. Polino RAID, LVM, LUKS 3 RAID What? POuL M. Polino RAID, LVM, LUKS 3

Dettagli

Progetto Didattico di Informatica Multimediale

Progetto Didattico di Informatica Multimediale Progetto Didattico di Informatica Multimediale VRAI - Vision, Robotics and Artificial Intelligence 20 aprile 2015 Rev. 18+ Introduzione Le videocamere di riconoscimento sono strumenti sempre più utilizzati

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

APRS su Linux con Xastir, installazione dai sorgenti

APRS su Linux con Xastir, installazione dai sorgenti APRS su Linux con Xastir Installazione dai sorgenti L installazione di Xastir Per installare Xastir non è richiesto essere un guru di Linux, anche se una conoscenza minima della piattaforma è necessaria.

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Generalizzazione di funzioni e di classi. Macro come funzioni generiche

Generalizzazione di funzioni e di classi. Macro come funzioni generiche Alessio Bechini - Corso di - Generalizzazione di funzioni e di classi Il meccanismo di template Macro come funzioni generiche long longmax(long x, long y) { Possibile soluzione int intmax(int x, int y)

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

MIPS Instruction Set 2

MIPS Instruction Set 2 Laboratorio di Architettura 15 aprile 2011 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference card: http://refcards.com/docs/waetzigj/mips/mipsref.pdf 32 registri general

Dettagli

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Ricorsione. Corso di Fondamenti di Informatica

Ricorsione. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Ricorsione Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e

Dettagli

Le system call: fork(), wait(), exit()

Le system call: fork(), wait(), exit() Le system call: fork(), wait(), exit() Di seguito viene mostrato un programma che fa uso di puntatori a funzione, nel quale si mette in evidenza il loro utilizzo. Programma A1 #include int add(a,b,c)

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti

Dettagli

La shell di Unix. Uso interattivo e scripting

La shell di Unix. Uso interattivo e scripting La shell di Unix Uso interattivo e scripting Lucidi per il corso di Laboratorio di Sistemi Operativi tenuto da Paolo Baldan presso l Università Ca Foscari di Venezia, anno accademico 2004/2005. La shell

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli

Sottoprogrammi: astrazione procedurale

Sottoprogrammi: astrazione procedurale Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Gestione dinamica di una pila

Gestione dinamica di una pila Gestione dinamica di una pila Una pila o stack è una lista lineare a lunghezza variabile in cui inserimenti (push) ed estrazioni (pop) vengono effettuate ad un solo estremo, detto testa (top) della pila.

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli