Gli Extended file system di Linux (Ext2/Ext3/Ext4)



Похожие документы
Il sistema operativo LINUX Il file system. Indice. Blocchi logici. Indice. Super block. G. Di Natale, S. Di Carlo

MBR (MASTER BOOT RECORD)

Capitolo Silberschatz

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

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Esempi di File System

File system II. Sistemi Operativi Lez. 20

Struttura del Micro Filesystem (µfs)

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Realizzazione del file system

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

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

File system. Realizzazione del file system. Struttura del file system. Struttura del file system. Realizzazione del file system

Se mi lasci ti cancello: Cancellazione sicura asincrona su ext3

Esempi di File System

Sistemi Operativi. Implementazione del File System

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

File System ext2. Struttura del filesystem ext2.

Sistemi Operativi File System (parte 2)

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

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

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

Gestione del File System

Implementazione del File System

Corso base GNU/Linux Latina Linux Group. Sito web: Mailing list:

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

Filesystem. Il file system è organizzato in blocchi logici contigui

Il File System. Il file system

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

Lezione T10 Implementazione FS

Gestione del File System

Sistemi Operativi 1. ROMFS e VFS

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

Sommario. G. Piscitelli

Installazione LINUX 10.0

Gestione di File e Directory

Realizzazione del File System

Laboratorio di Sistemi Operativi

Fondamenti di GNU/Linux

Come installare Ubuntu Linux

CAP.8: Il file system

1.4: Il File System. File, directory, file system. Struttura e operazioni su file e directory. Implementazione delle directory

Il Sistema Operativo: il File System

Zettabyte File System

FoLUG Forlì Linux User Group. Partizionamento

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

I.S. Sobrero. Dipartimento di Informatica. Utilizzo. 16/02/2007 Marco Marchisotti

Struttura ed Evoluzione di Dischi e Filesystem. massimo maiurana

Architettura di storage

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

Controllo di processi

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

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

costruttori e distruttori

Il recupero dati dai file system di Linux

Filesystem e permessi NTFS

SISTEMI OPERATIVI DISTRIBUITI

Realizzazione del file system

10. Interfaccia del File System

Транскрипт:

Gli Extended file system di Linux (Ext2/Ext3/Ext4) Gli extended file systems sono i file system di default di Linux Ext3, Ext4 sono le versioni migliorate di Ext2 (dimensioni file, prestazioni...) e ne condividono la struttura Struttura di Ext2: il disco é diviso in gruppi di blocchi Ogni gruppo di blocchi contiene i metadati e i dati dei file Metadati = informazioni sul file, non i dati del file Metadati: Superblocco, BGDT (BlockGroupDescriptorTable=Tabella Descrizione Gruppi di Blocchi), BlockBitmap, InodeBitmap, InodeTable

Struttura di Ext2: il disco é diviso in gruppi di blocchi Il superblocco é copiato in ogni blocco (per affidabilitá) Le bitmap per allocazione e rilascio dei blocchi sono distribuite nel FS Una bitmap occupa 1 blocco: se i blocchi sono di 1024 byte, un bitmap descrive 1024 x 8 bit, cioé 8192 blocchi=8mbyte per gruppo Se i blocchi sono di 1024B i file minori di 8MB sono allocati in un Gruppo di Blocchi (i dati non sono sparsi nel disco!)

Metadati di Ext2 Superblocco Occupa un blocco dati Contiene la dimensione dei blocchi, il numero dei blocchi... Normalmente il Superblocco é copiato nel primo blocco di ciascun file (per backup) BGDT (Block Group Descriptor Table) contiene la descrizione di ogni gruppo di blocchi descrizione di un gruppo di blocchi: indirizzo delle Bitmap e tabella degli Inode Bitmap blocchi Inode blocchi dati Tabella INODE lista degli INODE ogni INODE contiene informazioni sul file: dimensione, propriet, tempi

Ext2 INODE Dimensione del blocco: 1KB Dimensioni massime 2 KB 4KB 8KB Dimensione massima del file: 16GB 256GB 2TB 2TB Dimensione massima del filesystem: 2TB 8TB 16TB 32 TB

Contenuti INODE di Ext2: Tipo di file e permessi Proprietario Dimensione del file Ora di creazione e dell ultima modifica Puntatori ai blocchi Contenuti Superblocco di Ext2: Numero magico per verificare che si tratta del SB di Ext2 Livello di revisione per conoscere le proprietá Conteggio dei montaggi e numero massimo di montaggi Numero di gruppi di blocchi Dimensione dei blocchi (per es. 1024 Byte) Blocchi per gruppo Numero di Blocchi liberi Numero di Inode liberi Primo Inode First Prev Next Last Go Back Full Screen Close Quit

Ext2 directory Lunghezza massima dei nomi file: 255 caratteri Lunghezza tabella variabile

Metadati di Ext2 /* * Structure of the super block */ struct ext2_super_block { u32 s_inodes_count; /* Inodes count */ u32 s_blocks_count; /* Blocks count */ u32 s_r_blocks_count; /* Reserved blocks count */ u32 s_free_blocks_count; /* Free blocks count */ u32 s_free_inodes_count; /* Free inodes count */ u32 s_first_data_block; /* First Data Block */ u32 s_log_block_size; /* Block size */ s32 s_log_frag_size; /* Fragment size */ u32 s_blocks_per_group; /* # Blocks per group */ u32 s_frags_per_group; /* # Fragments per group */ u32 s_inodes_per_group; /* # Inodes per group */ u32 s_mtime; /* Mount time */ u32 s_wtime; /* Write time */ u16 s_mnt_count; /* Mount count */ s16 s_max_mnt_count; /* Maximal mount count */ u16 s_magic; /* Magic signature */ u16 s_state; /* File system state */ }; u16 s_errors; /* Behaviour when detecting errors */ u16 s_pad; u32 s_lastcheck; /* time of last check */ u32 s_checkinterval; /* max. time between checks */ u32 s_creator_os; /* OS */ u32 s_rev_level; /* Revision level */ u16 s_def_resuid; /* Default uid for reserved blocks */ u16 s_def_resgid; /* Default gid for reserved blocks */ u32 s_reserved[235]; /* Padding to the end of the block */

Metadati di Ext2 struct ext2_inode { u16 i_mode; /* File mode */ u16 i_uid; /* Owner Uid */ u32 i_size; /* Size in bytes */ u32 i_atime; /* Access time */ u32 i_ctime; /* Creation time */ u32 i_mtime; /* Modification time */ u32 i_dtime; /* Deletion Time */ u16 i_gid; /* Group Id */ u16 i_links_count; /* Links count */ u32 i_blocks; /* Blocks count */ u32 i_flags; /* File flags */ u32 i_block[ext2_n_blocks];/* Pointers to blocks */ u32 i_version; /* File version (for NFS) */ u32 i_file_acl; /* File ACL */ u32 i_dir_acl; /* Directory ACL */ u32 i_faddr; /* Fragment address */ }; First Prev Next Last Go Back Full Screen Close Quit

Metadati di Ext2 struct ext2_group_desc { u32 bg_block_bitmap; /* Blocks bitmap block */ u32 bg_inode_bitmap; /* Inodes bitmap block */ u32 bg_inode_table; /* Inodes table block */ u16 bg_free_blocks_count; /* Free blocks count */ u16 bg_free_inodes_count; /* Free inodes count */ }; u16 bg_used_dirs_count; /* Directories count */ u16 bg_pad; u32 bg_reserved[3]; #define EXT2_NAME_LEN 255 struct ext2_dir_entry { u32 inode; /* Inode number */ u16 rec_len; /* Directory entry length */ u16 name_len; /* Name length */ char name[ext2_name_len]; /* File name */ }; Ext2 implementa i Symbolic Link Veloci (path lincato direttamente nell Inode)

File System Journaled Memorizza i tipi di cambiamenti ai file in un Journal Il Journal é un file che risiede in una porzione separata del file system Il file system Journaled legge il Journal per verificare lo stato del file Se lo stato é diverso Erroneous Journaling File system popolari di Linux: Ext3, Ext4, ReiserFS, XFS, JFS