1. File normale: contiene dati 2. Directory: contiene nomi di altri file ed informazioni sugli stessi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1. File normale: contiene dati 2. Directory: contiene nomi di altri file ed informazioni sugli stessi"

Transcript

1 File Tipi di file 2 1. File normale: contiene dati 2. Directory: contiene nomi di altri file ed informazioni sugli stessi 3. File speciali di caratteri: es. un terminale, /dev/tty 4. File speciali a blocchi: usati per dischi, /dev/sd0 5. FIFO file: usati per la comunicazione tra processi (detti anche pipe) 6. Socket file: usati per comunicazione in rete 7. Link simbolici 1

2 Proprietà dei file 3 Per ogni file il filesystem mantiene delle informazioni: Tipo di file (normale, directory, link, speciale, ) Permessi (lettura, scrittura, esecuzione) Tempo ultimo accesso Tempo ultima modifica Tempo ultimo cambiamento dell stato (permessi) User ID del proprietario del file Group ID del proprietario del file Numero di link che puntano al file Altre informazioni Link simbolici 4 Un link simbolico è un file il cui contenuto è il nome di un altro file. Seguire un link significa operare sul file il cui nome è contenuto nel link e non sul link stesso, che è comunque un file. bash> ls l pippo -rw-r--r-- 1 users robdep 345 Mar 4 19:21 pippo bash> ln s pippo pippo2 bash> ls l pippo* -rw-r--r-- 1 users robdep 345 Mar 4 19:21 pippo lrw-r--r-- 1 users robdep 12 Mar 4 19:21 pippo2 -> /usr/pippo... 2

3 Identificatori e processi 5 Ogni processo ha I seguenti ID associati Real user ID Real group ID Effective user ID Effective group ID Saved set-user-id Saved set-group-id A che servono? Per controllare l accesso ai file. Ogni file ha permessi di lettura, scrittura ed esecuzioni per user, group e other; inoltre ha un user e un group (proprietario del file) Effective user ID deve soddisfare i permessi Set-user-ID e set-group-id 6 robdep> ls /usr/giuper zoff gentile cabrini... tetris.c... robdep> cat /usr/giuper/tetris.c cat: cannot open /usr/giuper/tetris.c robdep> ls -l /usr/giuper/tetris.c -rw giuper prof 2955 Oct /usr/giuper/tetris.c superuser può cambiarlo Il real user ID è (quasi) sempre chi esegue il processo. Normalmente l effective user ID del processo (ls nell esempio) è uguale al real user ID... ma si può settare un bit (set-user-id) nel campo st_mode che fa si che il processo sia eseguito con effective user ID = proprietario del file Analogamente per il group id c è un altro bit (set-group-id) 3

4 esempi 7 robdep> ls -l /etc/passwd -rw-r--r-- 1 root system 1004 Sep 17 14:12 /etc/passwd Se eseguo passwd come fa il processo a cambiare la mia passwd nel file /etc/passwd? Non può. robdep> which passwd /bin/passwd robdep> ls -l /bin/passwd -rws--x--x 1 root bin Apr /bin/passwd user group group owner user owner Quando eseguo passwd l effective user id è root. Quindi posso scrivere nel file /etc/passwd (ma solo usando passwd) Regole di accesso ai file 8 Occorre avere x in tutte le directory nel filename, e, se il path è relativo, anche nella cwd: /dir1/dir2/dir3/pippo a/b/pippo Permesso di lettura directory: permette di leggere la directory. Permesso di esecuzione: permette di passare attraverso la directory L accesso al file è regolato dai permessi del file e dall effective user e group ID del processo: User ID processo = owner ID file -rwx--x--x Group ID processo = group ID file -rwx--x--x Altrimenti -rws--x--x 4

5 Regole di accesso ai file 9 Non possiamo creare un file in una directory se non abbiamo permessi di scrittura nella directory Per cancellare un file in una directory serve il permesso di scrittura e quello di esecuzione nella directory. non serve nessun permesso sul file Per eseguire un file (programma) occorre avere il permesso di esecuzione Permessi di file nuovi 10 Quando si crea un file (o directory): proprietario del file = effective user ID del processo che lo crea Gruppo proprietario del file può essere: 1. Group ID della directory dove il file è creato 2. Group ID del processo che crea il file dipende dal sistema operativo. 5

6 Struttura stat 11 Macro per tipi di file 12 #define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) 6

7 SysCall: stat, fstat, lstat 13 #include <sys/types.h> #include <sys/stat.h> int stat (const char *pathname, struct stat *buf ); int fstat (int fd, struct stat *buf ); int lstat (const char *pathname, struct stat *buf ); Valore di ritorno: -1 se errore 0 se OK La struttura buf contiene le info se OK SysCall: stat, fstat, lstat 14 Differenze: Stat: filename e segue i link simbolici Fstat: file aperto (fd) e segue i link simbolici Lstat: filename e NON segue i link simbolici Ma sostanzialmente sono uguali: Tutte e tre forniscono le informazione sul file nella struttura buf. 7

8 SysCall: access 15 Permette di controllare i permessi basandosi sul real user e group ID Utile per processi che hanno il set-user-id o il setgroup-id # include <unistd.h> int access(const char *pathname, int mode); Valore di ritorno: -1 se errore 0 se OK umask 16 Cosa è la umask: Alla creazione di un file vengono specificati dei permessi. la umask ha un bit per ognuno dei 9 permessi Se il bit nella umask è 1, allora il permesso è 0 Open file umask grou user p other -rwx rw- r rw- r Permessi finali 8

9 SysCall: umask 17 #include <sys/types.h> #include <sys/stat.h> Mode_t umask (mode_t cmask); cmask è la nuova umask; Il valore di ritorno è la vecchia umask Questa è una delle pochi funzioni che non ritornano mai un errore SysCall: chmod e fchmod 18 #include <sys/types.h> #include <sys/stat.h> int chmod(const char *pathname, mode_t mode); int fchmod(int fd, mode_t mode); Valore di ritorno: -1 se errore, 0 se OK Per poter cambiare I permessi di un file bisogna o essere il proprietario oppure il superuser. 9

10 Costanti per chmod = st_mode Bit# Sticky bit In vecchie versioni di Unix lo sticky bit serviva per programmi che venivano eseguiti spesso: Se lo sticky bit era on, il codice del programma veniva salvato nell area di swap del disco Quando il programma veniva eseguito di nuovo, il codice veniva letto dall area di swap e non dal file originale La lettura è più veloce perchè normalmente nell area di swap I dati sono contigui mentre per un file regolare possono essere in posizioni casuali nel disco Con la memoria virtuale e con file system più veloci, lo sticky bit non serve più 20 Solo il superutente può modificare lo sticky bit 10

11 chmod - esempio 21 #include <sys/types.h> #include <sys/stat.h> #include <errno.h> int main(void) { struct stat statbuf; if (stat("pippo", &statbuf) < 0 ) { perror("errore in stat per pippo"); exit(1); } if (chmod("pippo",(statbuf.st_mode&~s_ixgrp) S_ISGID)< 0){ perror("errore in chmod per pippo"); exit(1); } if (chmod("pluto",s_irusr S_IWUSR S_IRGRP S_IROTH) < 0 ) { perror("errore in chmod per pluto"); exit(1); } exit(0); } SysCall: chown, fchow, lchown 22 #include <sys/types.h> #include <unistd.h> int chown(const char* file, uid_t owner, gid_t group); int fchown(int fd, uid_t owner, gid_t group); int lchown(const char* file, uid_t owner, gid_t group); (Simili a stat, fstat e lstat) 11

12 Chown 23 Chi può cambiare il proprietario di un file? System V: il proprietario del file Berkeley: solo il superuser POSIX entrambe: Variabile _POSIX_CHOWN_RESTRICTED, se vera allora solo il superuser può cambaire il propriotario di un file Attenzione: Se cambi il proprietario di un file tuo il file non è più tuo! Filesystem 24 Organizzazione di un disco e dei file system 12

13 I-node e blocchi di dati 25 I-node contiene informazioni sui file tipo del file bit di permesso puntatori ai blocchi di dati del file... altre informazioni I blocchi di dati sono 1. Directory block (dati della directory, lista file) Nome del file, puntatore all i-node del file 2. Data block (dati nei file) Contengono i dati del file Filesystem 26 13

14 Filesystem: esempio 27 testdir Hard links CWD prompt> mkdir testdir Filesystem: esempio 28 FILESYSTEM: / directory /home directory /home/robdep directory /home/giuper /home/robdep/pippo /home/robdep/pippo2 directory file: abcde file: AAAAA AAAAA lista di i-node blocchi dati block 823: Inode 0: 0 Inode 213: 734 Inode 344: 823 Inode 512: 111 Inode 516: 1435, 1436 block 0: home Mancano I blocchi per la directory giuper block 111: abcde block 734: robdep 348 giuper pippo 516 pippo2 block 1435: AAAAA block 1436: AAAAA 14

15 Hard link 29 Concetto di ( hard ) link Numero di directory entry che puntano all i-node I file corrispondenti agli i-node 512 e 516 hanno 2 link lista di i-node blocchi dati Inode 0: 0 Inode 213: 734 Inode 344: 823 Inode 512: 111 Inode 516: 1435, 1436 block 111: abcde block 734: robdep 348 giuper 512 filex block 823: pippo 516 pippo2 516 pippo3 block 1435: AAAAA block 1436: AAAAA Filesystem: osservazioni 30 ogni i-node ha un contatore di link che contiene il numero di directory entry che lo puntano solo quando scende a zero, allora il file può essere cancellato (i blocchi di dati sono rilasciati) il contatore è nella struct stat nel campo st_nlink questi tipi di link sono detti hard link gli altri sono soft link (link simbolici) lib /usr/lib (7 caratteri di dati nel data block) non si possono fare hard link tra filesystem differenti Per cambiare il nome di un file non serve spostare il contenuto del file 15

16 Syscall: link 31 #include <unistd.h> int link(const char* existing, const char* new); bash> ln /bin/pippo pippo bash> ls l pippo -rw-r--r-- 1 users robdep Mar 4 19:21 pippo Solo root può creare link a directory per evitare loop Comunque si può farlo con i link simbolici (errore ELOOP quando c è un loop) Syscall: unlink 32 #include <unistd.h> int unlink(const char* pathname); Decrementa il contatore di (hard) link del file pathname Non segue i link simbolici: Se path name è un link simbolico viene decrementato il contatore del link simbolico non il contatore del file specificato nel link simbolico Unlink su un file è come remove (vedremo dopo), mentre unlink su una directory è come rmdir (vedremo dopo) I dati sono cancellati solo quando il file è chiuso proprietà spesso usata per essere sicuri di non lasciare file temporanei su disco 16

17 unlink - esempio 33 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> int main (int argc, char *argv[]) { } if (open(argv[1], O_RDWR) < 0 ) { perror("errore in open"); exit(1); } if (unlink(argv[1]) < 0 ) { perror("errore in unlink"); exit(1); } printf("file unlinked\n"); sleep(20); printf("done.\n"); exit(0); Unlink e cancellazione dei dati 34 bash> ls l tempfile -rw-r--r-- robdep prof Jul 31 13:42 tempfile bash> df /home Filesystem kbytes used avail capacity mounted on /dev/sdoh % /home bash> unlink tempfile & 1354 bash> File unlinked ls l tempfile tempfile not found bash> df /home Filesystem kbytes used avail capacity mounted on /dev/sdoh % /home bash> Done df /home Filesystem kbytes used avail capacity mounted on /dev/sdoh % /home 17

18 Symlink e readlink 35 #include <unistd.h> int symlink(const char* existing, const char* new); bash> ln s /bin/pippo pippo bash> ls l pippo lrw-r--r-- 1 users robdep 10 Mar 4 19:21 pippo -> /bin/pippo #include <unistd.h> int readlink(const char* existing, char* buf, int bufsize); Per aprire link simbolici (visto che open segue il link simbolico) Date di accesso e modifica 36 Per ogni file/directory 1. Data ultimo accesso (access time) Cambiato per esempio da read 2. Data ultima modifica del contenuto (modification time) Cambiato per esempio da write 3. Data ultima modifica dell i-node (changed-status time) Cambiato per esempio da chmod, chown Struttura stat contiene st_atime, st_mtime e st_ctime Quando si crea o si cancella un file/dir vengono modificati anche i tempi di modifica del contenuto e dell i-node della directory che contiene il file 18

19 SysCall: utime 37 int utime(const char *pathname, const struct utimbuf *times); struct utimbuf { time_t actime; /*access time*/ time_t modtime; /*modification time*/ } Per cambiare i tempi occorre essere il proprietario del file (a meno che times = NULL, allora basta il permesso in scrittura, e viene assegnato il tempo corrente) Non possiamo cambiare il changed-status time poichè esso è cambiato automaticamente quando si usa utime, visto che modifica l i-node. SysCall: mkdir e rmdir 38 #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int mkdir (const char *pathname, mode_t mode); int rmdir (const char *pathname); mode = permessi (ricordarsi la x ) rmdir: Se il link count va a 0, ma ci sono dei processi che hanno la directory aperta, i blocchi vengono rilasciati quando I processi chiudono la directory. La directory viene comunque cancellata subito. 19

20 Leggere una directory 39 #include <sys/types.h> #include <dirent.h> DIR* opendir(const char* pathname); struct dirent* readdir(dir* ptr); void rewinddir(dir *ptr); int closedir(dir* ptr); struct dirent { /* in alcune implementazioni è: */ ino_t d_ino; /*numero dell i-node */ char d_name[name_max+1]; /* nome del file */ } Current working directory 40 #include <unistd.h> int chdir(const char* pathname); int fchdir(int fd); Modificano la current working directory, dalla quale inizia la ricerca per un pathname relativo char* getcwd(char* buf, size_t size); Restituisce la cwd 20

21 SysCall: sync, fsync 41 Problema del delayed write: dati sono messi in un buffer. Il kernel li trasferisce successivamente su disco. Per assicurare consistenza fra il disco e il buffer interno si posso usare sync e fsync int sync(void) inizia il processo di scrittura di tutti i blocchi modificati e ancora non scritti sul disco ma ritorna prima che sia finito int fsync(int fd) Scrive i blocchi di un singolo file e aspetta che l operazione di I/O sia finita prima di ritornare. Esercizi Studiare il programma 4.7, pag 109 del libro È difficile, ma è un ottimo esercizio per controllare che avete capito quello che abbiamo studiato finora I programmi del libro usano #include ourhdr ed una libreria di Stevens Sono inclusi nel software allegato al libro 1. Vi scaricate i sorgenti del libro da Internet ftp.uu.net published/books/stevens.advprogr.tar.z 2. Modificate il programma: in generale basta sostituire le chiamate a funzioni particulari (es. err_ret, err_dump) con funzioni standard (es. perror) 21

Tipi di file. File. Proprietà dei file. Link simbolici. Set-user-ID e set-group-id. Identificatori e processi

Tipi di file. File. Proprietà dei file. Link simbolici. Set-user-ID e set-group-id. Identificatori e processi Tipi di file 2 File 1. File normale: contiene dati 2. Directory: contiene nomi di altri file ed informazioni sugli stessi 3. File speciali di caratteri: es. un terminale, /dev/tty 4. File speciali a blocchi:

Dettagli

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

File e Directory. M. Guarracino - File e Directory 1 File e Directory M. Guarracino - File e Directory 1 Date dei file Ogni volta che accediamo ai dati contenuti in un file, il sistema memorizza la data di ultimo accesso La stessa cosa accade quando modifichiamo

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

Laboratorio di Sistemi Operativi primavera 2009

Laboratorio di Sistemi Operativi primavera 2009 primavera 2009 dimensione di file La dimensione dei files (in bytes) è in st_size (della struttura stat) File & Directory (2) La dimensione del blocco utilizzato nelle operazioni di I/O è contenuto in

Dettagli

Laboratorio di Sistemi Operativi Marzo-Giugno 2008 Matr. Congr. 0 mod 3

Laboratorio di Sistemi Operativi Marzo-Giugno 2008 Matr. Congr. 0 mod 3 Marzo-Giugno 2008 Matr. Congr. 0 mod 3 File & Directory (2) #include #include umask mode_t umask (mode_t cmask); Descrizione: setta la maschera di creazione per l accesso ad

Dettagli

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

File e Directory. M. Guarracino - File e Directory 1 File e Directory M. Guarracino - File e Directory 1 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

Dettagli

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

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006 Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero

Dettagli

Laboratorio di Sistemi Operativi primavera 2009

Laboratorio di Sistemi Operativi primavera 2009 primavera 2009 stat,fstat e lstat File & Directory (1) int stat (const char *pathname, struct stat *buf); int fstat (int fd, struct stat *buf); int lstat (const char *pathname,

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

Digressione: man 2...

Digressione: man 2... Syscall File I/O Digressione: man 2... Le funzioni della libreria standard UNIX associate alle system call di Linux sono documentate nella sezione 2 di man e.g.: man 2 open Ogni manpage di system call

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

Capitolo 3 -- Stevens

Capitolo 3 -- Stevens File & Directory Capitolo 3 -- Stevens stat, fstat e lstat #include #include int stat (const char *pathname, struct stat *buf); int fstat (int fd, struct stat *buf); int lstat

Dettagli

Sistemi Operativi. II Semestre - Marzo/Giugno 2012 Matricole congr. 0 mod 3. File & Directory

Sistemi Operativi. II Semestre - Marzo/Giugno 2012 Matricole congr. 0 mod 3. File & Directory II Semestre - Marzo/Giugno 2012 Matricole congr. 0 mod 3 File & Directory #include Leggere Directory DIR *opendir(const char *pathname); ritorna NULL su errore struct dirent *readdir(dir *dp);

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi Le FIFO pipe vs fifo la pipe può essere usata solo tra processi "imparentati" (che hanno un antenato comune che ha creato la pipe) la fifo consente di scambiare dati tra processi qualsiasi 2 1 FIFO (named

Dettagli

Sistemi Operativi. II Semestre - Marzo/Giugno 2011 Matricole congr. 0 mod 3. File & Directory. Leggere Directory

Sistemi Operativi. II Semestre - Marzo/Giugno 2011 Matricole congr. 0 mod 3. File & Directory. Leggere Directory II Semestre - Marzo/Giugno 2011 Matricole congr. 0 mod 3 File & Directory Leggere Directory DIR *opendir(const char *pathname); ritorna NULL su errore struct dirent *readdir(dir *dp); ritorna

Dettagli

Chiamate di sistema per la Gestione dei processi in POSIX. E.Mumolo, DEEI mumolo@units.it

Chiamate di sistema per la Gestione dei processi in POSIX. E.Mumolo, DEEI mumolo@units.it Chiamate di sistema per la Gestione dei processi in POSIX E.Mumolo, DEEI mumolo@units.it Process id ed altri identificatori pid_t getpid(); // Process id del processo chiamante pid_t getppid(); // Process

Dettagli

Il sistema operativo LINUX Il file system. Indice. Blocchi logici. Indice. Super block. G. Di Natale, S. Di Carlo

Il sistema operativo LINUX Il file system. Indice. Blocchi logici. Indice. Super block. G. Di Natale, S. Di Carlo Il sistema operativo LINUX Il file system Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica Blocchi logici Il file system è

Dettagli

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 18 febbraio 2014

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 18 febbraio 2014 Tempo a disposizione: 70 minuti. Libri e appunti chiusi. Vietato comunicare con chiunque. Vietato l'uso di smartphone, calcolatrici e affini. 1. Protocolli crittografici. 1.1. Fornisci un esempio di protocollo

Dettagli

IPC System V. Code di messaggi

IPC System V. Code di messaggi IPC System V Code di messaggi Panoramica coda di messaggi una lista concatenata di messaggi, FIFO semaforo un contatore condiviso, atomicamente modificabile memoria condivisa uno spazio di memoria accessibile

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix-

Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- 1 Sommario Esercizi sulla gestione dei processi Creazione di un nuovo processo: fork Sincronizzazione tra processi: wait 2 -

Dettagli

Gestione dei file: filosofia. carica in memoria l i-node del file read / write. close cose rilascia le strutture dati di memoria del file

Gestione dei file: filosofia. carica in memoria l i-node del file read / write. close cose rilascia le strutture dati di memoria del file File system 1 Gestione dei file: filosofia open carica in memoria l i-node del file read / write accedono al file tramite il suo i-node close cose rilascia le strutture dati di memoria del file 2 Gestione

Dettagli

Struttura del sistema operativo GNU/Linux

Struttura del sistema operativo GNU/Linux Struttura del sistema operativo GNU/Linux http://www.glugto.org/ Cos'è un filesystem Cosa vuol dire FHS Composizione albero di directory Concetto di Mount Utente root Permessi su files e directory GNU/Linux

Dettagli

Struttura del Micro Filesystem (µfs)

Struttura del Micro Filesystem (µfs) Struttura del Micro Filesystem (µfs) Il Micro Filesystem deve essere organizzato all'interno di un unico file regolare Linux (dev_ufs) ed può basato sul filesystem FAT-32 con la gestione dei permessi in

Dettagli

Terza lezione: Directory e File system di Linux

Terza lezione: Directory e File system di Linux Terza lezione: Directory e File system di Linux DIRECTORY E FILE SYSTEM Il file system di Linux e Unix è organizzato in una struttura ad albero gerarchica. Il livello più alto del file system è / o directory

Dettagli

&& (nessun altro processo ha il file aperto) && (il fd e chiuso) Cancella il file;

&& (nessun altro processo ha il file aperto) && (il fd e chiuso) Cancella il file; CREAZIONE ritorna fd o 1 Pseudocodice dell operazione: If(file esiste) If(Write permission) Tronca la lunghezza a 0 e lascia il file aperto in scrittura; Else Exit(-1); Else Alloca un nuovo INODE con link=1

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread-

Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -

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

I puntatori e l allocazione dinamica di memoria

I puntatori e l allocazione dinamica di memoria I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in

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

I/O su Socket TCP: read()

I/O su Socket TCP: read() I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file:

Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file: Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file: usare lseek per spostarsi alla fine del file e poi scrivere: lseek(filedes, (off_t)0, SEEK_END); write(filedes, buf, BUFSIZE);

Dettagli

Capitolo 3 -- Stevens

Capitolo 3 -- Stevens I/O non bufferizzato (1) Capitolo 3 -- Stevens System Call open close read write lseek 1.2 sono degli interi non negativi file descriptor il kernel assegna un file descriptor ad ogni file aperto le funzioni

Dettagli

Program m azione di Sistem a 2a

Program m azione di Sistem a 2a Program m azione di Sistem a 2a Lucidi per il corso di Laboratorio di Sistemi Operativi tenuto da Paolo Baldan presso l'università Ca' Foscari di Venezia, anno accademico 2004/ 2005. Parte di questo materiale

Dettagli

NOZIONI BASE PER ESERCITAZIONI

NOZIONI BASE PER ESERCITAZIONI NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi

Dettagli

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

12. Implementazione di un File System. 12.1.1 Struttura a livelli. 12.2.1 Allocazione contigua 12. Implementazione di un File System 1 Struttura del file system Metodi di allocazione Gestione dello spazio libero Implementazione delle directory Prestazioni ed efficienza 2 Utente 12.1.1 Struttura

Dettagli

File system II. Sistemi Operativi Lez. 20

File system II. Sistemi Operativi Lez. 20 File system II Sistemi Operativi Lez. 20 Gestione spazi su disco Esiste un trade-off,tra spreco dello spazio e velocità di trasferimento in base alla dimensione del blocco fisico Gestione spazio su disco

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

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione Federico Spizzo Dipartimento di Fisica / Edificio C Stanza 006 Tel: 0532 974231 E-mail: federico.spizzo@unife.it Gianluigi Cibinetto Dipartimento di Fisica / Edificio C Stanza

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

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

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

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

costruttori e distruttori

costruttori e distruttori costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,

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

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Dettagli

Files, File I/O, File Sharing. Franco Maria Nardini

Files, File I/O, File Sharing. Franco Maria Nardini Files, File I/O, File Sharing Franco Maria Nardini UNIX file types UNIX non richiede una struttura interna del file. Dal punto di vista del sistema operativo c e un solo tipo di file. Struttura e interpretazione

Dettagli

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

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

Organizzazione di Sistemi Operativi e Reti

Organizzazione di Sistemi Operativi e Reti Organizzazione di Sistemi Operativi e Reti Corso di Laurea Triennale in Ingegneria Informatica Sara Lioba Volpi (sara.volpi@iet.unipi.it) Quarta esercitazione Sommario Virtual file system (VFS) concetto

Dettagli

Introduzione alla. Alessandra Giordani agiordani@disi.unitn.it Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1

Introduzione alla. Alessandra Giordani agiordani@disi.unitn.it Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1 Introduzione alla Shell di UNIX Alessandra Giordani agiordani@disi.unitn.it Lunedì 27 febbraio 2012 http://disi.unitn.it/~agiordani/ 1 Composizione di un sistema informativo: Hardware (CPU, periferiche,

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

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

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria

Dettagli

Utenti e gruppi. Ogni utilizzatore di UNIX ha associato: Nomeutente nome alfanumerici UID identità numerica

Utenti e gruppi. Ogni utilizzatore di UNIX ha associato: Nomeutente nome alfanumerici UID identità numerica Utenti e gruppi Utenti e gruppi Ogni utilizzatore di UNIX ha associato: Un identità univoca Nomeutente nome alfanumerici UID identità numerica Uno o più gruppi Nomegruppo nome alfanumerico GID identità

Dettagli

Corso ForTIC C2 LEZIONE n. 3

Corso ForTIC C2 LEZIONE n. 3 Corso ForTIC C2 LEZIONE n. 3 I due Desktop più diffusi KDE e GNOME Azioni concesse ad un utente NON privilegiato Sintassi generale dei comandi Muoversi all'interno del file system utilizzando i comandi

Dettagli

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

Drivers. Introduzione Tipologie Struttura Interazione con il kernel Drivers Introduzione Tipologie Struttura Interazione con il kernel Driver Un driver è un modulo del sistema operativo Esterno al kernel Dedicato alla gestione di una specifica periferica Come altre funzionalità

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 22 Martedì 7-1-2014 1 System Call per l'uso dei segnali Un processo che

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication (IPC) IPCS 1 1. Code di messaggi 2. Semafori 3. Memoria condivisa send receive 2? 3 p1 p3 p2 CODE DI MESSAGGI Modello di Comunicazione Code di Messaggi Il processo ricevente

Dettagli

Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file:

Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file: Scrivere alla fine di un file Vi sono due modi per scrivere alla fine di un file: usare lseek per spostarsi alla fine del file e poi scrivere: lseek(filedes, (off_t)0, SEEK_END); write(filedes, buf, BUFSIZE);

Dettagli

Directory. Le directory unix sono file.

Directory. Le directory unix sono file. Le directory unix sono file. Directory Molte system call per i file ordinari possono essere utilizzate per le directory. E.g. open, read, fstat, close. Tuttavia le directory non possono essere create con

Dettagli

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 18 febbraio 2014. Usa questa pagina per la brutta, staccala, non consegnarla.

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 18 febbraio 2014. Usa questa pagina per la brutta, staccala, non consegnarla. Usa questa pagina per la brutta, staccala, non consegnarla. 1 Usa questa pagina per la brutta, staccala, non consegnarla. 2 Tempo a disposizione: 70 minuti. Libri e appunti chiusi. Vietato comunicare con

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

Digressione: man (2)...

Digressione: man (2)... Syscall File I/O Digressione: man (2)... Le funzioni della libreria standard UNIX associate alle system call di Linux sono documentate nella sezione 2 di man e.g.: man 2 open Ogni manpage di system call

Dettagli

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

Dettagli

SERVIZIO DI MESSAGGISTICA ALL UTENTE. Manuale per l operatore

SERVIZIO DI MESSAGGISTICA ALL UTENTE. Manuale per l operatore SERVIZIO DI MESSAGGISTICA ALL UTENTE Manuale per l operatore rev. 02 giugno 2010 SOMMARIO COME USARE IL PROGRAMMA PER LA MESSAGGISTICA...3 COSA BISOGNA FARE PRIMA DI INIZIARE A UTILIZZARE IL PROGRAMMA...3

Dettagli

CAPITOLO 7 - SCAMBIO DI MESSAGGI

CAPITOLO 7 - SCAMBIO DI MESSAGGI CAPITOLO 7 - SCAMBIO DI MESSAGGI Lo scambio di messaggi è una forma di comunicazione nel quale un processo richiede al sistema operativo di mandare dei dati direttamente ad un altro processo. In alcuni

Dettagli

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 19 luglio 2007. Usa questa pagina per la brutta, staccala, non consegnarla.

Cognome: Nome: Matricola: Sicurezza dei sistemi informatici e delle reti 19 luglio 2007. Usa questa pagina per la brutta, staccala, non consegnarla. Usa questa pagina per la brutta, staccala, non consegnarla. Tempo a disposizione: 90 minuti. Libri e appunti chiusi. Vietato comunicare con chiunque. Vietato l'uso di cellulari, calcolatrici, palmari

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

Dettagli

Permessi, utenti e gruppi

Permessi, utenti e gruppi Permessi, utenti e gruppi Daniele Venzano 9 novembre 2003 Indice 1 Introduzione 1 2 Concetti generali 2 2.1 Esempio..................................... 2 3 File importanti 2 3.1 /etc/group...................................

Dettagli

Sincronizzazione e comunicazione tra processi in Unix. usati per trasferire ad un processo l indicazione che un determinato evento si è verificato.

Sincronizzazione e comunicazione tra processi in Unix. usati per trasferire ad un processo l indicazione che un determinato evento si è verificato. Processi parte III Sincronizzazione e comunicazione tra processi in Unix Segnali: usati per trasferire ad un processo l indicazione che un determinato evento si è verificato. Pipe: struttura dinamica,

Dettagli

Processi UNIX. I Processi nel SO UNIX. Gerarchie di processi UNIX. Modello di processo in UNIX

Processi UNIX. I Processi nel SO UNIX. Gerarchie di processi UNIX. Modello di processo in UNIX Processi UNIX I Processi nel SO UNIX UNIX è un sistema operativo multiprogrammato a divisione di tempo: unità di computazione è il processo Caratteristiche del processo UNIX: processo pesante con codice

Dettagli

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. Protezione. Protezione. Obiettivi della protezione Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

Dettagli

Esercitazione [8] Pipe e FIFO

Esercitazione [8] Pipe e FIFO Esercitazione [8] Pipe e FIFO Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di Calcolo Multi-Nodo

Dettagli

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1 GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco GESTIONE DELLA MEMORIA SECONDARIA 11.1 Memoria Secondaria Struttura del disco Scheduling del disco Gestione del disco Gestione dello spazio di swap Struttura RAID Affidabilità Implementazione della memoria

Dettagli

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico

Dettagli

Sequenza di avvio di Linux:

Sequenza di avvio di Linux: Sequenza di avvio di Linux: Il BIOS esegue una serie di test ed inizializzazione di tutti i dispositivi del computer; quindi, carica in memoria il BOOT loader del sistema operativo e gli cede il controllo.

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica I tipi strutturati: gli array e le strutture Claudio De Stefano - Corso di Fondamenti di Informatica 1 arrays un array (o vettore) è una sequenza di oggetti dello stesso

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

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica GLI SCRIPT DI SHELL Lucidi a cura di B.De Carolis Shell Unix - Linux comandi Interfaccia di alto livello tra utente e SO. Il processore interpreta e mette in esecuzione comandi da: 1) standard input o

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

Sistemi Operativi. Lez. 16 File System: aspetti implementativi

Sistemi Operativi. Lez. 16 File System: aspetti implementativi Sistemi Operativi Lez. 16 File System: aspetti implementativi Layout disco Tutte le informazioni necessarie al file system per poter operare, sono memorizzate sul disco di boot MBR: settore 0 del disco,

Dettagli

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio

Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Modalità di accesso Struttura delle directory Montaggio di un file system Condivisione di file Protezione 9.1 File E un insieme di informazioni correlate e

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

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

Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell

Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell Informatica Generale 1 - Esercitazioni Introduzione all uso della command-line shell Daniele Pighin pighin@fbk.eu FBK Via Sommarive, 18 I-38050 Trento, Italy March 5, 2008 Outline 1 Sistema operativo e

Dettagli

Allocazione dinamica della memoria - riepilogo

Allocazione dinamica della memoria - riepilogo Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della

Dettagli