File system / Cluster

Documenti analoghi
Si può simulare una struttura di directory a multilivelli con una struttura di directory a singolo livello?"

Sistemi Operativi. Il file system Casi di studio. Sistemi Operativi. Corso di laurea in Informatica. AA 2002/03 Bruschi, Rosti

! 11.2! Silberschatz, Galvin and Gagne 2005! Operating System Concepts 7 th Edition, Jan 1, 2005!

Esercizio FAT 1. Soluzione: 1. Capacità del disco: 2 24 blocchi (3 byte=24 bit) 2

Struttura del Micro Filesystem (µfs)

Manuale per riparare e recuperare dati sul hard disk

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

Architettura degli elaboratori Docente:

File: definizione. Il file è la più piccola unità logica manipolabie Un file è caratterizzato principalmente da:

Gestione di file (parte I) Terminologia di base

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

Indice. settembre 2008 Il File System 2

Capitolo Silberschatz

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistema operativo: Gestione del file system e delle periferiche

Sommario. Memorie di massa: tecnologie. Memorie di massa: memorie atte a memorizzare dati in modo non volatile. Tecnologie:

Sistemi Operativi 2003/2004 WINDOWS 2000

File System. Concetti e tecniche generali

Sistemi Operativi 1. Mattia Monga. a.a. 2016/17. Dip. di Informatica Università degli Studi di Milano, Italia

Sistemi Operativi. Bruschi Monga Re. Memorie di massa. Dischi virtuali Esercizio. Sistemi Operativi. Bruschi Monga Re.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Sistemi Operativi. Lez. 16 File System: aspetti implementativi

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Il file È un insieme di informazioni: programmi. Il File System. Il file system

File system: aspetti implementativi

I file utente sistema operativo nome

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

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

Esercitazione E3 File System

Dove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems

A confronto Linux e Microsoft. d i A g n e s e D a i d o n e

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi Esercizi Ricapitolazione. Docente: Claudio E. Palazzi

Implementazione del file system

12 Memoria secondaria Struttura del disco Struttura del disco

Realizzazione del file system. Fabio Buttussi HCI Lab Dipart. Di Matematica ed Informatica Università degli studi di Udine

Interfaccia del file system

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

La memoria secondaria

Sistemi Operativi File System (parte 2)

Sistema Operativo (Software di base)

Gestione Memoria. Gestione della memoria

Sistemi Operativi (modulo di Informatica II)

Concetti fondamentali

Gestione della memoria di massa e file system

Memoria secondaria. Sistemi Operativi mod. B 14.1

Esercitazione E4 Gestione dei dischi

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Sistemi Operativi III. Giorgio Richelli giorgio

Sommario. File Management. File. File Management System

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

Il Sistema Operativo

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

Prova in itinere 7 Giugno 2016 Università di Salerno

Parte V. Il File System

File System ext2. Struttura del filesystem ext2.

Sistemi Operativi. Modulo 9: File System

Capitolo 14: Struttura delle memorie di massa

12 Memoria secondaria

Il file system. Il File System. Attributi del file. File

Nastro magnetico. Gestione della memoria di massa. Disco magnetico. Disco magnetico. Usato in passato come dispositivo di memorizzazione secondaria

Realizzazione del file system. Marco Cesati. Schema della lezione. Componenti del SO. File system virtuale. File system su disco

Implementazione del File System

Informatica giuridica

Struttura del Micro Filesystem (µfs)

Sistemi Operativi (Laboratorio)

Il file System. FAT32 ext2

DOS-Gestione delle Directory e comandi

Il computer P R O F. L O R E N Z O P A R I S I

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

Informatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno

Il Sistema Operativo

Sistema operativo. Interazione con il SO

Stru3ura del file system

Il File System. Architettura del File System (2) Architettura del File System. Parte V. Il File System

Introduzione Definizioni

5. I device driver. Device driver - gestori delle periferiche. Struttura interna del sistema operativo Linux. Tipi di periferiche. Tipi di periferiche

Parte V Il File System

Memory management. Le attività di memory management del SO per la condivisione da parte di più processi

Il Sistema Operativo Gestione del File System

per ospitare Linux e Windows

Memoria secondaria. Fabio Buttussi HCI Lab Dept. of Math and Computer Science University of Udine ITALY

Capitolo 2: Strutture dei sistemi di calcolo

Linux la gestione dei dischi

SISTEMI OPERATIVI. Realizzazione del file system. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

boot loader partizioni boot sector

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

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

Personal Computer: introduzione

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z)

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

Il file system. File system. Fornisce il meccanismo per la memorizzazione e l accesso di dati e programmi Consiste di due parti

Cognome e nome: Matricola: Posto:

ARCHITETTURA DEL CALCOLATORE

File e cartelle File system Software di utilità Il S.O. e le periferiche Il S.O. e la memoria

I sistemi operativi. Prof. Daniele Contarino

Il Software. Il software del PC. Il BIOS

Corso di Informatica

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

Gestione della memoria

Transcript:

File system / Cluster Il file system è la parte di SO che, usando il driver dei dischi, fornisce e supporta le astrazioni di file e directory gerarchiche. Il file system del DOS è accessibile attraverso le funzioni di int 21 Per fornire l astrazione di file, il SO implementa un associazione nome file sequenza di settori contenenti l informazione del file. Il disco è allocato ai file a (blocchi di) settori, non byte, per semplicità: l accesso al settore è l operazione HW elementare sul disco lo spreco da settori parzialmente sfruttati è trascurabile nei file di dimensioni più comuni (p.es. 9.5K+1byte=20 settori, spreco=5%) Un file non può avere tutti i settori contigui, o sarebbe un problema farlo crescere e recuperarne i settori se cancellato. D altra parte non è desiderabile un eccessiva frammentazione (p.es. nemmeno una coppia di settori consecutivi contigui). Compromesso: il file system alloca spazio per i file in blocchi o cluster di n settori contigui, ma non assicura contiguità tra cluster; n può valere 2,4,8,16,32,64 (max DOS); p.es. n=16 cluster = 8K Ovviamente, valgono le relazioni: 1. dimensione cluster 2. numero max file 3. frammentazione 4. utilizzazione disco Esempio (4): cluster=16 settori=8k; un file di 1 byte ne spreca 8191! Purtroppo in DOS il n. di settori per cluster non è dettato dall ottimizzazione di 1-4, ma dai 2 byte delle FAT entry (vedi oltre) Dischi e file system- 03/16/06 11:57 PM 1/8

File system DOS - Partizioni I settori del disco si possono dividere tra al più 4 partizioni contigue, ognuna con un file system, anche non DOS (p.es. UNIX). Il master boot sector o MBR (cilindro 0, superficie 0, settore 1) contiene una tabella delle partizioni o partition table intero disco: MBR Partizione 1 Partizione 2 Partizione 3 Partizione 4 Formato (logico) della partition table Starting Location Ending Location Relative Number of Type Boot Side Cylind Sector Side Cylind Sector Start Sec. Sectors -------------------------------------------------------------------------- BIGDOS Yes 0 9 1 11 901 63 6804 675108 unused No 0 0 0 0 0 0 0 0? No 1 0 1 11 8 63 63 6741 unused No 0 0 0 0 0 0 0 0 NB: partizioni allineate con i cilindri, ma traccia 0 del cilindro 0 (con il MBR) non usata. Il DOS può gestire al più 2 partizioni; avranno rispettivamente type: 06H (BIGDOS); è la partizione primaria ( 2GB, ospita unità c:) 05H (EXTENDED); ospita unità u 1... u n (u 1 d:) implementazione: i settori di una partizione estesa sono visti come un disco a parte: il settore 0 ospita una partition table secondaria, che divide la partizione estesa in: - partizione ospitante unità u 1 ; ha type 1 (Dos12,<16M), 4 (Dos16,< 32M), 6 (BigDos) NB: usa le tracce della partizione estesa da 1 in poi (non la traccia del settore 0); - ulteriore partizione estesa per le unità u 2...u n ; cioè p. es.: disco rigido c: (primaria) d: e: part. estesa (I livello) part. estesa (II livello) Formato partizione BIGDOS: System area FAT1 e FAT2 (copia) (p.es. 165 sec. ciascuna) Root Dir (32 sec.) Cluster 2 (es. 16 s.) Data area Cluster 3 boot sector = parte codice boot + informazioni su partizione Dischi e file system- 03/16/06 11:57 PM 2/8

Boot sector Formato (logico) dell informazione nel boot sector di una partizione: esempio: partizione primaria (BIGDOS) OEM ID MSWIN4.0 Bytes per sector 512 Sectors per cluster 16 (1 byte, valore max 64 cluster 32K max) Reserved sectors at beginning 1 FAT Copies 2 Root directory entries 512 Total number of sectors Unused 2 bytes (used for Dos16 unità<64ks=32m) Media descriptor byte F8 Hex Sectors per FAT 165 Sectors per track 63 Sides 12 Special hidden sectors 6804 n. relativo (nel disco) settore boot Big total number of sectors 675108 4 bytes max n. settori = 4G (2KGB); non raggiungibili per il limite di 64K cluster Physical drive number 128 Extended Boot Record Signature 29 Hex Volume Serial Number 154E0BCF Volume Label File System ID FAT16 numero cluster a 16 bit (max 64K) esempio: unità logica (DOS-12) in partizione estesa OEM ID MSDOS5.0 Bytes per sector 512 Sectors per cluster 8 cluster=4kb (max per FAT12) Reserved sectors at beginning 1 FAT Copies 2 Root directory entries 512 Total number of sectors 21105 2B (max 32MB, irraggiungibile con FAT12) Media descriptor byte F8 Hex Sectors per FAT 8 Sectors per track 63 Sides 12 Special hidden sectors 63 n. relativo (in p. estesa) settore boot Big total number of sectors Unused 4 bytes (inutilizzato per Dos12/16) Physical drive number 128 Extended Boot Record Signature 29 Hex Volume Serial Number 0B1E0FF2 Volume Label File System ID FAT12 numero cluster a 12 bit (max 4K 16MB) Dischi e file system- 03/16/06 11:57 PM 3/8

Root Dir Dopo le FAT (ampiezza nota da boot sector), la system area è conclusa da un area che descrive il contenuto logico della root dir. L area contiene una tabella di 512 elementi (entries) di 32 byte (512 da boot sector, 32=costante di sistema area root=32 settori). Una entry non nulla descrive un file o dir contenuto nella root così: 16 bit Nome file (8 byte) Estensione (3 byte) A D V S H R Riservati (10 byte) Time Date Numero 1 cluster Dimensione file (4 byte) Attributi Read-only Hidden System Volume Directory Archive formato little-endian La word Time si interpreta come: hhhhhmmmmmmsssss; p.es.: 4e40 01001 110010 00000 9:50:00 La word Date si interpreta come: yyyyyyymmmmddddd; p.es.: 1f18 0001111 1000 11000 15 (1995-1980), 8, 24 Il numero del 1 cluster del file si riferisce alla numerazione dei cluster da 2 in su nella data area della partizione. IO.SYS e MSDOS.SYS, se presenti, sono le prime 2 entry della root. Dischi e file system- 03/16/06 11:57 PM 4/8

Sottodirectory Subdirectory: file contenente una tabella di entry come per la root; ma il file-subdir ha dimensione arbitraria numero entry > 512. Le prime due entry hanno nome. (1 cluster quello della subdir) e.. (1 cluster quello della dir padre o 0 - non esiste ma denota \). FAT (File Allocation Table) La FAT è una tabella di entry (elementi) di 16 bit: FAT[0] vale sempre fff8 (per FAT su hard disk); FAT[1] vale sempre ffff (inutilizzato); FAT[n] (n 2) indica l uso del cluster n; - 0000 cluster inutilizzato - fff7 cluster con bad sector - ffff ultimo cluster di un file - n ( precedenti) n è il cluster seguente n nel file di n Quindi le directory specificano per ogni file/dir il 1 cluster, sia n 2; eventuali altri cluster sono specificati da FAT[n], FAT[FAT[n]],... NB: i cluster non si numerano partendo da 0 perché: 1. per convenzione la FAT si fa iniziare con le 2 word fff8 ffff (anche se queste non hanno alcuna relazione cluster) 2. dato (1), si descriverebbe il cluster n in 0... con FAT[n+2]; ma è più semplice/efficiente descrivere il cluster n in 2... con FAT[n]. Dischi e file system- 03/16/06 11:57 PM 5/8

Grandezze caratteristiche e FAT Il DOS indirizza i cluster con 16 bit, nella FAT come nelle directory; quindi una partizione ha max 64K cluster -{0, 1, fff7..ffff}. Questa caratteristica, intrinseca del DOS, ne influenza molte altre. Col n. settori/cluster determina la max dimensione della data area: Settori in un cluster Max data area (settori) Max data area (byte) 1 64K 32M 2 128K 64M 4 256K 128M 8 512K 256M 16 1M 512M 32 2M 1G 64 4M 2G NB: 2GB = max dimensione prevista per partizione DOS (4.0) in fase di configurazione si fissa la dimensione della partizione; da questa e dalla tabella n. di settori per cluster necessario; p.es. partizione 330M cluster=16 settori. Calcolo FAT (NB: X = dimensione X): Partition = SystemArea + DataArea = BootSector + 2 FAT + RootDir + DataArea BootSector + 2 NFATEntries FATEntry + RootDir + Cluster (NFATEntries-2) qui solo NFATEntries è incognita (le altre sono date o già valutate); o più semplicemente (SystemArea>>DataArea, NFATEntries>>2): NFATEntries Partition / Cluster FAT = NFATEntries FATEntry = 2 NFATEntries Byte Esempio: Partition = 330MB, Cluster = 8KB NFATEntries 41K; FAT NFATEntries FATEntry = 82KB = 164 settori Infine, il max numero di file Nf si ha se ogni file è 1 cluster Nf<64K Dischi e file system- 03/16/06 11:57 PM 6/8

Implementazione del file system Il file system usa, oltre alle strutture dati già viste: Memoria programma FHT Stato handle 0 Stato handle i Memoria DOS MSFT Descr. file aperto Descr. file aperto Stato handle max File Handle Table, nel PSP di ogni programma; FHT è un array[0..19] of byte; FHT[n] dà lo stato della handle n; FHT[n]=FF handle n unused; altrimenti FHT[n] è un indice in: Master System File Table: per ogni file aperto ha una entry con: 1 cluster, posizione corrente, dimensione corrente. Open(p:TNomeFile; var h:thandle). Cerca una handle libera h in FHT e una entry libera in MSFT; se p ha la forma \d1\...\n si cerca d1 nella root dir, d2 in d1...; trovata dir entry n, copia 1 cluster e dim. in MSFT e restituisce h. Read(h;handle; var buf:array of char; n:word). Copia in buf n byte del file dalla pos. corrente (in MSFT) e la aggiorna Seek(h:THandle; n:integer). Occorre trovare il cluster in cui si trova il byte n del file: partendo dal 1 cluster (in MSFT), si segue la lista di cluster nella FAT. Delete(p:TNomeFile). Se p=\d1\...\n, nella dir entry n rende E5 (σ) il 1 char del nome; inoltre nella FAT marca 0000 (liberi) i cluster che erano di p. Quesito: come funziona undelete? Dischi e file system- 03/16/06 11:57 PM 7/8

Svantaggi del file system DOS 1.Nomi file troppo brevi (formato delle directory entry) 2.Max numero di cluster limitato da ampiezza FAT entry (64K cluster per FAT16, con entry a 16 bit) 3.Max numero file piccolo (64K), ancora a causa del limite massimo di 64K cluster. 4.Dimensione cluster eccessiva per partizioni grandi; p.es. 2GB suddivisi in 64K cluster danno cluster di 64 settori-32k; allocazione dello spazio poco efficiente. 5.Partizioni limitate a 2GB, per non aggravare (4). 6.Il concetto di FAT non è ben scalabile: le FAT con entry a 12 bit non si possono gestire come le nuove FAT con entry a 16 bit; ulteriori incrementi sono poco pratici (vedi p.es. 7). 7.La FAT è troppo grossa per stare tutta in memoria RAM; p.es. con 40K entries da 16 bit occupa 80Kbyte. Questo problema si può mitigare dividendo il disco in partizioni con piccole FAT e aumentando in CONFIG.SYS il n. di BUFFERS (memoria di scambio DOS-disco). Ancora più efficace è l uso di una disk cache software (p.es. SMARTDRV). 8.Random file access poco efficiente per la necessità di seguire la catena di link in FAT: Tempo di accesso a blocco dati B nel file F Distanza in cluster tra B e l inizio di F Dischi e file system- 03/16/06 11:57 PM 8/8