49
Sistema de Ficheiros

Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

  • Upload
    others

  • View
    4

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

SistemadeFicheiros

Page 2: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

2

Introdução

§ Problema:comoarmazenarmuitainformaçãodeformapermanente numsuportequeopermita?(disco,CD,usbpen,...)

§ Solução:sobreporàorganizaçãofísicado"meio"(sectores,...)umaorganizaçãoem"peças"deinformaçãológica:ficheiros

§ ÉdaresponsabilidadedoSOcriarestaorganizaçãológica

§ Ficheiro◦ Conjuntodedadospersistentes,geralmenterelacionados,identificadosporumnome

◦ Organizadoemhierarquiadepastas

Page 3: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

3

Arealidadetrack t

sector s

spindle

cylinder c

platterarm

read-writehead

arm assembly

rotation

Page 4: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

SistemadeFicheiros(FileSystem)

§ FormacomooSOorganizaosuportefísicoemficheiros◦ formataçãododisco,localizaçãodosficheirosnodisco,...

§ Compostoporumconjuntodeentidades◦ Sistemaparaorganizaçãodenomesparaidentificaçãodosficheiros◦ Umainterfaceprogramáticaparacomunicaçãocomosprocessos

§ Proporcionaosmecanismosparaos"utilizadores"(programas)lidaremcomessesficheiros◦ acesso:criação,leitura/escrita◦ proteção◦ buffering ...

4

Page 5: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

5

Organizaçãodosficheiros

§ Formasdeorganizarosficheiros◦ Apenasumdiretórioglobaleatribuirumnomeacadaficheiro◦ usadonosprimeirossistemasdeprocessamentoporlotes◦ problemadecolisãodenomes◦ umaprimeiraevolução:atribuirumdiretóriodiferenteparacadautilizador

◦ Organizaçãohierárquica,naformadeumaárvore◦ PropostanosistemaMULTICSpelaprimeiravez◦ Soluçãomaiscomumnossistemasatuais

/

binhome etc usr var dev

manuel rui pedro tty00 sda0ls who date passwd

Page 6: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

6

Hierarquiadenomes

§ QueroWindowsqueroUnixtêmumespaçodenomesuniforme◦ ficheiros,diretórios,dispositivossãoreferenciadosusandoamesmasintaxe

§ Emambososcasosexisteumaúnicaraizdenomes◦ todososnomesdeficheiros,diretóriosedispositivoscomeçampor‘/’(Unix)ou‘\’(Windows)

§ Mount:éumaoperaçãoconsisteemligararaizdonovosistemadeficheiroaumdiretóriodosistemadeficheirosraiz.

/

binhome etc usr var dev

manuel rui pedro tty00 sda0ls who date passwd

mount –t <filesystem> /dev/sda1 /home (/dev/hda0)

Page 7: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros- None

§ Extremamenteimportanteparaoutilizador◦ Umdosaspetosdosistemadeficheirosvisíveldoexterior◦ Oprimeiroaspetovisíveldeutilizaçãodeumficheiro◦ cp um_ficheiro outro_ficheiro

◦ Dimensão◦ MS/DOS– tamanhofixo– 8+3(extensão)◦ Linux– tamanhovariável(limitede255caracteres)

◦ Extensão◦ Formalouinformalmenteindiciaanatureza(ouconteúdo)doficheiro

◦ Casesensitive/insensitive – distinguirletrasmaiúsculaseminúsculas◦ Unix:casesensitive◦ Windows:caseinsensitive (porrazõesdecompatibilidade)

7

Page 8: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

8

Ficheiros– Extensão

§ Unix◦ Asextensõessãoconvencionais(tratadaspeloutilizador)e,eventualmente,forçadaspelosprogramasquetratamdeterminadotipodeficheiros◦ exemplos:compilador.c.o;.java

§ Windows◦ ExtensõestêmsignificadoformalnoSO◦ ex:ficheiro.exe – umexecutável

◦ Pode-serelacionarumaextensãocomumaaplicação(registry)◦ Permiteinvocarumaaplicação(istoéexecutarumprograma)abrindoumficheirocomaextensãocorrespondente◦ ex:ficheiro.doc =>executarprogramaword.exe (passandooficheirocomoargumento)

§ Exemplos:.c.cpp .h.java,.htm .html .xml,.bmp .jpeg .mp3.mpg,.Z,.gz,.ZIP

Page 9: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros– Conteúdo

§ Ficheirosdetexto◦ Conteúdofísico◦ SequênciadecaracteresASCII, incluindoalgunscaracteresespeciais:10(Line feeder),13(Carriage return)

◦ Visíveldiretamente,exemplo:Ø cat /etc/passwd

◦ Oconteúdofuncionalpodeseromaisdiverso◦ exemplo:códigoemc;scriptshell;dadosxml

§ Ficheirosbinários◦ ConteúdofísiconãointerpretávelcomoumconjuntodecaracteresASCII◦ Nãoévisíveldiretamente◦ exemplo:cat /bin/cat; reset

◦ Tratáveisapenasporprogramas(ouosprópriosficheirossãoprogramas)

9

Page 10: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros– Conteúdo

§ Exemplo:registodedados(número37)

#include <stdio.h>int main(){

int i = 37;FILE *fp = fopen("teste.txt", "w");fprintf(fp, "%d", i );fclose(fp);

}

#include <stdio.h>int main(){

int i = 37;FILE *fp = fopen("teste.dat", "w");fwrite(&i, sizeof(i), 1 , fp );fclose(fp);

}

Resultado:ficheiro com 2 bytescódigo do caractere '3' ecódigo do caractere '7'

Resultado:ficheiro com 4 bytesrepresentando o número 37 em binário(numa máquina com inteiros de 32 bits)

10

Formatodetexto

Formatobinário

Ø ls -la teste.txt-rw-r--r-- 1 fmmb staff 2 2 Out 19:13 teste.txtØ hexdump teste.txt0000000 33 37

Ø ls -la teste.dat-rw-r--r-- 1 fmmb staff 4 2 Out 19:17 teste.datØ hexdump teste.dat0000000 25 00 00 00

Page 11: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros– Acesso

§ Ficheirosdeacessosequencial◦ Localizarlendooficheiro,desdeoinícioatéàposiçãopretendida◦ Historicamenteligadoàsbandasmagnéticas◦ Ex:édadoumficheirodetextocomváriosnúmerosinteiros,umemcadalinha– paraobtero13ºnúmerointeiro:

#include <stdio.h>int main() {

int i, n;FILE *fp = fopen("teste.txt", "r");for (i=1; i<= 13; i++)

fscanf(fp, "%d", &n);}

11

Page 12: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros– Acesso

§ Ficheirosdeacessodireto◦ Possibilidadedelocalizarumaposição("seek"),combasenumachaveououtraindicação

◦ Ex:édadoumficheirodetextocomváriosnúmerosinteiros– obtero13ºnúmero:

§ Ficheirosdeacessoporchave (usadoemBDs)

#include <stdio.h>int main() {

int n;FILE *fp = fopen("teste.txt", "rb" );fseek(fp, 12 * sizeof(int), SEEK_SET );fread(&n, sizeof(int), 1, fp);

}

12

Page 13: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros– Atributos

§ Atributos◦ Característicasdoficheiro(alémdonome),paraefeitosdecontroloeadministração◦ Podemvariardesistemadeficheirosparasistemadeficheiros

§ Algunsatributossignificativos(maiorutilidade)◦ Dono (Owner)– utilizadordono/criadordoficheiro◦ geralmentecorrespondeaquemocriou.controlodeacessos,quotas,etc.

◦ Proteção – permissõesdeacessoaoficheiro◦ quempodeacederaoficheiroequaisasoperaçõesquepoderealizar

◦ Datas – datadecriação,últimaleitura,últimaescrita◦ gestão,procurapor"tempo";suportedomake

◦ Dimensão – dimensãoatualdoficheiro◦ gestão/quantificaçãodoespaçolivre/ocupado

◦ Flags extra– hidden,system,etc.◦ gestãodoacesso

13

Page 14: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros– Operações

§ Operaçõesdemanipulaçãodeumficheiro◦ read – leroconteúdodeumficheiro◦ cat teste ; fgets(...);

◦ write – escrever(alterar)oconteúdodeumficheiro◦ cat > teste ; fprintf (...);

◦ create – criaçãodoficheiro(vazio)◦ cat > novo_ficheiro ; fopen(..., "w" );

◦ open – abrirumficheiroparadeterminadaoperação◦ fopen (... , "r");

◦ close – fecharumficheirodepoisdeconcluídoumconjuntodeoperações◦ fclose(...);

14

Page 15: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros– Operações

§ Operaçõesdemanipulaçãodeumficheiro◦ append – acrescentaraoconteúdoanterior◦ cat >> teste ; fopen(..., "w+");

◦ seek – posicionamentoparaacessodirecto◦ fseek (...)

◦ get/setattributes – obter/alteraratributos◦ chmod ; chmod (...); stat (...);

◦ rename – alteraronomedeumficheiro◦ mv .... ; rename(...);

◦ delete – removerumficheiro◦ rm antigo.txt; remove(...);

15

Page 16: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Ficheiros– Operações

§ Lock◦ bloqueiodetodo/partedoficheiro◦ mecanismodeexclusãoparaacessosimultâneo

lockREAD(não exclusivo)pode ser feito por vários processosimpedeolockWRITEpor umoutroprocesso

lockWRITE(exclusivo)impedequalquer outrolock(readou write)por umoutroprocesso

§ memory mapped files◦ mapeamentodoficheironoespaçodeendereçamentodoprocesso;◦ permiteoacessoaoficheiroatravésde"variáveis"

16

Page 17: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Diretórios

§ Árvoredediretórioseficheiros◦ Diretórios (nós)– contêmumalistadeoutrosdiretóriosouficheiros(folhas)◦ Nomedoficheiro– nomeúniconaárvoredeficheiros– caminhodesdeodiretórioprincipal(raiz)atédiretórioondeoficheiroseencontra

◦ Ounomerelativo– caminhoapartirdeumdiretóriointermédio("corrente")

◦ Link – representaçãodomesmoficheirocommaisdoqueumnome,emmaisqueumdiretório◦ soft – referênciasimbólicaparaumficheirorealdefinidonoutrodiretório◦ hard – representaçãodomesmoficheiroemmaisqueumdiretório

17

Page 18: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Organizaçãológica

§ Organizaçãotípicadodisco◦ Aformataçãodebaixoníveldivideodiscoemsectores(blocos)◦ Emcimadessaformatação,odiscoédivididoempartições(umaoumaispordisco)

◦ Cadapartiçãopodeterumsistemadeficheirosdiferente

MBR Partição 1 Partição 2

Tabela de partições

Disco

18

Boot block Super block Tab. colocação Diretórios e ficheiros

Page 19: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Organizaçãológica

§ Códigoqueefetuaoboot dosistema(partedoBIOS)◦ Assumequeainformaçãosobreaspartiçõesexistentesestejamnoiníciododisco,noMBR

§ MBR- MasterBoot Record◦ Possuicódigo,geralmenteindependentedosistemaoperativo,quelocalizaapartiçãoquetemosistemaoperativoetransfereaexecuçãoparaoprimeiroblocodessapartição(boot block)

§ Tabeladepartições– listadaspartiçõesexistentesnodisco

MBR Partição 1 Partição 2

Tabela de partições

Disco

19

Page 20: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Organizaçãológica

§ Partição:organizaçãotípica◦ Boot block◦ ProgramadearranquedosistemaoperativoquesabelerosistemadeficheirosondeoSOseencontrainstalado,carregaoSOeexecuta-o

◦ Super-block◦ Informaçãocaracterísticadosistemadeficheirosinstalado

◦ Tabelas/estruturasdecolocação◦ Informaçãorelativaaosblocosdodiscolivres/ocupadoscomficheiros◦ Elementosdecontroloegestãoprópriosdecadasistemadeficheiros◦ Unix:i-nodes;MS-DOS:FAT

◦ Diretórioseficheiros◦ Sectoresocupadoscomosficheirosediretóriosarmazenadosnodisco

Boot block Super block Tab. colocação Diretórios e ficheiros

20

Page 21: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ Colocaçãocontígua◦ Armazenamentodecadaficheironumconjuntodeblocoscontíguos◦ Vantagens:◦ Implementaçãosimples– paracadaficheiro,bastaoSOsaberoblocoinicialefinal(ounºdeblocos)

◦ Eficienteemtermosdeleitura– sempreblococontíguos

Ficheiro Início Nº de blocos

a 0 3b 3 6c 9 2d 11 4e 15 2f 17 5

Partição

Tabela de colocação

c ca a a b b b b bb d dd d f ff f fe e

21

Page 22: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ Colocaçãocontígua◦ Desvantagem◦ Fragmentaçãoresultantedaremoção/criaçãodenovosficheiros,quesópodesereliminadacomcompactação

◦ Ex:removeu-sea, c ee;umficheirodqueocupa4blocossópodesercolocadoapósumacompactação...

◦ EstesistemaéútilemCD-ROMs eDVD-ROMs◦ conhece-seàpartidaadimensãodecadaficheiro◦ nãosãofeitasremoçõesdeficheirosapósagravação

c ca a a b b b b bb d dd d f ff f fe e

22

Page 23: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ Listaligadadeblocos◦ Mantém-seumalistaligadadosblocosocupadosporcadaficheiro;Emcadabloco,paraalémdosdados,guarda-setambémumapontadorparaoblocoseguintedomesmoficheiro

◦ Vantagens:◦ Todososblocospodemserocupados(afragmentaçãonãoéproblemática)◦ AoSObastasaberalocalizaçãodo1ºbloco.

a a ab ab b b

23

Page 24: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ Listaligadadeblocos◦ Desvantagens◦ Acessosequencial– parachegaraumblocoéprecisopassarpelosanteriores◦ Emficheirosqueocupemmuitosblocosespalhadospelapartiçãooacessoaosúltimosblocosédemasiadolento

◦ Ex:paraacederaoúltimoblocodeumficheirocom1000blocos– seránecessárioquesejamlidosos999blocosanteriores

◦ Otamanhorealdecadablocoédiminuídopeloespaçoocupadopeloapontador

24

Page 25: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ FAT– FileAllocation Table◦ Manteremmemóriaumatabelacomumarepresentaçãodalistaligadadeblocos.Emcadaposiçãodatabelaindica-seoblocoseguintedoficheiro.

◦ Vantagens◦ Talcomonomodeloanterior,afragmentaçãonãoéproblemática◦ Cadablocoéutilizadointegralmenteparaarmazenamentodedados(aocontráriodoesquemaanterior)

◦ Facilitaoacessodireto– paraobterumblocobastapercorreraFAT(maisrápido,poispercorre-seamemóriaenãoodisco)

◦ Desvantagem◦ AdimensãodaFATpodeserdemasiadogrande◦ Ex:500GBdedisco,blocosde4KBindexadoscom32bits(4Bytes)Þ AFATteráumadimensãode500MB

25

Page 26: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ FAT– FileAllocation Table◦ Exemplo:

a b c caa bb

12 1310 11 16 1714 15 20 ...18 19...

-10-1

0020

...

1014-1

...1813

1011121314151617181920

Ficheiro 1º blocoa 12b 11c 17

FAT

No directório basta guardar o bloco de início de cada ficheiro

“0” representa bloco livre“ –1” representa último bloco do ficheiro

26

Page 27: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ I-Nodes◦ Associaacadaficheiroumaestruturadedadoscontendoalocalizaçãoemdiscoeosatributosdoficheiro

◦ Oi-nodecontémumnúmerolimitadodeblocosdoficheiro◦ Paraficheirosdemaiordimensãosãoatribuídosaoi-nodeoutrosblocosquecontémtabelascomnºsdeblocoextra

◦ Oi-nodecontémtodasascaracterísticasdoficheiro,excetoonomequefigurano(ounos)diretóriosondeoi-nodeéincluído

◦ Vantagens◦ Afragmentaçãonãoéproblemática◦ Paraacederaumficheirobastaterorespetivoi-nodeemmemória(nãoénecessáriodispordetodaumatabeladealocação)

◦ Facilitaapartilhadeficheirosatravésdehardlinks

27

Page 28: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

◦ Exemplo:

Atributos de a

12 10 18 ----

outros blocos: -

a b b baa bb b b b

12 1310 11 16 1714 15 20 ...18 19...

b b

Atributos de b

20 21 ------

I-node de a I-node de b

Blocos extra

28

11 13 1415 16 17 19

outros blocos: outros blocos outros blocos

Page 29: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

29

I-nodes

Page 30: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ Implementaçãodosdiretórios◦ Diretório◦ Umdiretórioébasicamenteumalistadenomes,acadaumdosquaisseassociamosrespetivosatributoselocalizaçãoemdisco

◦ Odiretórioéumficheiroespecial◦ Situaçõestípicas◦ Odiretóriocontémosatributosdoficheiroealocalizaçãodoprimeiroblocoemdisco-apartirdoprimeiroblocolocalizam-seosrestantes(ex:listaligada,FAT,..)

◦ Odiretóriocontémonomedoficheiroeoendereçodeumaestruturaquecontémosatributosdoficheiroesualocalizaçãodoemdisco(ex:i-nodes)

◦ Questõesdeimplementação◦ Lidarcomnomesdedimensãovariável(fragmentaçãoecompactaçãonosdiretórios)◦ Procurarficheirosemdiretóriosgrandes(utilizaçãodehash-tables eestruturasemárvore)

30

Page 31: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

ImplementaçãodoSistemadeFicheiros

§ Links◦ Possibilidadedeummesmoficheirofigurarnosistemadeficheiroscomváriosnomes

◦ Hardlink(ligaçãoreal)◦ Incluiromesmoficheiroemmaisqueumdiretório◦ Replicaremcadadiretórioosatributoselocalizaçãonodisco◦ Implementaçãosimplescomi-nodes– bastareplicaronºdei-node◦ Implementaçãocomplexaseosatributosestiveremcontidosnodiretório– asalteraçõestêmqueserreplicadasemcadaligação

◦ Softlink(ligaçãosimbólica)◦ Incluirnumdiretórioonomedeoutroficheiroquecontémocaminhoparaoficheirooriginal

◦ Atravésdocaminhoacede-seàentradadediretóriodoficheirooriginale,poressavia,aosseusatributoselocalizaçãoemdisco

31

Page 32: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

QuestõesdeImplementação

§ DimensãodoblocoQualseráamelhordimensãoparaosblocos?◦ Eficáciadeleitura– relaçãoentreotempodeleituraeainformaçãoefetivamenteobtidadodisco◦ Aumentacomadimensãodobloco◦ menoroverhead deposicionamentoemcadaleitura◦ menornúmerodeleiturasnecessáriasparaobterosdados

◦ Eficáciadeocupação– relaçãoentreoespaçofísicoocupadoeorespetivoaproveitamentoemtermosdedados◦ Diminuicomoaumentodadimensãodobloco◦ desperdíciodevidoaoajustedadimensãodoficheiroparaumnúmerofixodeblocosexemplo:umficheirodedimensão1bytedesperdiçaorestodadimensãodobloco

32

Page 33: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

QuestõesdeImplementação

§ Variaçãodaeficáciacomadimensãodobloco

Dimensão do bloco

Eficácia de leitura

Eficácia de armazenamento

33

Page 34: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

QuestõesdeImplementação

§ Controlodalistadeblocoslivres◦ Estruturadedadosdecontrolodosblocosdedisconãoocupadosporficheiros

◦ Listaligada◦ Listaligadacomonúmerodecadaumdosblocoslivres◦ Criaçãodeumficheiro:◦ Obterosprimeirosblocosdalista(atéàdimensãodoficheiro)edeseguidaretirá-losdalista

◦ Remoçãodeumficheiro:◦ Acrescentarosrespetivosblocosàlista

◦ Métodosimples,maspoderálevaradispersãodosficheirosporváriosblocosnãocontíguos

◦ Adimensãodalistapoderáserbastantegrandeseodiscoestiverpoucoocupado

34

Page 35: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

QuestõesdeImplementação

◦ Bitmap◦ Sequênciacomumnúmerodebitsigualaonúmerodeblocos◦ Bita“0” significablocolivre◦ Bita“1” significablocoocupado

◦ Dimensãofixa◦ Quasesempreumadimensãomenorquenasoluçãocomlista(excetoquandodiscoestáquasecheio)

◦ Facilitaaprocuradeblocoscontíguos/próximos◦ Bastaprocurar0'scontíguos/próximosnobitmap

35

Page 36: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

QuestõesdeImplementação

§ Backup:Salvaguardadesegurança◦ Backupincremental– apenasasalteraçõesdesdeobackupanterior◦ Combasenodispositivofísico– backupcompleto(imagem)deumdisco◦ Combasenaorganização– backupdepartedosficheiros◦ Evitam-segeralmentebackupsde:◦ Programas(poispodem-sereinstalar)◦ Ficheirosquemodelizamdispositivos(bloco,caractere)

§ Consistência◦ Mecanismosdeverificaçãoerecuperaçãodaconsistênciadosistemadeficheiros

36

Page 37: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

QuestõesdeImplementação

§ Caching◦ Manteremmemóriablocosmaisrecentes/maiorprobabilidadedeusofuturo

§ Leituraantecipada◦ Leituraecaching,porantecipação,deváriosblocos

§ Armazenamentocontíguo◦ Tentarcolocaroficheiroemblocosdediscocontíguos◦ Reduz-seotempodeoverhead relativoaoposicionamentonodisco

37

Page 38: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

MS-DOSeWindows98– FATs

§ Característicasimportantes◦ SistemabaseadoemFAT◦ DOS:FAT-12eFAT-16◦ Windows95e98:FAT-32

◦ Case-insensitive◦ Dimensãodosnomes◦ DOS:8(nome)+3(extensão)caracteresASCII◦ Oficheiroéguardadocomletrasmaiúsculas

◦ Windows:260caracteresUnicode(2bytes)

38

Page 39: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

MS-DOSeWindows98– FATs

§ Máximadimensãodoespaçoindexávelemdisco

Bloco (bytes) FAT-12 FAT-16 FAT-320.5K 2MB X X1K 4MB X X2K 8MB 128MB X4K 16MB 256MB 1TB8K X 512MB 2TB

16K X 1GB 2TB32K X 2GB 2TB

39

Page 40: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

MS-DOSeWindows98– FATs

§ DOS– Directórios◦ Osdirectóriossãoficheiroscompostosporváriosregistos– umregistoporcadaficheiroexistentenodirectório

◦ Cadaregistotemoseguinteformato:

2

Nome

8 3 1 10 2 2 4

ExtensãoAtributos

Reservados

Hora DataLocalização

(Nº do 1º Bloco)

Dimensão

40

Page 41: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

MS-DOSeWindows98– FATs

§ DOS– Directórios◦ NomeeExtensão(8bytes+3bytes)◦ Nomedoficheiroeextensão- dimensõesfixas

◦ Atributos(1byte)◦ flags:hide,system file,read-only,...

◦ Data/hora(2+2bytes)◦ Dataehoradaúltimamodificaçãodoficheiro

◦ Localização◦ Blocoinicialdelocalizaçãodoficheiro=>entradanaFAT;

◦ Dimensãodoficheiro(4bytes)◦ Dimensãorealdoficheiro(embytes)

41

Page 42: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

MS-DOSeWindows98– FATs

§ Windows98– Directórios◦ Aproveitam-seos10bytesnãoutilizadospeloDOS◦ Introduzem-semaiscamposparadatas/horasecompatibilidadedenomescomWindowsNT

◦ Mais2bytesparaobterosbitsmaissignificativosdoblocodediscoondecomeçaoficheiro

Nome

8 3 1 2 4

ExtensãoAtributos

Nº do 1º Bloco(16 msb)

Dimensão

41 5 2 2

Data/hora(criação)

Data(acesso)

Data/hora(modificação)

Nº do 1º Bloco(16 lsb)

NT

42

Page 43: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

MS-DOSeWindows98– FATs

§ Nomescompridos◦ Aseguiraumregistocomoformatoanterior,podem-seseguirumconjuntoderegistoscomoseguinteformato:

◦ DestemodooWindowsconseguesuportarnomescompridos◦ ParaoDOS,entradascomesteformatosãoignoradas,poiscontêmumvalordeatributoinválidoparaoDOS

5 caracteres

1 10 1 2 4

Atributos

0 6 caracteres 0 2caract.

1 1 12

ChecksumNº Sequência

43

Page 44: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

MS-DOSeWindows98– FATs

§ Nomescompridos◦ Exemplo:Ficheirochamado“RelatoriodoTrabalhoFinal”

◦ ODOSsóconseguelêaprimeiraentrada◦ OWindows98utilizatodasasqueseseguematéencontrarumnúmerodesequênciacomumdesfasamentode64unidades

R E L A T O ~ 1 D O C

R e l a t o r i o d o

T r a b a l h o iF n a

l

1

2

66

44

Page 45: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Linux– ext2

§ Característicasimportantes◦ SistemadeficheirosnativodoLinux◦ SemelhanteaosistemaBFF(BerkeleyFastFilesystem)

◦ SistemadeficheirosbaseadoemI-Nodes◦ TalcomotodosossistemasdeficheirosUnix

◦ Nomesdeficheirosaté255caracteres◦ Case-sensitive

45

Page 46: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Linux– ext2

§ Estruturadeumapartição◦ Cadapartiçãoédivididaemváriosgruposdeblocos,tirando-separtidodaarquitecturafísicadodisco

◦ Cadaficheiroresidepreferencialmentenumúnicogrupodeblocos◦ Destemodoacelera-sealeitura/escritanodisco

Boot Grupo de blocos #1 Grupo de blocos #2 Grupo de blocos #3

Super-bloco Descritor Bitmap blocos Bitmap I-nodes I-Nodes Dados

...

46

Page 47: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Linux– ext2

§ EstruturadosI-Nodes◦ Dimensãode128bytes◦ Osúltimos3campossãotambémendereçosdeblocosdodisco:◦ Indiretos– endereçodeumblocododiscoquecontémmaisendereçosdeblocosdalocalizaçãodoficheiro

◦ Duplamenteindiretos– endereçodeumatabeladeblocosindiretos

◦ Triplamenteindiretos– endereçodeumatabeladeblocosduplamenteindiretos

§ (Oobjetivoépermitirqueumficheiroestejalocalizadoemmaisde12blocos)

Permissões

Nº de links

UID

GID

Dimensão

Selostemporais

Localizaçãodos 1ºs

12 blocos

Indirectos

Duplamenteindirectos

Triplamenteindirectos

47

Page 48: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

Linux– ext2

§ Estruturadosdirectórios

Nome (max. 255) ...

Nº deI-Node

Nº caracteres

Deslocamento p/ apróxima entrada

Tipo deFicheiro

1º ficheiro 2º ficheiro

22 F 10 Manual.txt 34 D 9 Trabalhos ...

48

Page 49: Sistema de Ficheirosso.dcti.iscte.pt/www/uploads/Material/so-t3.pdf · 2017-10-09 · 5 Organização dos ficheiros §Formas de organizar os ficheiros Apenas um diretório global

TPC

§ Ler os seguintes artigos◦ http://arstechnica.com/gadgets/2008/03/past-present-future-file-systems/1/

49