Struttura del Micro Filesystem (µfs)



Documenti analoghi
Terza lezione: Directory e File system di Linux

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Capitolo Silberschatz

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

Il Software. Il software del PC. Il BIOS

Il Sistema Operativo: il File System

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Il File System. Il file system

Costruzione del layout in gino cms

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

File system II. Sistemi Operativi Lez. 20

extensible Markup Language

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

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

Definire gli attributi dei blocchi

SAP SRM 7 Manuale GARE ON LINE con cfolders FORNITORI INDICE

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Olga Scotti. Basi di Informatica. Excel

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Strutturazione logica dei dati: i file

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

Architettura dei calcolatori e sistemi operativi. Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H

FoLUG Forlì Linux User Group. Partizionamento

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

1.1.1 ATLAS Postazione Studente : CONFIGURAZIONE DI ATLAS CON CLIENT LINUX

Test Excel conoscenze di Base

Manuale di utilizzo del sito ASUWEB

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Capitolo 4 Pianificazione e Sviluppo di Web Part

Entrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Access. P a r t e p r i m a

Primi Passi con GNU/Linux

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

Organizzazione di Sistemi Operativi e Reti

19. LA PROGRAMMAZIONE LATO SERVER

Modulo 4: Gestore del File System (Memoria secondaria) Componenti

Sistemi Operativi. 12 LEZIONE REALIZZAZIONE DEL FILE SYSTEM CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Operativi 2007/08

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

SPECIFICHE TECNICHE DEL PACCHETTO DI ARCHIVIAZIONE

NUOVO SISTEMA AGGIORNAMENTO DA FYO

Concetti fondamentali dei database database Cos'è un database Principali database

Come modificare la propria Home Page e gli elementi correlati

TRASMISSIONE RAPPORTO ARBITRALE IN FORMATO PDF

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

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

PRODUZIONE PAGELLE IN FORMATO PDF

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

Organizzazione della memoria

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

Se mi lasci ti cancello: Cancellazione sicura asincrona su ext3

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

Installazione LINUX 10.0

Il software: Istruzioni per il computer. I tre tipi di software di sistema. Compiti del sistema operativo

Progettazione di Basi di Dati

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progettaz. e sviluppo Data Base

Struttura del sistema operativo GNU/Linux

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

A G DL P. I permessi NTFS e di condivisione. Il File System NTFS. Il File System NTFS. La strategia A G DL P. Il File System NTFS. Il File System NTFS

Università degli Studi di Verona. Laboratorio di Basi di Dati

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

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

Permessi, utenti e gruppi

CMS MUSEO&WEB. Mappe grafiche. Andrea Tempera (OTEBAC) 12 aprile 2010

Matlab: Gestione avanzata dei file

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

GESTIONE UTENZE. In questa parte di manuale analizzeremo l organizzazione delle utenze che possono accedere al CRM.

Indice. I livelli di Autorizzazione in Sharepoint. Livelli di autorizzazione predefiniti di Windows SharePoint Services 3.0

Corso Drupal «Project management»

Mac Application Manager 1.3 (SOLO PER TIGER)

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

Guido d uso sito internet Unione Valdera

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione

Volumi di riferimento

Gestione del workflow

Cosa è un foglio elettronico

Gestione della memoria centrale

Appunti di: MICROSOFT EXCEL

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

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

Transcript:

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 stile Unix/Linux. Il filesystem è composto dalle seguenti aree: Boot Sector: contiene le informazioni generali sulla partizione. La dimensione del boot sector è di 32. File Allocation Table (FAT): e' l'indice della partizione, mappa i diversi file o directory sui cluster dell'area dati. Area dati: e' divisa in cluster. Un file viene memorizzato in uno o piu' cluster. Boot Sector Area dati FAT C0 C1 C2 Cn File Allocation Table Boot Sector Le informazioni generali sulla partizione sono contenute nei primi 32 del µfs: il Boot Sector (nella terminologia Unix è chiamato superblock). I numeri composti da 2- o 4- all'interno del Boot Sector, sono memorizzati nella modalità little-endian (dal meno significativo al più significativo). Contenuto del boot sector: Dimensione (in ) Descrizione 0-1 2 per cluster (valori validi: 512, 1024, 2048, 4096, 8192) (D C ) 2-5 4 Numero di cluster presenti nell'area dati (C) 6-9 4 Dimensione in della FAT (D F ) 10-11 2 Versione del Filesystem ( 12: minor version, 13: major version) 12-15 4 Numero del cluster relativo alla directory di root 16-19 4 Dimensione in s della directory di root 20-29 10 Nome del volume della partizione 30-31 2 Firma 0x44BB ( 30: 0xBB, 31: 0x44)

File Allocation Table (FAT) La tabella di allocazione dei file (FAT) è l'indice utilizzato per mappare i file e le directory della partizione nei cluster dell'area dati. Ogni elemento i-esimo della tabella, che indicheremo con F[i], occupa 4 (32 bit) e descrive se il cluster C[i] è libero oppure è utilizzato da qualche file. F[0] F[1] F[2] F[C] C1 C2 Cc Special La seguente tabella mostra i valori da utilizzare per ogni elemento F[i]: Valore di F[i] (i > 0) 0x00000000 Cluster non utilizzato Significato 0x00000001 0xFFFFFFFE Cluster utilizzato. Il valore punta al prossimo cluster 0xFFFFFFFF Ultimo cluster di un file Il primo record della FAT (F[0]) è utilizzato per sapere se il filesystem e' stato smontato correttamente. F[0] assume i seguenti valori: Valore di F[0] 0x00000000 0x0000000F Partizione non montata Partizione montata Significato Esempio: F 0 1 2 3 4 5 6 7 8 9 Valore 0xF 0x4 0x0 0x0 0x6 0x0 0xFFFFFFF F 0x0 0x0 0x0 Se il cluster iniziale di un certo file è il numero 1, dalla tabella FAT leggo che il cluster successivo è il numero 4 ed infine il numero 6. In questo caso, per recuperare il contenuto del file devo leggere in sequenza i cluster 1, 4 e 6. Area dati L'area dati del µfs è divisa in cluster e contiene i files e le directory della partizione. Ogni file o directory è memorizzato in uno o più cluster. I cluster vengono numerati da 1 a C, dove C è il numero di cluster presenti nell'area dati (vedi boot sector). Il cluster che contiene la directory di root è identificato nel boot sector ( 12-15). Una directory table è un file speciale che contiene le informazioni su tutti i files

che la directory contiene. Directory table Ogni file o directory è rappresentato da un elemento di 48, questo contiene il nome, l'estensione, gli attributi, la data e l'ora di creazione, l'indirizzo del primo cluster che contiene il file e la dimensione in del file. Il formato di ogni elemento è il seguente: Dimensione (in ) Descrizione 0-18 19 Nome del file ed estensione 19-22 4 Attributi del file/directory 23 1 Numero di hard-link 24-27 4 User ID del proprietario del file 28-31 4 Group ID del proprietario del file 32-35 4 Data e Ora di creazione del file (numero di secondi dal 1/1/1970) 36-39 4 Data e Ora dell'ultima modifica del file (numero di secondi dal 1/1/1970) 40-43 4 Primo cluster che contiene i dati del file 44-47 4 Dimensione in del file Anche in questo caso i numeri devono essere memorizzati nella modalità littleendian. Attributi di un file/directory Gli attributi di un file o directory ( 19-22 di un elemento della directory table) derivano dal campo st_mode della struttura struct stat di Linux (vedi man 2 stat). La seguente tabella riassume i valori che possono essere utilizzati in bit AND per descrivere gli attributi di un file: Valore 0x00120000 0x00100000 0x00040000 Valore 0x00000400 0x00000200 0x00000100 0x00000040 Tipo del file Link simbolico File regolare Directory Permessi Il proprietario ha il permesso in lettura Il proprietario ha il permesso in scrittura Il proprietario ha il permesso di esecuzione Il gruppo ha il permesso in lettura

0x00000020 0x00000010 0x00000004 0x00000002 0x00000001 Il gruppo ha il permesso in scrittura Il gruppo ha il permesso di esecuzione Gli altri hanno il permesso in lettura Gli altri hanno il permesso in scrittura Gli altri hanno il permesso di esecuzione Data e Ora di creazione o modifica di un file La data e l'ora di creazione e modifica di un file rispecchiano la convenzione Linux (vedi man 2 time) e quindi contengono il numero di secondi dall'epoca (01/01/1970).

Creazione del filesystem µfs Il filesystem deve essere creato con la seguente sintassi: dove: ufs_mke2fs [-s dim-cluster] [-n nome-vol] device -s dim-cluster specifica la dimensione in di un cluster dell'area dati. I valori validi sono: 512, 1024 (default), 2048, 4096, 8192 -n nome-vol specifica il volume della partizione device è un file regolare Linux di una certa dimensione su cui creare il filesystem. Questo comando inizializza le seguenti strutture all'interno del file: Boot Sector (32 ) Tabella della FAT Root directory vuota La dimensione della tabella FAT può essere calcolata in base alle formule che seguono. Numero di Cluster dell'area dati e dimensione della FAT Alla creazione del filesystem abbiamo a disposizione i seguenti dati: D T : dimensione del file in D C : dimensione in di un cluster D B : dimensione in del boot sector (32 ) D R : dimensione in di un elemento della FAT (48 ) Da questi dati possiamo calcolare il numero di cluster che possono essere utilizzati nell'area dati e la dimensione della tabella FAT tramite le formule che seguono. Numero di cluster nell'area dati (C): C= D D T B dove x indica la parte intera inferiore di D R D x C Dimensione in della tabella FAT (D F ): D F =C D R Il numero di cluster nell'area dati può essere ricavato dalla seguente formula: D T =D B D F C D C cioè D T =D B C D R C D C

Esempio di creazione del filesystem µfs 1) Creare il file Linux dev_ufs (da 4 MB) che dovrà contenere il filesystem: dd if=/dev/zero of=dev_ufs bs=1k count=4096 2a) Formattare il file creato: ufs_mke2fs -s 1024 -n my_ufs1 dev_ufs 32 183,38 KB 3912 KB 608 FAT C1 C2 C3 C3912 Numero di cluster dell'area dati: 3912 Dimensione della FAT (s): 187776 Spazio non utilizzato (s): 608 2b) Formattare il file creato: ufs_mk2fs -s 512 -n my_ufs2 dev_ufs 32 351,08 KB 3744,50 KB 432 FAT C1 C2 C3 C7489 Numero di cluster dell'area dati: 7489 Dimensione della FAT (s): 359472 Spazio non utilizzato (s): 432 2c) Formattare il file creato: ufs_mk2fs -s 8192 -n my_ufs3 dev_ufs 32 23,89 KB 4072 KB 112 FAT C1 C2 C3 C509 Numero di cluster dell'area dati: 509 Dimensione della FAT (s): 24432 Spazio non utilizzato (s): 112