Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di...

22
REALIZZAZIONE DEL FILE SYSTEM SISTEMI OPERATIVI Stru3ura del file system » Stru/ura dei file ˃ Unità di memorizzazione logica ˃ Collezione di informazioni in relazione fra loro » Il file system ha una stru/ura straAficata » File system di solito memorizzato in disposiAvi di memorizzazione secondaria (dischi) ˃ Fornisce accesso efficiente al disco a/raverso meccanismi per la memorizzazione, localizzazione e recupero dei daA » File control block stru/ura che conAene i metadaA relaAvi al file » I driver dei disposiAvi controllano il disposiAvo fisico Giorgio Giacinto 2013 2 Sistemi OperaAvi

Transcript of Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di...

Page 1: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

REALIZZAZIONEDELFILESYSTEM

SISTEMIOPERATIVI

Stru3uradelfilesystem»  Stru/uradeifile

˃  Unitàdimemorizzazionelogica˃  Collezionediinformazioniinrelazionefraloro

»  Ilfilesystemhaunastru/urastraAficata»  FilesystemdisolitomemorizzatoindisposiAvidi

memorizzazionesecondaria(dischi)˃  Fornisceaccessoefficientealdiscoa/raversomeccanismiperlamemorizzazione,localizzazioneerecuperodeidaA

»  Filecontrolblockstru/uracheconAeneimetadaArelaAvialfile

»  IdriverdeidisposiAvicontrollanoildisposiAvofisico

GiorgioGiacinto201

3

2

SistemiOperaAvi

Page 2: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

FileSystemstra=ficatoGiorgioGiacinto201

3

3

SistemiOperaAvi

Esempidifilesystem»  ISO9660(CD-ROM)»  UFS(Unix)»  FAT,FAT32,NTFS(Windows)»  ext2,ext3(Linux)»  HFS,HFS+(Macintosh)»  Googlefilesystem

GiorgioGiacinto201

3

4

SistemiOperaAvi

Page 3: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

GiorgioGiacinto201

3

SistemiOperaAvi

5

PrincipiGenerali»  BootcontrolblockConAeneleinformazioninecessarieperavviareunSistemaOperaAvodaquelvolume

»  VolumecontrolblockConAeneide/aglisuquelvolume˃  Superblock(UFS),MasterFileTable(NTFS)

»  Lastru/uradelladirectoryorganizzaifile»  AciascunfileèassociatounFileControlBlock(FCB)checonAenediverside/aglisulfile˃  inode(UFS)

GiorgioGiacinto201

3

6

SistemiOperaAvi

Page 4: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

GiorgioGiacinto201

3

SistemiOperaAvi

7

ElementodidirectoryperUNIXV7

GiorgioGiacinto201

3

SistemiOperaAvi

8

ElementodidirectoryperMS-DOS

Page 5: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

GiorgioGiacinto201

3

SistemiOperaAvi

9

ElementodidirectoryperWin98

FileControlBlock

GiorgioGiacinto201

3

10

SistemiOperaAvi

Page 6: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Stru3ureda=inmemoriaprincipale»  Tabelladimontaggio

»  Stru/uradelladirectory

»  TabellageneraledeifileaperA

»  TabelladeifileaperAperciascunprocesso

»  Buffer(le/ura/scri/ura)

GiorgioGiacinto201

3

11

SistemiOperaAvi

GiorgioGiacinto201

3

SistemiOperaAvi

12

Operazionisuifileestru3ureda=delfilesystem

Aperturadiunfile

Le/uradiunfile

Page 7: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Par=zioni»  UndiscopuòesseresuddivisoinpiùparAzioni˃  rawpar++onerawdiskindicanoparAzioniedischiprividistru/uralogica(ades.usaAdaDBMS)

»  Informazioniperl’avviamentodelsistema˃  unaparAzionesenzastru/ura

+  conAeneunaimmaginedacaricareinmemoriaeeseguire

˃  bootloader+  consentedisceglierefradiversisistemioperaAvipresenAindiverseparAzioni

+  deveinterpretarediversifilesystem

GiorgioGiacinto201

3

13

SistemiOperaAvi

Montaggio»  All’avviodiunsistemaoperaAvosieffe/uailmontaggiodellarootpar++on˃  conAeneilsistemaoperaAvo

»  Montaggioaltrifilesystem˃  verificacheildisposiAvocontengaunfilesystemnotoalsistemaoperaAvo

˃ montaggioinunadirectorydelsistema˃  inserimentoinformazionisulfilesystemmontatonellatabelladimontaggioinmemoria

GiorgioGiacinto201

3

14

SistemiOperaAvi

Page 8: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

FileSystemVirtuali»  Ifilesystemvirtuali(VFS)sonobasaAsuunapproccioobject-orientedallarealizzazionedelfilesystem

»  IVFSconsentonodiusareunasolainterfacciadelfilesystem(API)peraccedereadiversifilesystem

GiorgioGiacinto201

3

15

SistemiOperaAvi

SchemadiunFileSystemVirtuale

GiorgioGiacinto201

3

16

SistemiOperaAvi

Page 9: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

GiorgioGiacinto201

3

SistemiOperaAvi

17

VirtualFileSysteminLinuxGiorgioGiacinto201

3

SistemiOperaAvi

18

VirtualFileSysteminLinux

Page 10: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

GiorgioGiacinto201

3

SistemiOperaAvi

19

Realizzazionedelledirectory»  Listalinearedinomidifileconpuntatoriaiblocchidi

daA˃  Semplicedaprogrammare˃  Esecuzionelentasopra/u/operoperazionidiricerca

»  TabellaHashListalineareconstru/uradaAhash˃  Riduceiltempodiricercanelladirectory˃  Evitarecollisioni,quandoduenomidifileproduconohashnellamedesimaposizione

˃  Dimensionefissa

GiorgioGiacinto201

3

20

SistemiOperaAvi

Page 11: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

GiorgioGiacinto201

3

SistemiOperaAvi

21

Allocazionecon=gua

GiorgioGiacinto201

3

22

SistemiOperaAvi

Page 12: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Allocazionecon=gua»  Sistemadisemplicerealizzazione»  Accessosequenzialeeaccessodire/omoltoefficienA

»  Problemi˃  Allocazionespaziosudiscoaifile

+  Similealproblemadiallocazionedinamicadellamemoria

˃  Frammentazioneesterna˃  Crescitadelledimensionidiunfile

GiorgioGiacinto201

3

23

SistemiOperaAvi

Estensioni»  Consentonol’usodellaallocazioneconAguael’aumentodidimensionideifile˃  UnaestensioneècosAtuitadauninsiemeconAguodiblocchi

˃  UnfileècosAtuitodaunaopiùestensioni˃  Sipuògenerareframmentazioneinterna

GiorgioGiacinto201

3

24

SistemiOperaAvi

Page 13: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

AllocazioneconcatenataGiorgioGiacinto201

3

25

SistemiOperaAvi

Allocazioneconcatenata»  Aciascunfileèassegnataunalistaconcatenatadiblocchi˃  Ilpuntatorealbloccosuccessivoèmemorizzatonelbloccostesso

»  Iblocchipossonoessereinqualunquepartedeldisco

»  Nessunaframmentazione»  Efficienteperaccessisequenziali»  Nonefficienteperaccessidirej˃  Occorrepercorrerelalistaconcatenata

GiorgioGiacinto201

3

26

SistemiOperaAvi

Page 14: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Allocazioneconcatenata»  Modificheperovviareaiproblemi˃  Allocazioneperclusterdiblocchi

+  Serveunpuntatoreperuninsiemediblocchi+ Miglioral’accessodire/oalfile

˃  Usodilistedoppiamenteconcatenate+  Sesiperdeunbloccodiunfile,èpossibilerecuperareilrestodelfile

»  LeFATsonounavariantedell’allocazioneconcatenata˃  OS/2,MS-DOS

GiorgioGiacinto201

3

27

SistemiOperaAvi

File-Alloca=onTable

GiorgioGiacinto201

3

28

SistemiOperaAvi

Page 15: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

AllocazioneindicizzataGiorgioGiacinto201

3

29

SistemiOperaAvi

Allocazioneindicizzata»  Vantaggi˃  Eliminaframmentazione˃  Efficienzanell’accessodire/o

»  Svantaggi˃  Possibilesprecodispazionelbloccoindice

»  Allocazionedifiledigrandidimensioni˃  BlocchiindiceconcatenaA˃  IndicimulAlivello

GiorgioGiacinto201

3

30

SistemiOperaAvi

Page 16: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Indicimul=livelloGiorgioGiacinto201

3

31

SistemiOperaAvi

!

outer-index

index table file

GiorgioGiacinto201

3

SistemiOperaAvi

32

SchemacombinatoUNIXUFS(4Kbytesperblocco)

Page 17: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Prestazioni»  DipendonodallaApologiadiaccessoaifile»  Spessosiusanotecnichecombinate˃  ConAguaperfiledipiccoledimensioni˃  Indicizzataperfiledidimensionimedieegrandi

»  CriAcità˃  IdischirigidihannovelocitàdiaccessomoltoinferioriallavelocitàdiesecuzionedellaCPU+  Perojmizzaregliaccessinonèirragionevoleaggiungerealsistemamigliaiadiistruzioni!

GiorgioGiacinto201

3

33

SistemiOperaAvi

GiorgioGiacinto201

3

SistemiOperaAvi

34

Page 18: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Ve3oredibit»  Ognibloccosuldiscoèrappresentatodaunbit˃  bit=1ðbloccolibero˃  bit=0ðbloccooccupato

»  Ricercadellospaziolibero˃  Scansionedelve/ore˃  L’efficienzadipendedalleistruzionidellaCPUperl’analisidive/oridibit

»  Nonada/operdischidigrandidimensioni˃  Ilve/oreoccuperebbeunospazioeccessivoinmemoria

GiorgioGiacinto201

3

35

SistemiOperaAvi

Listaconcatenata

GiorgioGiacinto201

3

36

SistemiOperaAvi

Page 19: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Altrimetodi»  Raggruppamento˃  Ogninblocchiliberi,ilprimobloccoconAenegliindirizzideisuccessivin-1blocchiliberi

˃  L’ulAmobloccodelgruppodinconAenegliindirizzideisuccessivinblocchiliberi

»  Conteggio˃  Spessoiblocchiliberisonocon+gui(cancellazionedifileallocaAinmodoconAguo)

˃  Simemorizzal’indirizzodelprimobloccoeilnumerodiblocchilibericonAgui

GiorgioGiacinto201

3

37

SistemiOperaAvi

GiorgioGiacinto201

3

SistemiOperaAvi

38

Page 20: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

Efficienza»  Dipendedamolteplicifa/ori˃ ModalitàpiùfrequenAdiusodeifile˃  Informazionimemorizzatenelladirectory˃  Tecnologia

+  VelocitàCPU+ Dimensionievelocitàdeidischi+  Indirizzamentomemoria

GiorgioGiacinto201

3

39

SistemiOperaAvi

Prestazioni»  CachedeldiscoPartedellamemoriaprincipaleèusatapermemorizzareiblocchiusaApiùfrequentemente˃ MolAsistemioperaAviunificanolacachedeldiscoconlacachedellepagineMemoriavirtualeunificata

»  Free-BehindandRead-AheadOjmizzanogliaccessisequenziali

»  DischiVirtualiPorzionidellamemoriaprincipale

GiorgioGiacinto201

3

40

SistemiOperaAvi

Page 21: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

GiorgioGiacinto201

3

SistemiOperaAvi

41

Ripris=no(businesscon=nuity)»  Verificadellacoerenza˃  confrontofraidaAnellastru/uradelladirectoryconilcontenutodeiblocchineldisco

»  Sistemidibackup˃  programmidisistemachetrasferisconoperiodicamenteidaAdalsistemadiproduzioneadaltrisistemidimemorizzazione(nastri,dischimagneAci,dischiojci)

»  Ridondanza˃  ifile(elecopiedibackup)sonosempredisponibiliindiversisistemifisici

GiorgioGiacinto201

3

42

SistemiOperaAvi

Page 22: Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di grandi dimensioni ˃ Il ve/ore occuperebbe uno spazio eccessivo in Giorgio Giacinto

FileSystemcon registrazione delle modifiche»  TecnicamutuatadaisistemidigesAonedellebasididaA

˃  Operazionisulfilesystemtra/atecometransazioni»  SimanAeneunregistro(log)dell’esecuzionedelle

transazioni˃  de/oanchejournaling

»  Lemodifichedaeseguiresulfilesystemsonoscri/esullog˃  Selemodifichesonoapportatealfilesystemconsuccesso,sicancellalatransazionedallog

»  IncasodiinterruzioneimprovvisadeiservizidigesAonedelfilesystem,tu/eletransazionipresenAnellogdevonoessereancoracompletate

GiorgioGiacinto201

3

43

SistemiOperaAvi