Upload
others
View
4
Download
1
Embed Size (px)
Citation preview
SistemadeFicheiros
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
3
Arealidadetrack t
sector s
spindle
cylinder c
platterarm
read-writehead
arm assembly
rotation
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ImplementaçãodoSistemadeFicheiros
§ Listaligadadeblocos◦ Desvantagens◦ Acessosequencial– parachegaraumblocoéprecisopassarpelosanteriores◦ Emficheirosqueocupemmuitosblocosespalhadospelapartiçãooacessoaosúltimosblocosédemasiadolento
◦ Ex:paraacederaoúltimoblocodeumficheirocom1000blocos– seránecessárioquesejamlidosos999blocosanteriores
◦ Otamanhorealdecadablocoédiminuídopeloespaçoocupadopeloapontador
24
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
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
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
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
29
I-nodes
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
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
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
QuestõesdeImplementação
§ Variaçãodaeficáciacomadimensãodobloco
Dimensão do bloco
Eficácia de leitura
Eficácia de armazenamento
33
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
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
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
QuestõesdeImplementação
§ Caching◦ Manteremmemóriablocosmaisrecentes/maiorprobabilidadedeusofuturo
§ Leituraantecipada◦ Leituraecaching,porantecipação,deváriosblocos
§ Armazenamentocontíguo◦ Tentarcolocaroficheiroemblocosdediscocontíguos◦ Reduz-seotempodeoverhead relativoaoposicionamentonodisco
37
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
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
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
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
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
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
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
Linux– ext2
§ Característicasimportantes◦ SistemadeficheirosnativodoLinux◦ SemelhanteaosistemaBFF(BerkeleyFastFilesystem)
◦ SistemadeficheirosbaseadoemI-Nodes◦ TalcomotodosossistemasdeficheirosUnix
◦ Nomesdeficheirosaté255caracteres◦ Case-sensitive
45
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
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
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
TPC
§ Ler os seguintes artigos◦ http://arstechnica.com/gadgets/2008/03/past-present-future-file-systems/1/
49