Lezione T10 Implementazione FS

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione T10 Implementazione FS"

Transcript

1 Lezione T10 Implementazione FS Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2013/2014 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia 1

2 Quote of the day (Meditate, gente, meditate...) Theory and practice sometimes clash. And when that happens, theory loses. Every single time. Linus Torvalds (1969-) Programmatore Autore di Linux e di GIT 2

3 PREPARAZIONE DI UN DISPOSITIVO 3

4 Formattazione a basso livello (Preparazione della superficie magnetica) La formattazione a basso livello è una procedura mediante la quale il dispositivo è preparato al primo uso (solitamente, la creazione di un file system). Operazione oggi svolta in fabbrica, una volta tramite programmi opportuni. La superficie del dispositivo è marcata in settori. Il settore è la più piccola porzione indirizzabile dalla testina del dispositivo (in un disco rigido, è 4 grande 512 byte).

5 Formato di un settore (Preparazione della superficie magnetica) Preambolo: marcatura indicante l'inizio di un settore (usata dalla testina per sincronizzarsi). Error Correcting Code (ECC): Codice per la correzione automatica degli errori. Intersector gap: separazione fra settori. 5

6 Partizionamento (Old school) Il disco rigido può essere suddiviso staticamente in più zone distinte, note con il nome di partizioni. L'operazione di suddivisione prende il nome di partizionamento. Ciascuna delle partizioni può ospitare: un file system. un'area di swap (swap partition). spazio non utilizzato (raw partition). 6

7 Disco rigido Partizioni di un disco (Uno schema rigido) / /home swap 7

8 Pro 1/2 (Perché è consigliato partizionare il disco?) Possibilità di installare più SO sullo stesso disco. Aumentato livello di protezione: una struttura di file system rovinata non ha effetti sui file system in altre partizioni. Aumento dell'efficienza delle operazioni di recupero: è possibile controllare due file system in parallelo. 8

9 Pro 2/2 (Perché è consigliato partizionare il disco?) Limitazione dello spazio a disposizione: ad esempio, si può impedire che i file di log riempiano il file system di root, confinandoli in una partizione separata sufficientemente grande. Memoria virtuale: implementazione di un'area di swap. 9

10 Contro (Perché le partizioni sono un concetto obsoleto?) Una volta create, le partizioni non possono essere modificate facilmente. Le partizioni sono in chiaro, sempre. 10

11 Gestione per volumi logici (Risolve i problemi del partizionamento statico) L'idea alla base dei volumi logici è quella di avere partizioni non rigide. Modificabili (espansione, riduzione). Estendibili su più dischi. Criptabili. 11

12 Volume fisico (Il disco fisico) Un volume fisico è una partizione di un disco rigido usabile per i volumi. Il contenuto del volume fisico è organizzato come una sequenza di blocchi fisici (physical extent). 12

13 Volumi fisici (Uno schema flessibile) Partizione statica Partizione statica Partizione statica Tre volumi fisici su tre partizioni di dischi diversi. Ogni rettangolo è un blocco fisico utilizzabile per un volume logico. 13

14 Gruppo di volumi (Tutti i volumi logici correlati fra loro sono raggruppati insieme) Un gruppo di volumi è la totalità dei blocchi fisici offerti da un certo numero di volumi fisici. Tali blocchi possono essere usati per costruire ed estendere i volumi logici. 14

15 Gruppi di volumi (Uno schema flessibile) Partizione statica Partizione statica Partizione statica Gruppo di volumi PE 1 PE 2 PE 3 PE 4 PE 5 PE

16 Volume logico (L'evoluzione delle partizioni) Un volume logico è un insieme di blocchi logici (logical extent) pescati dal gruppo cui esso appartiene. Per il resto, è usato esattamente come una partizione. 16

17 Volumi logici (Uno schema flessibile) Partizione statica Partizione statica Partizione statica Gruppo di volumi PE 1 PE 2 PE 3 PE 4 PE 5 PE 6... Volume logico LE 1 LE 2 LE 3 Volume logico LE 1 LE 2 LE 3 17

18 Superblocco (Cosa contiene?) Il superblocco è il primo blocco di un file system, contenente informazioni sullo stesso. Tipo, dimensione, stato (file system pulito o da controllare), locazione delle altre strutture. Ogni file system definisce il proprio tipo di superblocco. In EXT4 si usa la struttura dati struct ext4_super_block, definita in: $LINUX/fs/ext4/ext4.h 18

19 Formattazione ad alto livello (Creazione di un file system sulla partizione) La formattazione ad alto livello è una procedura mediante la quale un file system è inizializzato su una partizione o un volume logico. Scrive il superblocco. Crea diverse copia del superblocco (opzionale). Prepara uno spazio per i FCB. Prepara uno spazio per l'elenco dei blocchi liberi. Prepara una sequenza di blocchi liberi. 19

20 Partizione Layout del file system EXT3 (Più semplice rispetto ad EXT4) Boot sector Block Group 0... Block Group n Settori non utilizzati Super blocco Descrittore di gruppi Bitmap dei blocchi (1 blocco) Bitmap degli inode (1 blocco) Tabella degli inode Blocchi di dati Quali FCB sono presenti nel gruppo Blocchi liberi e occupati FCB liberi ed occupati FCB Blocchi del file system (liberi o usati) 20

21 ALLOCAZIONE DEI BLOCCHI 21

22 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)? 22

23 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. 23

24 Frammentazione interna (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. 24

25 Strategie di assegnazione dei blocchi (Obiettivo: ridurre frammentazione interna ed esterna) Esistono tre distinte strategie di assegnazione dei blocchi. Assegnazione contigua. Assegnazione concatenata. Assegnazione indicizzata. 25

26 Assegnazione contigua: definizione (Un file un insieme di blocchi contigui su disco) Nell'assegnazione contigua un file occupa un insieme di blocchi contigui sul disco. L'ordinamento dei blocchi fisici è dato dagli indirizzi associati ai blocchi fisici. Primo blocco del file indirizzo più basso. Secondo blocco del file indirizzo successivo. Per un file lungo n blocchi, memorizzato a partire dal blocco b, verranno occupati i blocchi b, b+1, b+2,..., b+n-1 sul disco. Usato in: IBM VM/CMS. 26

27 Partizione count Assegnazione contigua: schema (Un diagramma vale più di 1000 parole) f tr mail File Blocco iniziale Lunghezza count 0 2 tr 14 3 mail 19 6 list 28 4 f list 27

28 Assegnazione contigua: pro (Perché conviene adottarla) La lettura sequenziale di un file avviene in modo ottimale. La testina del disco si sposta al più una volta, per posizionarsi all'inizio del file. Grazie alla contiguità dei blocchi. Se un file è grande può essere memorizzato su più tracce contigue. Gli spostamenti richiesti dalla testina sono minimi. Uno per ogni traccia occupata dal file. Spostamento minimo (tracce contigue). 28

29 Assegnazione contigua: contro 1/3 (Perché non conviene adottarla) In caso di creazioni e cancellazioni frequenti di file, il disco tenderà ad alternare sequenze di blocchi occupati a sequenze di blocchi liberi. Alla lunga, si presenta il problema della frammentazione esterna. Un file sufficientemente grande non può essere memorizzato. La somma dei blocchi liberi costituisce spazio sufficiente, ma non esiste alcun singolo insieme contiguo di blocchi sufficientemente grande. Rimedio semplice: deframmentazione del disco. 29

30 Assegnazione contigua: contro 2/3 (Perché non conviene adottarla) In generale, è necessario stimare la dimensione del file che si vuole creare, altrimenti non si è in grado di trovare un insieme di blocchi contigui adatto. Tuttavia, è molto difficile prevedere la futura dimensione di un file. Se si sbaglia la stima della dimensione, un file rischia di essere limitato ad una dimensione errata. Rimedi: Il kernel deve segnalare un messaggio di errore oppure provare a copiare il file in un insieme contiguo più grande. 30

31 Assegnazione contigua: contro 3/3 (Perché non conviene adottarla) In alcuni casi, stimare la dimensione del file è semplicemente impossibile. Un esempio classico è rappresentato da un file cresce lentemente nel tempo. Configurazione. Registro di sistema. Log. In tal caso, si deve prenotare in anticipo un blocco contiguo enorme. 31

32 Estensioni (extent) (Un tentativo disperato di limitare i problemi) Per risolvere i problemi della frammentazione esterna e della variabilità dei file, alcuni file system utilizzano le estensioni (extent). Inizialmente, ad un file è assegnata una porzione di spazio contigua. Quando la porzione è riempita, si assegna un'altra porzione contigua (detta estensione). Il file system registra l'inizio e la lunghezza dell'estensione. 32

33 Estensioni: problemi (Ostacoli sulla via) La scelta della dimensione di un'estensione è critica. Dimensione troppo piccola: a forza di creare e cancellare file si presenta il problema della frammentazione esterna. Dimensione troppo grande: l'estensione rischia di non essere usata interamente; si presenta il problema della frammentazione interna. 33

34 Assegnazione concatenata: definizione (Un file una lista concatenata di blocchi su disco) Nell'assegnazione concatenata un file è composto da una lista concatenata di blocchi. L'elemento della directory contiene un puntatore al primo blocco del file. Il blocco i-mo contiene un puntatore al blocco (i+1)-mo. L'ultimo blocco contiene un puntatore ad un nodo fittizio (solitamente, il blocco -1 ). Usato in: FAT (MS-DOS, Windows). 34

35 Assegnazione concatenata: schema (Un diagramma vale più di 1000 parole) Partizione count File Blocco iniziale Blocco finale jeep

36 Assegnazione concatenata: pro (Perché conviene adottarla) Un blocco libero può essere localizzato ovunque nel disco. Il problema della frammentazione esterna è risolto. La deframmentazione non è più necessaria dal punto di vista funzionale (lo è ancora dal punto di vista prestazionale). Non è più richiesta una stima della dimensione del file. Un file può crescere indefinitamente. 36

37 Assegnazione concatenata: contro 1/2 (Perché non conviene adottarla) Solo l'accesso sequenziale è efficiente. Accesso diretto ad un blocco scansione della lista dal blocco iniziale fino a quello considerato. Se i blocchi del file sono sparpagliati su disco, neanche l'accesso sequenziale è efficiente. Blocchi sparpagliati la testina del disco si muove all'impazzata per ogni blocco letto, accumulando ritardi di diversi ms. 37

38 Assegnazione concatenata: contro 2/2 (Perché non conviene adottarla) L'affidabilità peggiora rispetto all'assegnazione sequenziale. Che cosa succede se un puntatore non è più corretto (Errore del device driver, errore fisico nel dispositivo)? Si perde il resto del file! Parte dello spazio libero del disco va sprecata in puntatori. dimensione blocco 512 byte dimensione puntatore 4 byte lo 0.78% del disco è sprecato in puntatori. 38

39 Cluster (Una soluzione allo spreco di spazio) Per risolvere il problema dello spreco di spazio, alcuni file system utilizzano i cluster. Un cluster è un gruppo contiguo di blocchi. Il file system alloca cluster, non blocchi singoli. In tal modo, il numero di puntatori richiesto per collegare il file diminuisce in ragione della dimensione del cluster. Problema: rischio di frammentazione interna. 39

40 File Allocation Table (Usata in file system estremamente popolari) Variante dell'assegnazione concatenata usata nei SO MS-DOS, OS/2. All'inizio di ciascuna partizione viene riservato uno spazio per contenere una tabella di allocazione dei file (File Allocation Table, FAT). Ciascun blocco del disco è rappresentato da un numero intero univoco, detto indice. La FAT è acceduta attraverso gli indici e contiene indici. 40

41 FAT e assegnazione concatenata (Usata in file system estremamente popolari) L'indice contenuto in un elemento della FAT punta al prossimo blocco del file corrispettivo. L'elemento corrispettivo all'ultimo blocco del file contiene un valore opportuno. Ciascun elemento di una directory contiene l'indice del primo blocco nella FAT. Implementazione in Linux: $LINUX/fs/fat/fatent.c 41

42 FAT: schema (Un diagramma vale più di 1000 parole) Elemento della directory test Nome Metadati Blocco iniziale File Allocation Table fine file Numero blocchi disco 42

43 FAT: contro (Ostacoli, ostacoli, ostacoli) Un accesso in lettura ad un file provoca un accesso alla FAT per ogni blocco considerato. Un accesso in scrittura ad un file provoca: accesso alla FAT per ogni blocco scritto, qualora già allocato. la scansione della FAT alla ricerca di un blocco lilbero, qualora il blocco non sia già allocato. Eccessivo movimento delle testine (la FAT è memorizzata all'inizio del disco). 43

44 FAT cache (Come ridurre lo spostamento della testina del disco) La FAT è mantenuta in memoria centrale. In alcuni kernel (Linux) si implementa una cache degli elementi della FAT più popolari. La cache è implementata come una lista collegata di struct fat_cache, ciascuna delle quali mappa un certo numero di cluster nel file al cluster corrispettivo nel disco. File $LINUX/fs/fat/cache.c. 44

45 Assegnazione indicizzata: definizione (Un file un elenco di puntatori in uno o più blocchi indice) Nell'assegnazione indicizzata ad un file è assegnato un blocco indice. Il blocco indice contiene una sequenza di indirizzi di blocchi sul disco appartenenti al file. L'elemento della directory contiene un puntatore al blocco indice. Non appena creato un file, il blocco indice è pieno di puntatori nulli. Il puntatore i-mo contiene l'indirizzo del blocco i-mo del file. Usato in: file system UNIX (variante combinata). 45

46 Assegnazione concatenata: schema (Un diagramma vale più di 1000 parole) Partizione count File Blocco indice jeep

47 Assegnazione concatenata: pro (Perché conviene adottarla) La frammentazione esterna non si verifica più. Un blocco del file può essere memorizzato in qualunque posizione del disco. La frammentazione interna è sensibilmente ridotta. La dimensione di un blocco è contenuta. L'accesso al blocco avviene in tempo costante. Si accede al vettore i-mo del blocco indice. 47

48 Assegnazione concatenata: contro (Perché non conviene adottarla) La lista dei blocchi del file è inserita all'interno di un solo blocco di disco. La dimensione massima del file è limitata. Necessità di usare più blocchi indice. La dimensione del blocco indice è critica. Dimensione troppo piccola: si rischia di non avere un numero sufficiente di indici per rappresentare un file grande. Dimensione troppo grande: si rischia la frammentazione interna sul blocco indice. 48

49 Blocchi indice multipli (Come implementarli?) Esistono tre schemi principali di implementazione di un indice su più blocchi. Schema concatenato. Indice a più livelli. Schema combinato. 49

50 Schema concatenato (Più blocchi indice concatenati in lista) Il blocco indice ha una piccola intestazione nella quale sono riportati: il nome del file. i primi 100 blocchi del disco. L'ultimo elemento del blocco indice è: NULL (nel caso di file piccolo). un puntatore ad un altro blocco indice (nel caso di file grande). 50

51 Indice a più livelli (Simile alla paginazione a due livelli; le idee giuste son sempre quelle) Si usa un blocco indice di primo livello. Gli elementi del blocco indice di primo livello puntano a blocchi indice di secondo livello. Gli elementi del blocco indice di secondo livello puntano ai blocchi dei file. Per accedere ad un blocco, il sistema operativo: usa l'indice di primo livello per individuare il blocco indice di secondo livello. usa l'indice di secondo livello per individuare il blocco di dati. 51

52 Dimensione massima di un file (Usando un indice a due livelli) Si consideri un disco con le seguenti caratteristiche. Dimensione di un blocco: 4096 byte Dimensione di un puntatore: 4 byte Puntatori per blocco = 4096 / 4 = 1024 Con due livelli di indici si possono memorizzare = blocchi di dati. La dimensione massima di un file è pari a: * 4096 = 4GB. 52

53 Schema concatenato (Unione dei due schemi precedenti; fondamento dei file system UNIX) A ciascun file è assegnato un blocco descrittore, noto con il nome di inode. L'inode è il FCB del file. 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). 53

54 Schema concatenato: diagramma (Espansione ad albero dei blocchi) Modo (permessi) Proprietario Timestamp Dimensione Blocchi diretti Indiretto singolo Indiretto doppio Indiretto triplo dati dati dati... dati dati dati dati dati dati dati 54

55 Schema concatenato: pro (Funziona molto bene) Per file piccoli, l'accesso è O(1) tramite i blocchi diretti. Per file più grandi, l'accesso è O(log(n)) nel numero di blocchi del file. La dimensione massima di un file è notevolmente più grande rispetto ai due schemi precedenti. 55

56 Puntatori nell'inode EXT3 (EXT4 usa un albero binario di extent) Nel file system EXT3 l'inode è definito nella struttura struct ext3_inode. File $LINUX/fs/ext3/ext3.h. Simile alla definizione per EXT4. Il campo i_block contiene l'array di puntatori. La funzione ext3_block_to_path() riceve il numero di un blocco e ritorna il percorso di memorizzazione nell'array di puntatori. File $LINUX/fs/ext3/inode.c. 56

57 Schema concatenato: pro (Funziona molto bene) Per file piccoli, l'accesso è O(1) tramite i blocchi diretti. Per file più grandi, l'accesso è O(log(n)) nel numero di blocchi del file. La dimensione massima di un file è notevolmente più grande rispetto ai due schemi precedenti. 57

58 GESTIONE DELLO SPAZIO LIBERO 58

59 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. 59

60 Elenco dei blocchi liberi (Come implementarlo?) I seguenti meccanismi possono essere utilizzati per rappresentare un elenco di blocchi liberi. Vettore di bit. Lista concatenata. Raggruppamento. Conteggio. 60

61 Vettore di bit (Semplice ed efficiente) Ciascun blocco del disco viene rappresentato tramite un bit. 0: il blocco è allocato. 1: il blocco è libero. L'insieme di tutti i blocchi del disco è un gigantesco vettore di bit. Come si identifica efficientemente il primo blocco libero? Come si identifica in maniera efficiente il primo bit non nullo nel vettore? 61

62 Alcune definizioni (Utili per le operazioni sul vettore di bit) Costante BIT_PER_PAROLA: dimensione di una parola (solitamente, 32 o 64 bit). Parametro i: indice del bit i-mo. Vettore[n]: vettore di n parole di lunghezza BIT_PER_PAROLA. Bit: il valore effettivo del bit i-mo. 62

63 Operazioni sul vettore di bit (Dovrebbero essere note) L'individuazione del bit i-mo nel vettore richiede le seguenti operazioni. offset_parola = i / BIT_PER_PAROLA; offset_bit = i % BIT_PER_PAROLA; parola_con_bit = *(vector + offset_parola); bit_i = parola_con_bit & (2 offset_bit ); 63

64 vettore[2] Diagramma di esempio (Illustra il calcolo) Parola contenente il bit Si vuole ottenere il valore del bit 70 i= parola da 32 bit 4 8 offset_parola=70/32=2 offset_bit=70 % 32 = 6 parola_con_bit= bit_i= & = Offset (byte) 64

65 Individuazione efficiente (Del primo bit libero) I processori moderni hanno istruzioni per individuare in un colpo di clock il primo bit imposto ad 1 in una parola di 16, 32, 64 bit. ISA x86_64: istruzioni bsf, bsr. Si scandisce il vettore di bit una parola alla volta. Se la parola vale 0, si avanza alla parola successiva. Altrimenti, si usa l'istruzione macchina per individuare il primo bit imposto ad 1. 65

66 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 della struttura dati 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. 66

67 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). 67

68 Lista concatenata (Più semplice ancora, ma meno efficiente) I blocchi liberi sono tutti collegati fra loro, tramite puntatori posti all'interno di ciascun blocco. Il puntatore al primo blocco libero: viene memorizzato in una locazione speciale, fissa del disco. viene mantenuto in memoria centrale per motivi di efficienza. 68

69 Lista concatenata (Più semplice ancora, ma meno efficiente) I blocchi liberi sono tutti collegati fra loro, tramite puntatori posti all'interno di ciascun blocco. Il puntatore al primo blocco libero: viene memorizzato in una locazione speciale, fissa del disco. viene mantenuto in memoria centrale per motivi di efficienza. 69

70 Lista concatenata: schema (Un diagramma vale più di 1000 parole) Partizione Puntatore al primo blocco libero

71 Lista concatenata: pro e contro (Più contro che pro, a dire il vero) Pro. Soluzione più semplice rispetto al vettore di bit. Contro. Implementazione molto meno efficiente rispetto al vettore di bit. La scansione della lista è O(n) nel numero di blocchi liberi. 71

72 Raggruppamento (Un tentativo disperato di migliorare l'efficienza) Il raggruppamento è una modifica dell'approccio basato su liste. Il primo blocco libero contiene una lista di n blocchi I primi n-1 blocchi sono effettivamente liberi. L'n-esimo blocco contiene un'altra lista di blocchi liberi. Il recupero di un gran numero di blocchi liberi può essere effettuato in maniera più efficiente. Si navigano i blocchi contenenti le liste. 72

73 Conteggio (Può essere implementato anche tramite albero binario) Solitamente, le allocazioni ed i rilasci avvengono per insieme di blocchi contigui, e non per singoli blocchi. L'uso dei puntatori per blocco comporta uno spreco di spazio. Il conteggio è un approccio alternativo alla memorizzazione di n blocchi liberi. Si mantiene una tabella contenente coppie del tipo <indirizzo blocco, conteggio>. conteggio=numero di blocchi contigui liberi. 73

74 CONSIDERAZIONI: EFFICIENZA 74

75 Cosa si intende per efficienza? ( Do more with less ) Il termine efficienza indica in generale la capacità di svolgere compiti con il minimo sforzo. Computazione, tempo di esecuzione, spazio occupato, etc. Nel contesto dei file system, per efficienza si intende: uso compatto dello spazio presente sul disco. rappresentazione di file molto grandi con il minimo dispendio in termini di metadati. 75

76 Piazzamento degli inode su disco (Tutti insieme, preferibilmente all'inizio) Gli inode sono impacchettati tutti insieme all'inizio del disco, vicini al superblocco. In tal modo, una lettura sequenziale da disco porta in memoria un numero consistente di inode. La lettura ricorsive delle directory è veloce. 76

77 Uso di cluster con dimensione diversa (Tecnica adottata da BSD UNIX) Si usano cluster di dimensione diversa in funzione della dimensione del file. File piccoli cluster piccoli. File di dimensione crescente cluster di dimensione crescente. Cluster di chiusura del file dimensione piccola. 77

78 Metadati dei file 1/2 (In particolare, i timestamp di accesso al file) I timestamp di accesso al file sono critici per alcune applicazioni. Il programma GNU Make li usa per capire quando è il caso di ricompilare un sorgente. Ad ogni accesso, questi due metadati cambiano e vanno aggiornati nel modo seguente: lettura blocco FCB da disco. modifica metadati. scrittura blocco FCB. 78

79 Metadati dei file 2/2 (In particolare, i timestamp di accesso al file) Se un file è acceduto frequentemente, si ha una palese inefficienza di uso del disco. Una lettura ed una scrittura aggiuntive. Soluzione: si mantiene una copia del FCB in memoria centrale e si aggiorna il FCB su disco periodicamente. 79

80 Dimensione dei puntatori (16, 32, 48 o 64 bit) La dimensione massima di un file è determinata dalla dimensione del puntatore. 16 bit Dimensione massima 64KB. 32 bit Dimensione massima 4GB. Per superare tale limitazione, alcuni SO hanno introdotto puntatori più grandi. Implicano un maggior numero di strutture di controllo. Un trade-off abbastanza comune è quello di usare dimensioni dei puntatori a 48 bit. 80

81 Strutture statiche o dinamiche (Solaris docet) SunOS (il papà di Solaris 2) aveva tutte le principali strutture dati allocate staticamente (tabella dei file aperti, tabella dei processi). Con il miglioramento delle periferiche e con l'uso più intenso da parte degli utenti, i limiti delle strutture dati sono stati raggiunti. Solaris 2 è stato riscritto in termini di allocazione dinamica delle strutture dati. Massima efficienza di memoria a scapito delle prestazioni. 81

82 CONSIDERAZIONI: PRESTAZIONI 82

83 Cosa si intende per prestazione? ( Be as fast as possible ) Il termine prestazione indica in generale la capacità di svolgere compiti al massimo della propria capacità. Massima velocità, massimo ritmo, etc. Nel contesto dei file system, per prestazione si intende: aumento della velocità delle operazioni di I/O. applicazione del concetto di gerarchia di memoria. 83

84 Scritture sincrone e asincrone (Asincrono è più veloce, ma rischioso) Scritture sincrone. Avvengono nell'ordine in cui il gestore del file system le riceve. La scrittura avviene il più presto possibile, senza alcun buffering intermedio. Scritture asincrone. I dati sono memorizzati in un buffer intermedio. Si ritorna subito al processo chiamante. Il SO decide quando svuotare i buffer su disco. L'aggiornamento dei metadati può essere sincrono. 84

85 Pro e contro delle scritture asincrone (Asincrono è più veloce, ma rischioso) Pro. Il SO sceglie il momento della scrittura più adatto per ridurre i movimenti della testina del disco. La chiamata di sistema write() diventa velocissima (ritorna subito al processo chiamante). Contro. Se la macchina va in crash, si perdono i dati (il SO fornisce meccanismi per forzare scritture sincrone transazioni delle basi di dati). Se i metadati sono già stati aggiornati, si verifica una grave inconsistenza nel file. 85

86 Assegnazione ritardata (Usata da EXT4) Scenario: meccanismo di scrittura asincrona, con diversi buffer in attesa di essere riversati sul disco. Con l'assegnazione ritardata dei blocchi, la selezione di un blocco libero viene posticipata fino all'ultimo momento utile. Il SO decide di scrivere i blocchi su disco. L'utente comanda un flush dei buffer. I metadati del file affetto dalla scrittura possono essere mantenuti aggiornati in maniera sincrona. 86

87 Assegnazione ritardata: pro e contro (Performante, ma rischiosa) Pro. La probabilità di scrivere file contigui è decisamente più alta. Aumento di prestazioni su file grandi. Contro. Se la macchina va in crash prima della scrittura, la perdita di dati può essere catastrofica. 87

88 Lettura anticipata (Linux et alia) La lettura anticipata (read ahead) è il prelievo di un certo numero di blocchi contigui a quello appena letto. In uno scenario di lettura sequenziale, l'applicazione tenderà a leggere, nell'immediato futuro, proprio tali blocchi! Netto miglioramento delle prestazioni in lettura. 88

89 Caching delle principali strutture dati (Gerarchia di memoria) Per migliorare le prestazioni del file system è necessario avvicinare le strutture dati più popolari ai dispositivi di memoria più veloci. Gerarchia di memoria. Disco memoria centrale cache CPU registri. Tutte le strutture dati sono su disco. Le più popolari hanno una copia in RAM, aggiornata di frequente. 89

90 CONSIDERAZIONI: SICUREZZA 90

91 Cosa si intende per sicurezza? ( Don't harm others; keep things consistent ) Il termine sicurezza indica due capacità: mantenere un sistema in uno stato consistente. impedire agli utenti un uso malizioso del sistema. In questa presentazione ci si riferisce al primo contesto: controllo di consistenza del file system. journaling. 91

92 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.ext4, 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. 92

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

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

Dettagli

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

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

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

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

Dettagli

Il Concetto di Processo

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

Dettagli

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

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

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

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Virtualizzazione e installazione Linux

Virtualizzazione e installazione Linux Virtualizzazione e installazione Linux Federico De Meo, Davide Quaglia, Simone Bronuzzi Lo scopo di questa esercitazione è quello di introdurre il concetto di virtualizzazione, di creare un ambiente virtuale

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

Inizializzazione degli Host. BOOTP e DHCP

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

Dettagli

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

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

Dettagli

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

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

Dettagli

MANUALE DOS INTRODUZIONE

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

Dettagli

Boot Camp Guida all installazione e alla configurazione

Boot Camp Guida all installazione e alla configurazione Boot Camp Guida all installazione e alla configurazione Indice 4 Introduzione 5 Cosa ti occorre 6 Panoramica dell installazione 6 Passo 1: verifica la presenza di aggiornamenti. 6 Passo 2: apri Assistente

Dettagli

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory.

Background (sfondo): Finestra: Una finestra serve a mostrare il contenuto di un disco o di una cartella -, chiamata anche directory. @ PC (Personal computer): Questa sigla identificò il primo personal IBM del 1981 a cura di R.Mangini Archiviazione: Il sistema operativo si occupa di archiviare i file. Background (sfondo): Cursore: Nei

Dettagli

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

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

Dettagli

Boot Camp Guida di installazione e configurazione

Boot Camp Guida di installazione e configurazione Boot Camp Guida di installazione e configurazione Indice 3 Introduzione 4 Panoramica dell'installazione 4 Passo 1: Verificare la presenza di aggiornamenti 4 Passo 2: Per preparare il Mac per Windows 4

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

Dettagli

DNS (Domain Name System) Gruppo Linux

DNS (Domain Name System) Gruppo Linux DNS (Domain Name System) Gruppo Linux Luca Sozio Matteo Giordano Vincenzo Sgaramella Enrico Palmerini DNS (Domain Name System) Ci sono due modi per identificare un host nella rete: - Attraverso un hostname

Dettagli

DEFT Zero Guida Rapida

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

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

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

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

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Sizing di un infrastruttura server con VMware

Sizing di un infrastruttura server con VMware Sizing di un infrastruttura server con VMware v1.1 Matteo Cappelli Vediamo una serie di best practices per progettare e dimensionare un infrastruttura di server virtuali con VMware vsphere 5.0. Innanzitutto

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

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

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

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

Perché se ho 4 GiB di RAM ne vedo di meno?

Perché se ho 4 GiB di RAM ne vedo di meno? Perché se ho 4 GiB di ne vedo di meno? di Matteo Italia (matteo@mitalia.net) Abstract In questo articolo mi propongo di spiegare perché utilizzando un sistema operativo a 32 bit su una macchina x86 con

Dettagli

Zeroshell su vmware ESXi 4.1

Zeroshell su vmware ESXi 4.1 Zeroshell su vmware ESXi 4.1 Introduzione Vediamo come installare Zeroshell su Vmware ESXi 4.1 usando come immagine quella per IDE,SATA e USB da 1GB. Cosa ci serve prima di iniziare: Una distro Live io

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012

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

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Determinare la grandezza della sottorete

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

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Scopo di questo corso, vuole essere quello di fornire ad ognuno dei partecipanti, indipendentemente dalle loro precedenti conoscenze informatiche, l apprendimento

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

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

Dettagli

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org.

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Nuovo documento Anteprima di stampa Annulla Galleria Apri Controllo ortografico Ripristina Sorgente dati Salva Controllo

Dettagli

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

Introduzione alle pipeline e all'architettura RISC

Introduzione alle pipeline e all'architettura RISC Introduzione alle pipeline e all'architettura RISC Introduzione Pipeline Processori RISC Salti Appendice A: Storia Bibliografia Versione con i frame Versione in pdf Architettura del processore Una possibile

Dettagli

GUIDA DELL UTENTE IN RETE

GUIDA DELL UTENTE IN RETE GUIDA DELL UTENTE IN RETE Memorizza registro di stampa in rete Versione 0 ITA Definizione delle note Nella presente Guida dell'utente viene utilizzata la seguente icona: Le note spiegano come intervenire

Dettagli

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive. https://nonconf.unife.it/

Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive. https://nonconf.unife.it/ Istruzioni operative per la gestione delle Non Conformità e delle Azioni Correttive https://nonconf.unife.it/ Registrazione della Non Conformità (NC) Accesso di tipo 1 Addetto Registrazione della Non Conformità

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Lezione 1. 1 All inizio di ogni capitolo vengono indicati gli obiettivi della lezione sotto forma di domande la cui risposta è lo scopo

Lezione 1. 1 All inizio di ogni capitolo vengono indicati gli obiettivi della lezione sotto forma di domande la cui risposta è lo scopo Lezione 1 Obiettivi della lezione: 1 Cos è un calcolatore? Cosa c è dentro un calcolatore? Come funziona un calcolatore? Quanti tipi di calcolatori esistono? Il calcolatore nella accezione più generale

Dettagli

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Acronis Compute with Confidence, Acronis Startup Recovery Manager, Acronis Active Restore ed il logo Acronis sono marchi di proprietà di Acronis, Inc.

Acronis Compute with Confidence, Acronis Startup Recovery Manager, Acronis Active Restore ed il logo Acronis sono marchi di proprietà di Acronis, Inc. Copyright Acronis, Inc., 2000-2011.Tutti i diritti riservati. Acronis e Acronis Secure Zone sono marchi registrati di Acronis, Inc. Acronis Compute with Confidence, Acronis Startup Recovery Manager, Acronis

Dettagli

Progetto Didattico di Informatica Multimediale

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

Dettagli

Creare e ripristinare immagine di sistema con Windows 8

Creare e ripristinare immagine di sistema con Windows 8 Creare e ripristinare immagine di con Windows 8 La versione Pro di Windows 8 offre un interessante strumento per il backup del computer: la possibilità di creare un immagine completa del, ovvero la copia

Dettagli

MANUALE Gest-L VERSIONE 3.2.3

MANUALE Gest-L VERSIONE 3.2.3 MANUALE Gest-L VERSIONE 3.2.3 Installazione GEST-L 4 Versione per Mac - Download da www.system-i.it 4 Versione per Mac - Download da Mac App Store 4 Versione per Windows 4 Prima apertura del programma

Dettagli

Specifiche tecnico-funzionali per comunicazione e conservazione dati da parte dei Sistemi Controllo Accessi. INDICE

Specifiche tecnico-funzionali per comunicazione e conservazione dati da parte dei Sistemi Controllo Accessi. INDICE Specifiche tecnico-funzionali per comunicazione e conservazione dati da parte dei Sistemi Controllo Accessi. INDICE 1.1 CARATTERISTICHE DEL SUPPORTO IMMODIFICABILE E SUO FILE-SYSTEM... 2 1.2 SICUREZZA

Dettagli

Inter-Process Communication

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

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Introduzione generale Autenticazione dell operatore https://sebina1.unife.it/sebinatest Al primo accesso ai servizi di Back Office, utilizzando

Dettagli

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED SED è un programma in grado di eseguire delle trasformazioni elementari in un flusso di dati di ingresso,

Dettagli

Fondamenti di Informatica T. Linguaggio C: File

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

Dettagli

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso Parte 5 Adv WORD (livello avanzato): Struttura di un Documento Complesso 1 di 30 Struttura di un Documento Complesso La realizzazione di un libro, di un documento tecnico o scientifico complesso, presenta

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Symbolic. Ambiti Operativi. Presente sul mercato da circa 10 anni Specializzata in Network Security Partner e distributore italiano di F-Secure Corp.

Symbolic. Ambiti Operativi. Presente sul mercato da circa 10 anni Specializzata in Network Security Partner e distributore italiano di F-Secure Corp. Symbolic Presente sul mercato da circa 10 anni Specializzata in Network Security Partner e distributore italiano di F-Secure Corp. La nostra mission è di rendere disponibili soluzioni avanzate per la sicurezza

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

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

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

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera

Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera Ricerca Operativa Branch-and-Bound per problemi di Programmazione Lineare Intera L. De Giovanni AVVERTENZA: le note presentate di seguito non hanno alcuna pretesa di completezza, né hanno lo scopo di sostituirsi

Dettagli

Guida all utilizzo del dispositivo USB

Guida all utilizzo del dispositivo USB Guida all utilizzo del dispositivo USB 30/04/2013 Sommario - Limitazioni di responsabilità e uso del manuale... 3 1. Glossario... 3 2. Guida all utilizzo del dispositivo USB... 4 2.1 Funzionamento del

Dettagli

Installare e configurare Easy Peasy (Ubuntu Eee) su Asus Eee PC mini howto

Installare e configurare Easy Peasy (Ubuntu Eee) su Asus Eee PC mini howto Installare e configurare Easy Peasy (Ubuntu Eee) su Asus Eee PC mini howto Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 (marzo 2009) ultimo aggiornamento aprile 2009 Easy Peasy è una distribuzione

Dettagli

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

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

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY

GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY GUIDA ALLE BEST PRACTICE PER MOBILE DEVICE MANAGEMENT E MOBILE SECURITY Con Kaspersky, adesso è possibile. www.kaspersky.it/business Be Ready for What's Next SOMMARIO Pagina 1. APERTI 24 ORE SU 24...2

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Agilent OpenLAB Chromatography Data System (CDS)

Agilent OpenLAB Chromatography Data System (CDS) Agilent OpenLAB Chromatography Data System (CDS) EZChrom Edition e ChemStation Edition Requisiti hardware e software Agilent Technologies Informazioni legali Agilent Technologies, Inc. 2013 Nessuna parte

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

Modulo 11. Il livello trasporto ed il protocollo TCP Indice

Modulo 11. Il livello trasporto ed il protocollo TCP Indice Pagina 1 di 14 Il livello trasporto ed il protocollo TCP Indice servizi del livello trasporto multiplexing/demultiplexing trasporto senza connesione: UDP principi del trasferimento dati affidabile trasporto

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

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

1) Le Espressioni regolari

1) Le Espressioni regolari ESPRESSIONI REGOLARI e FILTRI SED, GREP e AWK 1) Le Espressioni regolari Un'espressione regolare è un modello che descrive un insieme di stringhe. Le espressioni regolari sono costruite, in maniera analoga

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

Dettagli

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

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

Dettagli

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

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

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Lezione su Informatica di Base

Lezione su Informatica di Base Lezione su Informatica di Base Esplora Risorse, Gestione Cartelle, Alcuni tasti di scelta Rapida Domenico Capano D.C. Viterbo: Lunedì 21 Novembre 2005 Indice Una nota su questa lezione...4 Introduzione:

Dettagli

Guida all'uso di StarOffice 5.2

Guida all'uso di StarOffice 5.2 Eraldo Bonavitacola Guida all'uso di StarOffice 5.2 Introduzione Dicembre 2001 Copyright 2001 Eraldo Bonavitacola-CODINF CODINF COordinamento Docenti INFormati(ci) Introduzione Pag. 1 INTRODUZIONE COS'È

Dettagli

Vassoio 5 (opzionale) Vassoio 6 (inseritore) (opzionale) Pannello comandi. Stazione di finitura per grandi volumi (opzionale) Pannello comandi

Vassoio 5 (opzionale) Vassoio 6 (inseritore) (opzionale) Pannello comandi. Stazione di finitura per grandi volumi (opzionale) Pannello comandi Xerox ColorQube 90/ 90/ 90 Descrizione generale della macchina Descrizione generale della macchina Funzioni In base alla configurazione, il dispositivo è in grado di eseguire le seguenti operazioni: 8

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

MANUALE GESTIONE DELLE UTENZE - PORTALE ARGO (VERS. 2.1.0)

MANUALE GESTIONE DELLE UTENZE - PORTALE ARGO (VERS. 2.1.0) Indice generale PREMESSA... 2 ACCESSO... 2 GESTIONE DELLE UTENZE... 3 DATI DELLA SCUOLA... 6 UTENTI...7 LISTA UTENTI... 8 CREA NUOVO UTENTE...8 ABILITAZIONI UTENTE...9 ORARI D'ACCESSO... 11 DETTAGLIO UTENTE...

Dettagli

V1pc Internet Banking

V1pc Internet Banking 2.6 Area Portafoglio In questa area è possibile ottenere informazioni sull'andamento del portafoglio titoli relativa al dossier selezionato tenendo così costantemente aggiornati l utente sul valore degli

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

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

Dettagli