Lezione 15 File System

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 15 File System"

Transcript

1 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 1

2 Quote of the day (Meditate, gente, meditate...) In UNIX, everything is a file; if something is not a file, it is a process. Ken Thompson (1943-) Programmatore Il padre dei SO UNIX e Plan 9 Ideatore dei linguaggi B e Go 2

3 INTRODUZIONE 3

4 Definizioni preliminari (File, directory, file system) Nei SO moderni (non solo UNIX), le informazioni possono essere memorizzate in maniera strutturata su supporto secondario (volatile o non). Paradigma d'uso: memorizzazione gerarchica tramite cartelle (directory) e fascicoli (file). Un file system è una gerarchia di directory e file, ospitata su un dispositivo di memorizzazione. 4

5 Eterogeneità dei dispositivi (Dispositivi di memorizzazione) I dispositivi di memorizzazione sono caratterizzati da tecnologie radicalmente diverse. Hard disk rotazionale, Solid State Drive (SSD). CD-ROM, DVD. RAM. L'organizzazione interna di un file system è pesantamente condizionata dalle tecnologie a disposizione. Un file system cerca di esaltare i pregi e minimizzare i difetti della tecnologia sottostante. Tecnologie diverse file system diversi! 5

6 Problema: accesso unificato ai file (Indipendentemente dal file system e dalla tecnologia di memorizzazione) Il programmatore non può essere costretto a ricordarsi tutti i dettagli implementativi di tutti i file system passati, presenti e futuri! Ad esempio, il modello di accesso ai file deve essere unico: open(), read(), write(), seek(), close(), truncate() a prescindere dal file system e dalla tecnologia di memorizzazione adottati. Idem per le directory e per i file system! Serve uno strato funzionale generale. 6

7 Che cosa è il Virtual File System (Componente del kernel) Il Virtual File System (VFS) è un sottosistema del kernel. In Linux, esso è implementato in tutti i file di primo livello contenuti nella directory $LINUX/fs. Il VFS fornisce una visione omogenea, gerarchica, indipendente dai dispositivi del contenuto informativo (organizzato per file e directory) ottenuto da: periferiche hardware locali (dischi, CD, chiavette, ). periferiche hardware remote (file system di rete). kernel (file system virtuali per debug, statistiche, ). 7

8 A cosa serve la visione omogenea? (Provate a scambiare due hard disk in Windows...) Si supponga di associare file system a directory con nomi non trasparenti. Esempio: Windows. Primo disco SATA: C:\. Secondo disco SATA: D:\. Terzo disco SATA: E:\. Si scriva un'applicazione che faccia riferimento a file contenuti in D:. Si scambino di posto il secondo ed il terzo disco. L'applicazione non è più in grado di accedere ai file (D:\ è associato ad un altro file system). 8

9 Uno schema (File system virtuali, fisici locali, fisici remoti) Libreria del C Applicazione I/O fread() User Kernel read() Chiamata di sistema Virtual File System sys_read() Lettura vfs_read() /proc file system EXT4 file system VFAT file system NFS file system Hardware RAM Disco interno Disco esterno Disco remoto 9

10 Compiti del Virtual File System (Risoluzione dei percorsi e redirezione al sottosistema opportuno) Il VFS decompone il percorso di un file nelle sue componenti (path lookup) ed individua i dispositivi in cui queste si trovano. Il VFS gestisce descrittori di file rappresentanti i file aperti dall'applicazione. Il descrittore punta ad informazioni sulle operazioni possibili nel file system. Il VFS invoca le funzioni di lavoro del file system che ospita il file. 10

11 Approccio orientato agli oggetti (Repetita iuvant) A tal scopo, il VFS definisce una unica implementazione generica delle operazioni: su un file system (montaggio, smontaggio, ); su un file (apertura, lettura, scrittura, chiusura, ); su una directory (apertura, lettura, scorrimento, ). Tale implementazione fa uso di strutture dati generali. Ciascun file system fornisce array di puntatori a funzioni di gestione, invocate opportunamente 11 dal VFS.

12 Un gran tour del VFS (AKA Che cosa è possibile farci ) Nelle slide seguenti sono illustrate alcune delle funzionalità principali del VFS. Allacciatevi le cinture; si parte! 12

13 File speciali (Rappresentano periferiche; permettono di colloquiare con esse) Un file speciale è associato ad una periferica e permette di accedervi a basso livello. I file speciali sono contenuti nella directory /dev. ls -l /dev I file speciali sono di due categorie. Caratteri: periferiche lente, accedute serialmente. Blocchi: periferiche veloci, accedute serialmente e casualmente. 13

14 Major number, minor number (Major Classe di periferiche; Minor Specifica istanza di periferica) Ad ogni file speciale è associata una coppia di numeri interi. Major number: caratterizza una intera classe di dispositivi (terminale, disco rigido, CD-ROM). Minor number: caratterizza una specifica istanza di un dispositivo in una classe (il primo disco, il secondo terminale). Major e minor number sono visibili con il comando ls -l /dev. 14

15 File speciali del disco (/dev/sd*) Il disco rigido (SSD, CD-ROM, DVD-ROM) è caratterizzato da file speciali del tipo /dev/sd*. sd: SCSI (SATA) device. Sulla macchina del docente: ls -l /dev/sd* Sono rilevati i seguenti file speciali: /dev/sda, /dev/sda1, /dev/sda2 /dev/sdb, /dev/sdb1 Due dischi rigidi distinti (sda e sdb): sda con due partizioni (sda1, sda2); sdb con una partizione (sdb1). 15

16 Esercizi (1 min.) 1. Quanti dispositivi a blocchi di tipo disco (con quante partizioni) sono attaccati e riconosciuti sulla vostra macchina? 16

17 Il comando strings (Estrae stringhe da file) Il comando strings estrae stringhe da un file. man 1 strings per tutti gli (interessantissimi) dettagli. L'opzione -a forza la ricerca in tutto il file (non solo nelle sezioni contenenti dati). Si provi il comando su un eseguibile: strings -a /bin/ls Cosa si ottiene? 18

18 Alcune informazioni estraibili (Dai programmi eseguibili) Si ottengono alcune informazioni interessanti. Il nome del programma che carica /bin/ls (/lib64/ld-linux-x86-64.so.2), chiamato caricatore dinamico (dynamic loader). I simboli (nomi di funzioni, variabili globali) usati dal programma. Le stringhe stampate dal programma. Informazioni sul compilatore usato per costruire il binario eseguibile. 19

19 Esercizi (5 min.) 2. Si estraggano le stringhe contenute in un disco rigido a scelta. 20

20 Clone di dischi (One-liner equivalente a Ghost/Clonezilla) Il comando seguente: dd if=/dev/sda of=/dev/sdb effettua una copia blocco per blocco del disco identificato da /dev/sda nel disco identificato da /dev/sdb. Strumento per la clonazione di dischi. 22

21 Masterizzazione di CD (DVD) (One-liner equivalente all'uso di Nero) Analogamente, il comando seguente: dd if=img.iso of=/dev/cdrw effettua una copia blocco per blocco dell'immagine img.iso nel CD inserito nell'unità /dev/cdrw. Strumento per la masterizzazione di CD. 23

22 File speciali del terminale (/dev/tty*, /dev/pts/*) Il terminale (fisico, virtuale testuale, virtuale in ambiente grafico) è caratterizzato da file speciali del tipo /dev/tty*, /dev/vcs* e /dev/pts/*. tty: terminale testo (Ctrl-Alt-Fx, x=1,, 6). vcs: buffer di memoria del tty corrispondente. pts: pseudoterminale allocato dinamicamente da ssh, gnome-terminal, konsole, etc. 24

23 File speciali del terminale (/dev/tty*, /dev/pts/*) Sulla macchina del docente: ls -l /dev/{tty,vcs,pts}* Sono rilevati i seguenti file speciali: /dev/tty0,, /dev/tty63 /dev/vcs, /dev/vcs1, /dev/vcs8 /dev/pts/0,, /dev/pts/4 25

24 Lettura di un terminale (Cosa sta succedendo su un terminale?) Il comando seguente stampa ogni secondo la schermata del secondo terminale (tty2): watch -n 1 fold -w 80 /dev/vcs2 Ripete ogni secondo Si dia il comando precedente e si vada sul terminale TTY2 con Ctrl-Alt-F2. Si digitino delle stringhe e si osservi il risultato del primo comando. Ridimensiona l'output ad 80 caratteri Il file da stampare ridimensionato 26

25 Statistiche di un processo (Come si chiama? Quali risorse consuma?) Per un processo di PID p il kernel crea la directory /proc/p contenente statistiche di ogni tipo. man 5 proc per conoscere ogni dettaglio. Ogni file in questa directory è associata ad una variabile o struttura dati interna al kernel. Quali statistiche sono disponibili? 27

26 Statistiche di un processo (Statistiche disponibili; p è il PID del processo) Nome del comando: cat /proc/p/cmdline Variabili di ambiente: cat /proc/p/environ Limiti sulle risorse: cat /proc/p/limits File aperti: ls -l /proc/p/fd IO: cat /proc/p/io Aree di memoria: cat /proc/p/maps Schedulazione CPU: cat /proc/p/sched Informazioni di stato: cat /proc/p/stat Informazioni thread: cat /proc/p/task/* 28

27 Esercizi (10 min.) 3. Si esegua l'applicazione chromium. Si risponda alle seguenti domande: quanti file apre? quante librerie dinamiche usa? 29

28 Premessa (Doverosa) Nel resto della lezione si illustreranno le principali operazioni su file system, file e directory. Il file system utilizzato è EXT3. Stephen Tweedie (2001). Stephen Tweedie (1969 -) 31

29 OPERAZIONI SU UN FILE SYSTEM: CREAZIONE 32

30 Creazione di un file system (Famiglia di comandi mkfs; in particolare, mkfs.ext3) Prima di poter essere utilizzato, un dispositivo di memorizzazione di massa va preparato all'uso. In GNU/Linux, la creazione di un file system avviene tramite la famiglia di comandi mkfs. mkfs: make file system. Per il file system EXT3, il comando è mkfs.ext3. 33

31 Creazione di un supporto ospitante (Laddove dovesse mancare una chiavetta USB o un disco) Solitamente un file system è creato su un supporto fisico di memorizzazione secondaria (disco rigido, chiavetta). È anche possibile creare il file system su un file! A tal scopo, si crea innanzitutto un file di dimensione opportuna (ad es. 100MB) contenente zeri: dd if=/dev/zero of=ext3.img bs=1m count=100 File speciale del File ospitante dispositivo il file system generatore di zeri Copia 1M da if 100 volte 34

32 Creazione di un file system su file (Si esegue mkfs.ext3 sul file appena creato) Per creare il file system si digiti il seguente comando: mkfs.ext3 ext3.img Tale comando scrive diverse strutture di controllo all'interno del file, in posizioni ben specifiche. Il risultato è un file system che potrà essere utilizzato in seguito. 35

33 Esercizi (2 min.) 4. Si tracci l'esecuzione del comando appena dato. Si salvi la traccia nel file seguente: mkfs-img.trace. 36

34 Quali operazioni effettua mkfs.ext3? (Interessante a sapersi) Si apra la traccia e si cerchino le occorrenze chiamate di sistema che: aprono (open()) mkfs-img.ext3. chiudono (close()) mkfs-img.ext3. leggono (read()) da mkfs-img.ext3. scrivono (write()) su mkfs-img.ext3. riposizionano (llseek()) mkfs-img.ext3. leggono i metadati (fstat()) di mkfs-img.ext3. 38

35 Quali operazioni effettua mkfs.ext3? (Interessante a sapersi) Il programma mkfs.ext3 apre ext3.img in sola lettura (per non alterarlo) e ne determina la dimensione. Successivamente riapre il file in lettura/scrittura, azzerando il file system (sequenza di pwrite() di zeri). Poi, scrive alcune strutture di controllo in posizioni precise e quasi equidistanti (le ultime pwrite() non di zeri). Infine, forza i buffer non ancora scritti su disco (fsync()) e chiude il file (fclose()). 39

36 Operazioni di mkfs.ext3 su chiave USB (Sono le stesse viste ora? Se sì, il VFS astrae veramente le operazioni!) Le operazioni viste ora cambiano sensibilmente o no in presenza di un dispositivo fisico (ad es., una chiavetta USB)? Il file mkfs-usb.trace in 15-esempi.tar.bz2 contiene la traccia del comando: mkfs.ext3 /dev/sdc1 (dove /dev/sdc1 è il file speciale di una chiavetta USB). L'unica grande differenza è l'apertura del file speciale /dev/sdc1. Per il resto, le operazioni sono grosso modo le stesse! 40

37 La struttura di EXT3 (Uno schema generale) Il supporto (file, partizione) è suddiviso in diversi gruppi di blocchi (block group) di dimensione uguale. Ciascun gruppo di blocchi contiene un certo numero di: strutture di controllo. blocchi contenenti dati (inizialmente, vuoti). Block Group 0... Block Group n Super Block Group Descriptor Data Block Bitmap Inode Bitmap Inode Table Data Block 1 blocco > 1 blocco 1 blocco 1 blocco > 1 blocco > 1 blocco 41

38 Quanto è grande un singolo blocco? (Bella domanda! Ce lo dice il comando stat) Il comando stat visualizza i metadati di un file (grandezza, permessi, autore, data di creazione, data di modifica, ). Con l'opzione -f, stat ritorna informazioni relative al file system. stat -f ext3.img Sulla macchina del docente, il file system EXT3 creato usa blocchi di 4KB. 42

39 Il superblocco (Contiene informazioni sull'intero file system) Il superblocco (Super Block) memorizza alcune informazioni riguardanti il file system. Dimensione dei blocchi, numero totale di blocchi, numero di blocchi liberi, device major e minor, Ogni gruppo di blocchi contiene una copia del superblocco (per motivi legati alla robustezza). Block Group 0... Block Group n Super Block Group Descriptor Data Block Bitmap Inode Bitmap Inode Table Data Block 1 blocco > 1 blocco 1 blocco 1 blocco > 1 blocco > 1 blocco 43

40 Il descrittore dei gruppi (Contiene informazioni sul blocco di gruppi) Il descrittore dei gruppi (Group Descriptor) memorizza alcune informazioni riguardanti il gruppo di blocchi corrente. Posizione delle varie bitmap, tabella delle strutture di controllo (inode), strutture di controllo libere, blocchi liberi,... Block Group 0... Block Group n Super Block Group Descriptor Data Block Bitmap Inode Bitmap Inode Table Data Block 1 blocco > 1 blocco 1 blocco 1 blocco > 1 blocco > 1 blocco 44

41 La bitmap dei blocchi di dati (Specifica quali blocchi di dati sono liberi e quali allocati) La bitmap dei blocchi dei dati (Data Block Bitmap) specifica quali blocchi di dati sono liberi e quali allocati. Deve essere contenuta in un singolo blocco. Block Group 0... Block Group n Super Block Group Descriptor Data Block Bitmap Inode Bitmap Inode Table Data Block 1 blocco > 1 blocco 1 blocco 1 blocco > 1 blocco > 1 blocco 45

42 La bitmap degli inode (Specifica quali strutture di controllo sono libere e quali allocati) La bitmap degli inode (Inode Bitmap) specifica quali strutture di controllo sono libere e quali allocate. Deve essere contenuta in un singolo blocco. Block Group 0... Block Group n Super Block Group Descriptor Data Block Bitmap Inode Bitmap Inode Table Data Block 1 blocco > 1 blocco 1 blocco 1 blocco > 1 blocco > 1 blocco 46

43 La tabella degli inode (Specifica quali strutture di controllo sono libere e quali allocati) La tabella degli inode (Inode Table) contiene tutte le strutture di controllo del file system. Un blocco più strutture impacchettate. Block Group 0... Block Group n Super Block Group Descriptor Data Block Bitmap Inode Bitmap Inode Table Data Block 1 blocco > 1 blocco 1 blocco 1 blocco > 1 blocco > 1 blocco 47

44 I blocchi dati (Memorizzano il contenuto dei file) I blocchi dati (Data Block) memorizzano il contenuto dei file. Block Group 0... Block Group n Super Block Group Descriptor Data Block Bitmap Inode Bitmap Inode Table Data Block 1 blocco > 1 blocco 1 blocco 1 blocco > 1 blocco > 1 blocco 48

45 OPERAZIONI SU UN FILE SYSTEM: CONTROLLO 49

46 Controllo di consistenza (AKA File system check ) Ciascun file system ha un applicativo per il controllo ed il mantenimento della consistenza dei metadati e dei blocchi. In Linux: suite di programmi fsck.nome_fs. fsck.ext3, fsck.vfat, Avvio (GNU/Linux): automatico, al boot, a file system montato in sola lettura, per il controllo della struttura in caso di problemi (segnalati dalla presenza di un file). manuale, da linea di comando (a file system smontato), con possibilità di riparazione. 50

47 Operazioni effettuate da fsck (Possono variare sensibilmente con il tipo di file system) Controllo di consistenza. Superblocco (dimensione del file system, numero di inode dichiarati, contatori di blocchi e inode liberi). Struttura delle directory (elementi disconnesse). Conteggio degli hard link di file e directory. Blocchi dati con checksum corrotto. Riparazione. Impostazione di metadati a valori consistenti. Ricostruzione della struttura delle directory. Marcatura di un blocco come inusabile. 51

48 Controllo di un file system su file (Si esegue fsck.ext3 sul file system appena creato) Per controllare il file system si digiti il seguente comando: fsck.ext3 ext3.img 52

49 Esercizi (2 min.) 5. Quali segnali gestisce fsck.ext3? 53

50 OPERAZIONI SU UN FILE SYSTEM: MONTAGGIO 55

51 Aggancio di un nuovo file system (File system mount) Un file system, prima di essere utilizzato deve essere associato ad un dispositivo di memorizzazione secondaria. deve essere agganciato ad un file system esistente, usando una directory come punto di attacco. Tali due operazioni prendono il nome di file system mount o, più brevemente, mount. La directory di aggancio prende il nome di mount point (punto di attacco). 56

52 Tabella di mount Aggancio file system: prima / Disco rigido (Due alberi staccati) Root file system su disco rigido Root directory / File system su CD-ROM Mount point /media/cdrom 57

53 Tabella di mount File system su CD-ROM Aggancio file system: dopo / Disco rigido /media/cdrom CDROM (Due alberi uniti) Root file system su disco rigido Mount point /media/cdrom Root directory / 58

54 Opzioni di mount (Lettura e scrittura, esecuzione, sincrona, asincrona) read-only: il file system è montato in sola lettura. sync: le scritture sono sincrone (eseguite una dietro l'altra, in maniera bloccante). async: le scritture sono asincrone (eseguite in blocco, più avanti, nel momento più favorevole). exec: si permette l'esecuzione dei programmi. 59

55 Montaggio del file system in UNIX (Il comando mount) Il comando mount permette di associare un supporto (file speciale, file contenente un file system) ad un mount point. Sintassi generale: mount -o options -t fs_type special_file mount_point Ad es. (montaggio in sola lettura): mount -o ro -t ext3 /dev/sda2 /mnt Se non si specificano opzioni e tipo, mount prova a scoprire il tipo del file system e a montarlo con opzioni di default (read write, esecuzione). 60

56 Montaggio del file system creato (Si esegue il comando mount sul file system creato) Si provi a montare il file system creato con il comando seguente: mount ext3.img /mnt La directory /mnt è, per convenzione, dedicata al montaggio di un file system esterno. (Nulla osta a montare il file system su un'altra directory). OCCHIO: mount vuole i privilegi di root! 61

57 Esercizi (3 min.) 6. Usando mount è possibile visualizzare tutti i file system montati? Se sì, come? 62

58 Visione dei file system su supporto (Supporto secondario fisico: dispositivo o file) Il comando lsblk visualizza i file system memorizzati su supporti fisici o file, con annessi mount point. lsblk È possibile ordinare l'output su campi specifici con l'opzione -x. lsblk -x mostra i campi disponibili. 64

59 Esercizi (3 min.) 7. Si ordini l'output di lsblk per dimensione del file system. 65

60 La tabella di mount (Fire up Il kernel mantiene una tabella di mount. In tale tabella sono mantenute tutte le associazioni dispositivo mount point. In Linux, la tabella di mount è implementata tramite la struttura dati struct vfsmount. File $LINUX/include/mount.h 67

61 Come interviene il VFS 1/2 (Meccanismo generale di associazione file system directory) Il comando mount invoca la chiamata di sistema mount. man 2 mount per conoscere tutti i dettagli. $LINUX/fs/namespace.c. mount() invoca la funzione di lavoro do_mount(). Nel caso di mount di un file system nuovo viene invocata la do_new_mount(). 68

62 Come interviene il VFS 2/2 (Meccanismo generale di associazione file system directory) do_new_mount() individua il tipo di file system ed invoca il meccanismo di montaggio del VFS tramite la vfs_kern_mount(). vfs_kern_mount() aggiorna la tabella di mount con il nuovo file system. 69

63 VFS e i diversi file system (Che possono usare superblocchi, ma anche no) File system diversi possono usare superblocchi di formato diverso. Altri file system (ad esempio, quelli virtuali come /proc) il superblocco non lo usano proprio! Il VFS fornisce una astrazione generale di superblocco: la struct super_ block. $LINUX/include/linux/fs.h Per un file system su disco, contiene i dati del relativo superblocco. Per un file system virtuale, è riempita dal kernel. 70

64 super_block e vfs_kern_mount() (Si usa super_block per rappresentare un qualsiasi file system montato) Nella vfs_kern_mount(): viene allocato un nuovo elemento della tabella di mount. alloc_vfsmnt() viene montato un file system. mount_fs() l'elemento della tabella viene popolato con il super_block del file system. mnt mnt.mnt_sb = root d_sb; Superblocco del VFS Superblocco del FS su disco 71

65 Sgancio del file system (File system umount) Il file system può essere staccato dal suo mount point tramite l'operazione di unmount (umount nel gergo UNIX), sostanzialmente l'inversa di mount. L'unmount è preceduto da un flush dei buffer del kernel. NOTA BENE: per motivi di efficienza, le scritture su di un file system sono eseguite in blocco, al momento più favorevole. Estrarre fisicamente un dispositivo senza aver smontato il suo file system equivale a corromperne i dati! 72

66 Root file system (La radice di tutti i mali) Almeno un file system deve essere presente all'avvio del SO, affinché il mount degli altri file system sia sempre possibile. Tale file system prende il nome di root file system e contiene almeno il comando init (directory /sbin o /usr/bin) per avviare i servizi della macchina. Tipicamente, il root file system è associato ad un disco rigido installato permanentemente. 73

67 Smontaggio del file system (Il comando umount) Il comando umount rompe l'associazione tra file system e mount point. Sintassi generale: umount [special_file mount_point] Ad es. (montaggio in sola lettura): umount /dev/sda2 umount /mnt 74

68 Smontaggio del file system creato (Si esegue il comando umount sul file system creato) Si provi a smontare il file system creato con il comando seguente: umount /mnt OCCHIO: umount vuole i privilegi di root! 75

69 OPERAZIONI SU UN FILE SYSTEM: RAPPRESENTAZIONE DI FILE 76

70 File Control Block (La struttura di controllo) Il File Control Block è la struttura che memorizza le proprietà durevoli di un file. Proprietario. Date notevoli (creazione, ultimo accesso, modifica). Dimensione. Permessi di accesso. Puntatori a blocchi di dati (il primo o tutti). Il FCB è memorizzato su disco. Hard disk FCB 77

71 L'inode EXT3 (Memorizza i metadati di un file) Nei file system UNIX (e, dunque, anche in EXT3), il FCB è l'inode. Esso è definito tramite la struttura dati seguente: struct ext3_inode. $LINUX/fs/ext3/ext3.h La sua dimensione tipica è di 128 byte. 78

72 Memorizzazione dei blocchi nell'inode (Tramite uno schema gerarchico di puntatori a blocchi) Nell'inode sono contenuti 15 puntatori a blocchi. Puntatori 1-12: puntatori diretti (blocchi diretti). Puntatore 13: puntatore a puntatore di blocchi (blocco indiretto singolo). Puntatore 14: puntatore a puntatore a puntatore di blocchi (blocco indiretto doppio). Puntatore 15: puntatore a puntatore a puntatore a puntatore di blocchi (blocco indiretto triplo). In tal modo è possibile memorizzare file di dimensioni estremamente eterogenee usando una tabella dei puntatori contenuta. 79

73 Organizzazione dell'inode (Metadati, blocchi diretti, blocchi indiretti singoli, doppi e tripli) Modo (permessi) dati Proprietario dati Timestamp Dimensione dati... Blocchi diretti... dati Indiretto singolo Indiretto doppio Indiretto triplo... dati dati dati dati dati dati 80

74 OPERAZIONI SU UN FILE SYSTEM: RAPPRESENTAZIONE DI DIRECTORY 81

75 La directory (Easier than I thought) Una directory è un file contenente coppie del tipo (nome, puntatore). Nome: Nome ad alto livello di un contenitore di informazioni (file, directory). Puntatore: punta ad una struttura dati contenente i metadati di un file o di un'altra directory. nome nome nome nome FCB FCB FCB FCB 82

76 Strutture di directory (Oggi si usa il modello a grafo) Una directory può essere rappresentata mediante diversi modelli (e relative strutture dati). 1.A singolo livello. 2.A due livelli. 3.Ad albero. 4.A grafo

77 I difetti dei primi schemi (AKA Perché oggi si usa lo schema a grafo ) Schema a singolo livello (console anni '80): estremamente scomodo nei sistemi multiutente (che succede se due utenti nominano allo stesso modo un file?). Schema a doppio livello (VMS): esiste un completo isolamento fra utenti. Schema ad albero (MSDOS): è scomodo condividere file fra utenti senza copiarli; è impossibile creare collegamenti a file. 84

78 Directory a grafo aciclico (Aciclico niente cicli infiniti di directory) Il file system è modellato con un grafo aciclico. Vertici: directory o file. Archi: relazioni fra directory e file contenuti. Vertice radice: rappresenta la directory radice del file system (UNIX: /, Windows: C:\). In tale modello, il contenuto di un file può essere referenziato da due elementi di directory (hard link) distinti. Usato da: SO UNIX. 85

79 Directory a grafo aciclico (Aciclico niente cicli infiniti di directory) / home bin I due elementi di directory puntano allo stesso FCB (dunque, allo stesso contenuto). Hard link amap amap6 Hard link 86

80 Un esempio di hard link (Debian) Nel SO Debian GNU/Linux, i due comandi eseguibili sudo e sudoedit (in /usr/bin) sono due hard link allo stesso contenuto. ls -l /usr/bin/sudo* Si osserva il contatore di hard link (secondo campo). Il contatore è posto a 2 (due elementi di directory puntano allo stesso contenuto). Rationale: il programma si comporta in maniera diversa a seconda del suo nome (ARGV[0]). Non c'è bisogno di installare due programmi quasi identici; se ne usa uno solo risparmio di spazio. 87

81 Limitazioni del modello a grafo aciclico (Diverse, purtroppo) Non è possibile introdurre un ciclo nel grafo. Niente link a directory superiori (si creerebbe un ciclo infinito). cd directory in una directory con ciclo stallo. Non è possibile creare un hard link ad un file in un altro file system. File system diversi implementazioni diverse delle directory. Ogni file system dovrebbe conoscere l'implementazione delle directory di ogni altro file system impraticabile. 88

82 Directory a grafo ciclico (Ciclico possibili cicli infiniti di directory) Il file system è modellato con un grafo ciclico. Vertici: directory o file. Archi: relazioni fra directory e file contenuti. Vertice radice: rappresenta la directory radice del file system (UNIX: /, Windows: C:\). In tale modello, è possibile creare link in grado di chiudere cicli (noti con il nome di soft link). Il contenuto è unico! I metadati del file sono unici! Usato da: SO UNIX (soft link), Windows 89 (collegamenti simbolici).

83 Directory a grafo ciclico (Ciclico possibili cicli infiniti di directory) home / bin I due elementi di directory puntano ad FCB diversi. Il contenuto puntato Il contenuto puntato da questo FCB è il da questo FCB è percorso del file quello del file originale. collegato. Hard link gawk awk Hard link Soft link awk gawk 90

84 Directory in EXT3 (Un file contenente una tabella di nomi e puntatori) In EXT3, una directory è implementata alla stregua di un file speciale (simbolo d nell'output di ls -l). Il contenuto di una directory è una lista di elementi del tipo: (nome, inode, lunghezza elemento). L'elemento è rappresentato dalla struct ext3_dir_entry. $LINUX/fs/ext3/ext3.h. 91

85 tempo Cancellazione di una directory (L'elemento precedente si ridimensiona opportunamente) Tabella directory prima della cancellazione di File4 File1 File2 File3 File4 File5 Inode 410 Inode 900 Inode 419 Inode 429 Inode 482 Tabella directory dopo la cancellazione di File4 File1 File2 Inode 410 Inode 900 File3 Inode 419 File4 Inode 429 L'elemento precedente si ridimensiona inglobando l'elemento cancellato File5 Inode

86 OPERAZIONI SU UN FILE SYSTEM: GESTIONE DELLO SPAZIO LIBERO 93

87 Il problema (Contro cosa si deve combattere) Lo spazio di memorizzazione secondario, seppur presente in misura molto maggiore rispetto alla memoria centrale, è comunque limitato. Come tenere traccia dei blocchi liberi? Gestione (efficiente) di un elenco (grande) di blocchi di liberi. In EXT3 si usa una bitmap. 94

88 Bitmap in EXT3 (Block bitmap, inode bitmap) Nell'area dei metadati di ciascun gruppo EXT3 alloca un intero blocco per la bitmap dei blocchi. 0: blocco libero, 1: blocco occupato. Il blocco della bitmap è puntato da un campo del descrittore di gruppo struct ext3_group_desc, definita nel file $LINUX/fs/ext3/ext3.h. Campo bg_block_bitmap, per la precisione. Vi è una bitmap analoga per gli inode, bg_inode_bitmap. 95

89 Gestione della bitmap (Operazioni di set/get sui bit) La gestione della bitmap è affidata ad alcune funzioni in $LINUX/fs/ext3/ext3.h. ext3_set_bit(): imposta ad 1 un bit. ext3_clear_bit(): imposta a 0 un bit. ext3_test_bit(): ritorna il valore di un bit. ext3_find_next_zero_bit(): trova l'indice del prossimo bit impostato a zero. Tali funzioni sono usate dagli allocatori di blocchi (balloc.c) e inode (ialloc.c). 96

90 OPERAZIONI SU UN FILE SYSTEM: ALLOCAZIONE DEI BLOCCHI 97

91 Lo scenario (A cosa sono soggetti kernel e disco) Solitamente, diversi processi vogliono scrivere sul disco contemporaneamente. Il SO si trova nella situazione di dover allocare blocchi di file system a diversi processi, per le operazioni di scrittura. Come allocare tali blocchi, in modo tale da usare lo spazio libero in maniera efficace? garantire un accesso veloce ai file (record logicamente vicini dovrebbero corrispondere a blocchi su disco fisicamente vicini)? 98

92 Frammentazione interna (Blocco troppo grande può non essere usato tutto) Se il blocco è di dimensione grande, un processo che scrive file piccoli rischia di allocare un blocco e di usarne una minima parte, con enorme spreco di spazio. Si ha frammentazione interna. 99

93 Frammentazione esterna (Blocco troppo grande può non essere usato tutto) Se il blocco è di dimensione piccola, un processo che scrive file grandi rischia di richiedere tantissimi blocchi, potenzialmente sparpagliati sul disco. In seguito a creazioni e cancellazioni di file, i blocchi liberi risultano disposti a gruviera. Si ha frammentazione esterna. 100

94 Allocazione inode per file (Nello stesso gruppo di blocchi, preferibilmente) Quando si crea un nuovo file, EXT3 prova ad allocare un inode nello stesso gruppo di blocchi della directory superiore. Rationale: tutti i file di una directory sono scritti in posizioni vicine sul disco. Tutti i file in /usr Tutti i file in /bin stesso gruppo. stesso gruppo. Ad es., ls -l /bin è velocissimo su un disco rotazionale (movimenti della testina ridotti). 101

95 Allocazione inode per file (Altrimenti, ricerca quadratica veloce oppure ricerca lineare lenta) Se il gruppo di blocchi i-mo è pieno, si opera una ricerca quadratica. Si cerca nei gruppi di blocchi: i % n (i + 1) % n (i ) % n (i ) % n Se tali gruppi di blocchi sono tutti pieni, si opera una ricerca lineare su tutti i gruppi di blocchi. Funzione ext3_get_inode(). $LINUX/fs/ext3/inode.c. 102

96 Allocazione inode per directory (In un gruppo di blocchi non molto utilizzato) Quando si crea una nuova directory, EXT3 prova ad allocare un inode in un gruppo di blocchi non molto utilizzato (il cui numero di blocchi e inode occupati sia sotto la media sui vari gruppi di blocchi). Rationale: mantenere bilanciati i diversi gruppi di blocchi. 103

97 Allocazione blocchi dati (Possibilmente vicino al precedente) Quando un file o una directory sono aumentati, EXT3 alloca un nuovo blocco dati. Primo obiettivo: si tenta l'allocazione di un blocco contiguo al precedente. Se si riesce, si tenta anche una pre-allocazione di otto blocchi (anche se ne è chiesto uno solo). Rationale: favorire la contiguità del file su disco (aumenta le prestazioni in dischi rotazionali). 104

98 Allocazione blocchi dati (Altirmenti, su blocchi distanti nello stesso gruppo o in gruppi successivi) Se invece il blocco contiguo non è libero, si prova con il blocco immediatamente successivo. Se si trova un blocco nello stesso gruppo di blocchi, si tenta la pre-allocazione. Se non si trova un blocco libero, si cerca negli altri gruppi di blocchi. Funzione ext3_get_block(). $LINUX/fs/ext3/inode.c. 105

99 OPERAZIONI SU FILE: METADATI 106

100 Tipi di file (File di testo, documenti, eseguibili, script di shell) I file possono essere classificati in tipi, in modo tale da assegnare ad essi una applicazione di default che li possa gestire. Esempi: Codice sorgente editor del programmatore. File multimediale riproduttore audio/video. Come fa il SO a riconoscere il tipo di file? Associazione di una estensione. Analisi del contenuto del file. 107

101 Estensione (.txt,.doc,.exe,.sh) Si aggiunge al nome del file una estensione secondo lo schema: <nome_file><separatore><estensione> Esempi: command.com, autoexec.bat, report.doc In tale schema: nome_file è un nome assegnato dall'utente. estensione è una stringa rappresentante univocamente il tipo di dato in questione. separatore è un carattere che delinea il nome dall'estensione (solitamente, un punto). 108

102 Supporto per le estensioni: associazione diretta (Il SO decide l'applicazione di default) Il meccanismo più semplice di riconoscimento del tipo del file è la associazione diretta. Il SO legge l'estensione del file e gli associa automaticamente una applicazione tipo. Il nome dell'applicazione tipo: è cablato nel SO (MS-DOS, UNIX linea di comando con filtro lesspipe). è scritto come metadato del file (Mac OS). 109

103 Supporto per le estensioni: lista di estensioni 1/2 (L'applicazione dichiara la sua lista di estensioni) Ciascuna applicazione gestisce una lista di estensioni gradite. Ad esempio, Libreoffice.doc,.odt,.docx Diverse applicazioni possono leggere lo stesso tipo di file. Abiword, Openoffice, Libreoffice.doc Una sola applicazione può essere impostata come il default per un dato tipo di file. 110

104 Supporto per le estensioni: lista di estensioni 2/2 (L'applicazione dichiara la sua lista di estensioni) Quando un utente clicca due volte sull'icona di un file in un ambiente desktop, il SO carica l'applicazione di default. Quando un utente clicca col tasto destro sull'icona del file e seleziona Apri con..., viene mostrata la lista delle applicazioni in grado di gestire il tipo di file. Approccio usato nei SO: Windows UNIX (desktop grafico) 111

105 Analisi del contenuto (Approccio signature-based, simile al modus operandi di un antivirus) Ciascun file è riconoscibile da una o più sequenze di byte (dette magic number) in offset strategici. Ad esempio, un eseguibile in formato ELF contiene i caratteri 'E', 'L', 'F' nel secondo, terzo e quarto byte. Si digiti less /bin/ls per verificare. Il sistema operativo contiene tutti i magic number in un database locale su file, detto magic file. /usr/share/file/misc/magic 112

106 L'interfaccia ai magic file (Approccio signature-based ; molto più potente delle estensioni) Il comando file (UNIX, linea di comando) scandisce un file alla ricerca dei magic number, fino a quando non ne trova uno corretto. file file.txt file.txt: ASCII text, with very long lines. 113

107 Il tipo di dato file eseguibile (AKA Come far partire i programmi eseguibili digitando il loro nome) In GNU/Linux, un file eseguibile (riconosciuto dalla signature del formato ELF) è associato ad un programma detto caricatore (loader). /lib/ld-linux.so.2 Il caricatore: carica in memoria le librerie necessarie all'esecuzione. carica il programma. 114

108 Il tipo di dato file eseguibile (AKA Come far partire gli script digitando il loro nome) Il caricatore controlla se il file inizia con una riga simile (detta she-bang): #!/bin/bash Tale linea specifica l'interprete dello script. In tal caso, il caricatore: carica l'interprete (con relative librerie) esegue l'interprete con argomento pari al nome dello script. 115

109 Esercizi (10 min.) 8. Si trovino tutti i file di testo nel file system. Si usino i seguenti comandi: find, file. 116

110 OPERAZIONI SU FILE: I/O BUFFERIZZATO 119

111 La tabella dei file aperti (Il kernel deve sapere quali file ha aperto un processo) Ciascun PCB di processo contiene un puntatore ad una tabella dei file aperti. Tale tabella contiene strutture dati descriventi, all'intenro del kernel, i file attualmente aperti dal processo. In Linux, la task_struct ha un campo struct files_struct *files. 120

112 I/O low-level e bufferizzato (Si interagisce direttamente col kernel oppure si usa un buffer della GLIBC) I/O diretto (basso livello, low-level): le operazioni sono inviate direttamente al kernel, una per una. I/O bufferizzato: le operazioni di I/O sono gestite da un buffer intermedio. Letture e scritture sono ritardate fino al riempirsi del buffer. 121

113 Buffering in GNU/Linux (Due buffer; uno applicativo, uno del kernel) Buffer applicativo. Usato dalle funzioni di libreria del C. Le operazioni di I/O lavorano con un buffer più grande di un carattere. Una chiamata di sistema Un minimo di lavoro per il kernel. Buffer del kernel. Usato per ricordarsi delle letture fatte (le richieste successive sono servite da RAM). Usato per raggruppare le scritture (essendo più lente delle letture, sono fatte tutte insieme). 122

114 Buffering in GNU/Linux (Un'immagine vale 1000 parole) Applicazione Libreria del C Funzioni di I/O (Bufferizzato o no) Buffer applicativo User Kernel Chiamate di sistema Hardware Esecutore I/O Buffer kernel 123

115 Esempio: read bufferizzata (Un'immagine vale 1000 parole) User Kernel Applicazione 9 Libreria del C 3 1 Funzioni di I/O (Bufferizzato o no) 2 8 Chiamate di sistema 6 Buffer applicativo 7 Hardware Esecutore I/O 4 5 Buffer kernel 124

116 Impostazione del buffer applicativo (Tre modalità distinte) Nessun buffer: il buffer ha dimensione nulla (non viene utilizzato). Singola riga: il buffer è considerato riempito quando raggiunge la sua massima dimensione o quando si incontra un carattere newline. Buffering completo: il buffer è considerato riempito quando raggiunge la sua massima dimensione. 125

117 Flushing dei buffer (Applicativi e kernel) È possibile forzare in ogni istante il contenuto dei buffer applicativo e/o kernel sul disco. Un concetto, due nomi distinti. Flush: svuotamento del buffer applicativo. Sync: svuotamento del buffer del kernel. 126

118 I/O diretto e file descriptor (Il legame tra descrittore di file e tabella dei file aperti) In caso di I/O diretto, un file aperto è identificato da un intero detto descrittore di file (file descriptor). Il descrittore di file è un indice all'elemento relativo della tabella dei file aperti. Il descrittore di file è ottenuto come valore di ritorno della chiamata di sistema open(). 127

119 I/O bufferizzato e FILE * (Il legame tra FILE * e tabella dei file aperti) In caso di I/O bufferizzato, un file aperto è chiamato stream ed è identificato da un puntatore ad una struct _IO_FILE (FILE * nella libreria del C). Tale struttura contiene: il descrittore del file con cui identificare l'elemento della tabella dei file aperti. un puntatore al buffer applicativo di default. informazioni di controllo dello stream (posizione della testina, lunghezza del buffer,...). Il FILE * è ottenuto come valore di ritorno della funzione di libreria fopen(). 128

120 Applicazione Descrittore del file User Kernel Descrittore di file e FILE * (Un'immagine vale 1000 parole) FILE * Descrittore del file I/O non bufferizzato Tabella dei file aperti Descrittore del file I/O bufferizzato Hardware 129

121 Il monitor dei poveri (Un grande classico della letteratura) Si provi a costruire un monitor di CPU dei poveri usando il comando esterno mpstat e prendendo la terza colonna dell'output. mpstat è nel pacchetto software sysstat. Il task è scomponibile in una pipeline a tre stadi. Avvio del monitor (mpstat 1). Compattazione degli spazi tra i campi del record (tr -s ). Individuazione della terza colonna, usando come separatore il singolo spazio (cut -f3 -d ). mpstat 1 tr -s cut -f3 -d 130

122 Il comando non funziona (Perché?) Si lanci la pipeline e si scopra, con tristezza, che non funziona. mpstat 1 tr -s cut -f3 -d Che cosa è successo? In realtà, la pipeline immessa funziona. Probabilmente, uno dei comandi è bufferizzato su un record logico abbastanza grande. Finché il record logico non è riempito, il buffer non è scaricato sulla pipe e l'applicazione successiva non riceve niente. 131

123 Analisi del buffering (Chi è stato?) Chi può essere il colpevole? Comando esterno mpstat. Non può essere! Il suo output è orientato alle linee! Altrimenti non vedreste output periodico... Comando esterno cut. Si verifichi se è lui. Si tolga tr dalla pipeline e si veda se l'output si blocca. mpstat 1 cut -f3 -d L'output è di nuovo istantaneo cut è innocente. Il colpevole deve essere il comando esterno tr. 132

124 Dimostrazione del buffering (Con tanto di prove) Il comando esterno tr è presente nel pacchetto coreutils (utility di base del sistema). Se si scarica l'archivio sorgente con il seguente comando (Debian): apt-get source coreutils (BIG FAT WARNING: abilitare i repository dei sorgenti se non si riesce a scaricare l'archivio) e si entra nella directory coreutils-8.13/src, aprendo il file tr.c (sorgente di tr) si scopre che l'i/o è bufferizzato con record logici di dimensione pari a BUFSIZ (32KB). 133

125 Come si controlla il buffering? (Come si risolve il problema?) Il problema si risolve impostando il buffering in modalità line oriented per il comando esterno tr. Fortunatamente, il comando esterno stdbuf effettua proprio questa operazione in maniera estremamente semplice. stdbuf -ol tr -s : imposta il buffering line oriented (-ol) per il comando esterno tr -s man stdbuf per tutti i dettagli Si provi la seguente pipeline: mpstat 1 stdbuf -ol tr -s cut -f 3 -d 134

126 Esercizi (5 min.) 9. Si modifichi la pipeline precedente in modo tale da monitorare la percentuale di tempo in cui la CPU è inattiva (CPU idle). 135

127 OPERAZIONI SU FILE: RIPOSIZIONAMENTO 137

128 Modifica della posizione del file (AKA Seeking ) Si interroghi il manuale circa la presenza di funzioni per la modifica della posizione del file. apropos -s2,3 reposition Si ottiene: lseek(): chiamata di sistema per il riposizionamento in un file (I/O non bufferizzato). fseek(): funzione di libreria per il riposizionamento in uno stream (I/O bufferizzato). 138

129 I tipi di riposizionamento (In avanti/indietro, da inizio/posizione attuale/fine file) File contenente N byte di dati Byte non scritti dopo EOF N-2 N-1 N N+1... SEEK_SET SEEK_CUR SEEK_END Valore del terzo parametro di lseek() Esempio d'uso: sorgente lseek_txt.c dentro l'archivio 15-esempi.tar.bz2. 139

130 Esercizi (5 min.) 10. Si modifichi il programma lseek_txt.c in modo tale da spostare la posizione al penultimo carattere del file. 140

Lezione T11 Virtual File System

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

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

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

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

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

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

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

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

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

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

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistemi Operativi Il Sistema Operativo Windows (parte 3) Sistemi Operativi Il Sistema Operativo Windows (parte 3) Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega Architettura di NTFS 1 NTFS file system adottato

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

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

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

Dettagli

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

FoLUG Forlì Linux User Group. Partizionamento

FoLUG Forlì Linux User Group. Partizionamento FoLUG Forlì Linux User Group con la partecipazione della Circoscrizione n 3 di Forlì Partizionamento Quello che occorre sapere sul disco fisso per installare UBUNTU 10.10 o altri sistemi operativi. FoLUG

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

Software di base. Corso di Fondamenti di Informatica

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

Dettagli

Il sistema operativo: interazione con l utente

Il sistema operativo: interazione con l utente interazione con l utente S.O fornisce un meccanismo per specificare le attività da eseguire (es. copiare un file) L interazione avviene mediante un linguaggio testuale (DOS) o grafico (Windows) linguaggio

Dettagli

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

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

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

Gestione del file system

Gestione del file system Gestione del file system Gestione del file system Il gestore del file system è quella parte del sistema operativo incaricato di gestire le informazioni memorizzate sui dispositivi di memoria permanente

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

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

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) Implementazione del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Implementazione del File System Sommario Realizzazione del

Dettagli

Indice. settembre 2008 Il File System 2

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

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

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

Informatica e Bioinformatica: Sistemi Operativi

Informatica e Bioinformatica: Sistemi Operativi Informatica e Bioinformatica: Sistemi Operativi 11 marzo 2013 Macchina Hardware/Software Sistema Operativo Macchina Hardware La macchina hardware corrisponde alle componenti fisiche del calcolatore (quelle

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

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Il memory manager. Gestione della memoria centrale

Il memory manager. Gestione della memoria centrale Il memory manager Gestione della memoria centrale La memoria La memoria RAM è un vettore molto grande di WORD cioè celle elementari a 16bit, 32bit, 64bit (2Byte, 4Byte, 8Byte) o altre misure a seconda

Dettagli

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Esercitazione su Windows. Introduzione al calcolatore Introduzione a Windows

Esercitazione su Windows. Introduzione al calcolatore Introduzione a Windows Esercitazione su Windows Introduzione al calcolatore Introduzione a Windows Sistemi Operativi Moderni Multi-Utente Multi-Processo Strutturati a Cipolla Dispongono di Interfaccia Grafica (GUI) oltre che

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

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

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

Lezione 12. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 12. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 12 Sistemi operativi 19 maggio 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 12.1 Di cosa parliamo in questa lezione? Organizzazione e realizzazione dei

Dettagli

INTERAZIONE CON L UTENTEL

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

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

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

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

Dettagli

Breve guida a Linux Mint

Breve guida a Linux Mint Breve guida a Linux Mint Il Desktop. Il "desktop" (scrivania) è la parte del sistema operativo che è responsabile per gli elementi che appaiono sul desktop: il Pannello, lo sfondo, il Centro di Controllo,

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

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................

Dettagli

Nozioni di Informatica di base. dott. Andrea Mazzini

Nozioni di Informatica di base. dott. Andrea Mazzini Nozioni di Informatica di base dott. Andrea Mazzini Hardware e Software Hardware: la parte fisica del calcolatore Software: l insieme di programmi che un calcolatore richiede per funzionare Nozioni di

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

PARTE 4 La Macchina Software

PARTE 4 La Macchina Software PARTE 4 La Macchina Software 94 Macchina Hardware e Macchina Software applicativi sistema operativo macchina hardware Agli albori dell'informatica, si programmava in binario, cioe` in linguaggio macchina,

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

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

Installazione LINUX 10.0

Installazione LINUX 10.0 Installazione LINUX 10.0 1 Principali passi Prima di iniziare con l'installazione è necessario entrare nel menu di configurazione del PC (F2 durante lo start-up) e selezionare nel menu di set-up il boot

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

MANUALE EDICOLA 04.05

MANUALE EDICOLA 04.05 MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

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

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

5-1 FILE: CREAZIONE NUOVO DOCUMENTO Capittol lo 5 File 5-1 FILE: CREAZIONE NUOVO DOCUMENTO In Word è possibile creare documenti completamente nuovi oppure risparmiare tempo utilizzando autocomposizioni o modelli, che consentono di creare

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione.

Controllo I/O Costituito dai driver dei dispositivi e dai gestori dei segnali d interruzione. C6. REALIZZAZIONE DEL FILE SYSTEM Struttura del file system Un file è analizzabile da diversi punti di vista. Dal punto di vista del sistema è un contenitore di dati collegati tra di loro, mentre dal punto

Dettagli

Il computer: primi elementi

Il computer: primi elementi Il computer: primi elementi Tommaso Motta T. Motta Il computer: primi elementi 1 Informazioni Computer = mezzo per memorizzare, elaborare, comunicare e trasmettere le informazioni Tutte le informazioni

Dettagli

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. Uso del computer e gestione dei file 57 2.2.2.1 Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento. All interno

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Implementazione del File System

Implementazione del File System Implementazione del file system Implementazione del File System Struttura del file system. Realizzazione del file system. Implementazione delle directory. Metodi di allocazione. Gestione dello spazio libero.

Dettagli

GUIDA UTENTE PRIMA NOTA SEMPLICE

GUIDA UTENTE PRIMA NOTA SEMPLICE GUIDA UTENTE PRIMA NOTA SEMPLICE (Vers. 2.0.0) Installazione... 2 Prima esecuzione... 5 Login... 6 Funzionalità... 7 Prima Nota... 8 Registrazione nuovo movimento... 10 Associazione di file all operazione...

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Primi Passi con GNU/Linux

Primi Passi con GNU/Linux Primi Passi con GNU/Linux Relatore: P pex email: pipex08@gmail.com Feb-2010 Pre-Installazione Funzionerà tutto? lista del proprio Hardware ricerca della "compatibilità" sotto Linux Utilizzare una Live

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

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi

Parte V. Sistemi Operativi & Reti. Sistemi Operativi. Sistemi Operativi Parte V & Reti Sistema operativo: insieme di programmi che gestiscono l hardware Hardware: CPU Memoria RAM Memoria di massa (Hard Disk) Dispositivi di I/O Il sistema operativo rende disponibile anche il

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Guida iscrizione Community. istruzione.social.marche.it

Guida iscrizione Community. istruzione.social.marche.it Guida iscrizione Community istruzione.social.marche.it 1. Collegarsi con un browser all indirizzo : http://istruzione.social.marche.it 2. Viene visualizzata la seguente schermata di cohesion : 3. Se siete

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

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

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE

PROGRAMMI UTENTE INTERPRETE COMANDI FILE SYSTEM GESTIONE DELLE PERIFERICHE GESTIONE DELLA MEMORIA GESTIONE DEI PROCESSI (NUCLEO) HARDWARE IL SISTEMA OPERATIVO Insieme di programmi che opera al di sopra della macchina fisica, mascherandone le caratteristiche e fornendo agli utenti funzionalità di alto livello. PROGRAMMI UTENTE INTERPRETE

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) Implementazione del file system Patrizia Scandurra Università degli Studi di Bergamo a.a. 2011-12 Implementazione del File System Sommario Realizzazione del

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file

11 Realizzazione del File System. 11.1.1 Struttura a livelli (fig. 11.1) 11.4 Allocazione dei file 11 Realizzazione del File System 1 Metodi di allocazione Allocazione contigua Allocazione concatenata e varianti Allocazione indicizzata e varianti Gestione dello spazio libero 11.1.1 Struttura a livelli

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

PORTALE CLIENTI Manuale utente

PORTALE CLIENTI Manuale utente PORTALE CLIENTI Manuale utente Sommario 1. Accesso al portale 2. Home Page e login 3. Area riservata 4. Pagina dettaglio procedura 5. Pagina dettaglio programma 6. Installazione dei programmi Sistema operativo

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Sistemi Operativi. ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Sistemi Operativi. ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08 Sistemi Operativi Docente: Ugo Erra ugoerr+so@dia.unisa.it 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITA DEGLI STUDI DELLA BASILICATA Sommario della lezione

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass 0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dettagli