Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di...
Transcript of Stru3ura del file system - University of Cagliari · 2016. 1. 22. · » Non ada/o per dischi di...
REALIZZAZIONEDELFILESYSTEM
SISTEMIOPERATIVI
Stru3uradelfilesystem» Stru/uradeifile
˃ Unitàdimemorizzazionelogica˃ Collezionediinformazioniinrelazionefraloro
» Ilfilesystemhaunastru/urastraAficata» FilesystemdisolitomemorizzatoindisposiAvidi
memorizzazionesecondaria(dischi)˃ Fornisceaccessoefficientealdiscoa/raversomeccanismiperlamemorizzazione,localizzazioneerecuperodeidaA
» Filecontrolblockstru/uracheconAeneimetadaArelaAvialfile
» IdriverdeidisposiAvicontrollanoildisposiAvofisico
GiorgioGiacinto201
3
2
SistemiOperaAvi
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
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
GiorgioGiacinto201
3
SistemiOperaAvi
7
ElementodidirectoryperUNIXV7
GiorgioGiacinto201
3
SistemiOperaAvi
8
ElementodidirectoryperMS-DOS
GiorgioGiacinto201
3
SistemiOperaAvi
9
ElementodidirectoryperWin98
FileControlBlock
GiorgioGiacinto201
3
10
SistemiOperaAvi
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
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
FileSystemVirtuali» Ifilesystemvirtuali(VFS)sonobasaAsuunapproccioobject-orientedallarealizzazionedelfilesystem
» IVFSconsentonodiusareunasolainterfacciadelfilesystem(API)peraccedereadiversifilesystem
GiorgioGiacinto201
3
15
SistemiOperaAvi
SchemadiunFileSystemVirtuale
GiorgioGiacinto201
3
16
SistemiOperaAvi
GiorgioGiacinto201
3
SistemiOperaAvi
17
VirtualFileSysteminLinuxGiorgioGiacinto201
3
SistemiOperaAvi
18
VirtualFileSysteminLinux
GiorgioGiacinto201
3
SistemiOperaAvi
19
Realizzazionedelledirectory» Listalinearedinomidifileconpuntatoriaiblocchidi
daA˃ Semplicedaprogrammare˃ Esecuzionelentasopra/u/operoperazionidiricerca
» TabellaHashListalineareconstru/uradaAhash˃ Riduceiltempodiricercanelladirectory˃ Evitarecollisioni,quandoduenomidifileproduconohashnellamedesimaposizione
˃ Dimensionefissa
GiorgioGiacinto201
3
20
SistemiOperaAvi
GiorgioGiacinto201
3
SistemiOperaAvi
21
Allocazionecon=gua
GiorgioGiacinto201
3
22
SistemiOperaAvi
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
AllocazioneconcatenataGiorgioGiacinto201
3
25
SistemiOperaAvi
Allocazioneconcatenata» Aciascunfileèassegnataunalistaconcatenatadiblocchi˃ Ilpuntatorealbloccosuccessivoèmemorizzatonelbloccostesso
» Iblocchipossonoessereinqualunquepartedeldisco
» Nessunaframmentazione» Efficienteperaccessisequenziali» Nonefficienteperaccessidirej˃ Occorrepercorrerelalistaconcatenata
GiorgioGiacinto201
3
26
SistemiOperaAvi
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
AllocazioneindicizzataGiorgioGiacinto201
3
29
SistemiOperaAvi
Allocazioneindicizzata» Vantaggi˃ Eliminaframmentazione˃ Efficienzanell’accessodire/o
» Svantaggi˃ Possibilesprecodispazionelbloccoindice
» Allocazionedifiledigrandidimensioni˃ BlocchiindiceconcatenaA˃ IndicimulAlivello
GiorgioGiacinto201
3
30
SistemiOperaAvi
Indicimul=livelloGiorgioGiacinto201
3
31
SistemiOperaAvi
!
outer-index
index table file
GiorgioGiacinto201
3
SistemiOperaAvi
32
SchemacombinatoUNIXUFS(4Kbytesperblocco)
Prestazioni» DipendonodallaApologiadiaccessoaifile» Spessosiusanotecnichecombinate˃ ConAguaperfiledipiccoledimensioni˃ Indicizzataperfiledidimensionimedieegrandi
» CriAcità˃ IdischirigidihannovelocitàdiaccessomoltoinferioriallavelocitàdiesecuzionedellaCPU+ Perojmizzaregliaccessinonèirragionevoleaggiungerealsistemamigliaiadiistruzioni!
GiorgioGiacinto201
3
33
SistemiOperaAvi
GiorgioGiacinto201
3
SistemiOperaAvi
34
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
Altrimetodi» Raggruppamento˃ Ogninblocchiliberi,ilprimobloccoconAenegliindirizzideisuccessivin-1blocchiliberi
˃ L’ulAmobloccodelgruppodinconAenegliindirizzideisuccessivinblocchiliberi
» Conteggio˃ Spessoiblocchiliberisonocon+gui(cancellazionedifileallocaAinmodoconAguo)
˃ Simemorizzal’indirizzodelprimobloccoeilnumerodiblocchilibericonAgui
GiorgioGiacinto201
3
37
SistemiOperaAvi
GiorgioGiacinto201
3
SistemiOperaAvi
38
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
GiorgioGiacinto201
3
SistemiOperaAvi
41
Ripris=no(businesscon=nuity)» Verificadellacoerenza˃ confrontofraidaAnellastru/uradelladirectoryconilcontenutodeiblocchineldisco
» Sistemidibackup˃ programmidisistemachetrasferisconoperiodicamenteidaAdalsistemadiproduzioneadaltrisistemidimemorizzazione(nastri,dischimagneAci,dischiojci)
» Ridondanza˃ ifile(elecopiedibackup)sonosempredisponibiliindiversisistemifisici
GiorgioGiacinto201
3
42
SistemiOperaAvi
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