Sistemas Operacionais FAT
Alocação Encadeada Soluciona problemas da alocação contígua Alocação é baseada em uma unidade de tamanho fixo (bloco) análogo a paginação Arquivo é uma lista encadeada de blocos cada bloco contém um ponteiro para o próximo bloco Arquivo é descrito em uma entrada na forma bloco inicial do arquivo bloco final do arquivo ou tamanho do arquivo
Alocação Encadeada 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 File Allocation Table nome  bloco inicial  comprimento ... ... ... B 1 5 ... ... ... ... ... ... ... ... ...
Alocação Encadeada Exemplos DOS FAT FAT12, para disquetes, max 16 MB FAT16, para discos rígidos pequenos, max 64k * cluster_size Windows 95 VFAT - permite nomes longos Windows 98 FAT32 - max 4GB por partição
FAT File Alocation Table (FAT) esquema adotado pelo DOS Unidade de alocação é o cluster (conjunto de setores) arquivo é formado por um conjunto de clusters FAT é uma tabela de encadeamento de clusters uma entrada na FAT para cada cluster do disco (sistema de arquivos) composta por um ponteiro (endereço de um cluster) Arquivo é descrito por uma seqüência de entradas na FAT, cada entrada apontando para a próxima entrada
FAT Esquema de funcionamento Diretório arq_a 256 737 400 EOF 399 FAT 0 256 399 400 737
Organização do Disco boot 0 1 2 3 . . . . . FAT 1 FAT 2 ROOT CL 2 CL 3 CL 4 . . . . . . 1 NFAT * SPF NROOT * 20/BPS NSI CLUSTER 0 = livre ffff = aponta para nada
Directory  Entry Offset Length Description  0x00 8 Filename  0x08 3 Extension  0x0B 1 Bit field for attributes  0x0C 10 Reserved  0x16 2 Time  (coded as Hour*2048*minute*32+Sec/2)   0x18 2 Date  (coded as (Year-1980)*512+Month*32+Day)   0x1A 2 Starting cluster area  0x1C 4 File size (in bytes)
Directory  Entry  Attributes Bit  Mask  Attributes 0  0x01  Read-only 1  0x02  Hidden 2  0x04  System 3  0x08  Volume label 4  0x10  Subdirectory 5  0x20  Archive 6  0x40  Unused 7  0x80  Unused
Organização do Disquete Logical Sector   Content  0    Boot Sector  1   First sector in the (first) FAT  10   First sector in the second FAT  19 First sector in the floppy disk's root directory  xx   Last sector in the root directory  (see 0x11 in the boot sector)   xx+1  Beginning of data area for the floppy disk
BOOT Sector BPB - BIOS Parameter Block 0-2 <<>a jump instruction to 0x1e<>>  3-10 Computer manufacturer's name  11-12 Bytes per sector  13-13 Sectors per cluster  14-15 Reserved sectors for the boot record  16-16 Number of FATs  17-18 Number of root directory entries  19-20 Number of logical sectors  21-21 Medium descriptor byte  22-23 Sectors per FAT  24-25 Sectors per track  26-27 Number of surfaces  28-31 Number of hidden sectors
FAT Space Values Value  Meaning 0x00  Unused 0xFF0-0xFF6  Reserved cluster 0xFF7  Bad Cluster 0xFF8-0xFFF  Last cluster in a file (anything else)  Number of the next cluster in the file
DEBUG load L [endereço] [unidade] [primeiro setor] [número] endereço: inicial de carregamento unidade: a: é 0 primeiro setor: 0 é de boot número: quantidade de setores dump D [endereço] c:/>debug -l 100 0 0 1 -d 100 Tudo em hexadecimal
DEBUG c:/>debug -l 100 0 0 1 -d 100 1A8A:0100  EB 3C 90 2A 58 4C 7E 2D-49 48 43  00 02  01 01 00  .<.*XL~-IHC..... 1A8A:0110  02  E0 00  40 0B F0 09 00-12 00 02 00 00 00 00 00  [email_address] 1A8A:0120  00 00 00 00 00 00 29 D7-0F 5F 36 49 53 48 49 4B  ......).._6ISHIK 1A8A:0130  41 57 41 20 20 20 46 41-54 31 32 20 20 20 33 C9  AWA  FAT12  3. 1A8A:0140  8E D1 BC FC 7B 16 07 BD-78 00 C5 76 00 1E 56 16  ....{...x..v..V. 1A8A:0150  55 BF 22 05 89 7E 00 89-4E 02 B1 0B FC F3 A4 06  U.&quot;..~..N....... 1A8A:0160  1F BD 00 7C C6 45 FE 0F-38 4E 24 7D 20 8B C1 99  ...|.E..8N$} ... 1A8A:0170  E8 7E 01 83 EB 3A 66 A1-1C 7C 66 3B 07 8A 57 FC  .~...:f..|f;..W. - Obs: little endian Exemplo: BPS - offset 11, 2 bytes vetor[0]=0x00 , vetor[1]=0x02, logo 0000 0010  0000 0000  = 512 SPF - offset 22, 2 bytes 0000 0000 0000 1001 = 9 NFAT - offset  16, 1 byte 0000 0010 = 2 NR_DIR_ENTRY= 224
Disquete de 3  1 / 2 ” Número de faces 2 número de trilhas 40 número de setores  18 bytes por setor 512 capacidade do formato 1.44 MB
criando um arquivo no disquete A:/>copy con teste.doc Hello, IME. Aqui sao os alunos do 4 ano Eng Comp. Bye. ^Z 1 arquivo(s) copiado(1) A:/>
rastreando o arquivo com debug localizando o arquivo no diretório raiz c:/>debug -l 100 0 13 1 -d 100 -l 0 0 13 1 -d 0 1A8A:0000  49 53 48 49 4B 41 57 41-20 20 20 28 00 00 00 00  ISHIKAWA  (.... 1A8A:0010  00 00 00 00 00 00 C9 40-BC 2C 00 00 00 00 00 00  .......@.,...... 1A8A:0020  41 74 00 65 00 73 00 74-00 65 00 0F 00 C2 2E 00  At.e.s.t.e...... 1A8A:0030  64 00 6F 00 63 00 00 00-FF FF 00 00 FF FF FF FF  d.o.c........... 1A8A:0040  54 45 53 54 45 20 20 20-44 4F 43 20 00 90 89 76  TESTE  DOC ...v 1A8A:0050  BC 2C BC 2C 00 00 77 76-BC 2C  02 00  3C 00 00 00  .,.,..wv.,..<... 1A8A:0060  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................ 1A8A:0070  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................ - 0x1A,  2 bytes , CLI = 0000 0000 0000 0010= 2 Setor Físico = (CLF-2)*SPC + NrStoresIniciais + SetorNoCluster= 0*0+32+ 1 = 33
rastreando o arquivo com debug -l 100 0 21 1 -d 100 1A8A:0100  48 65 6C 6C 6F 2C 20 49-4D 45 2E 0D 0A 41 71 75  Hello, IME...Aqu 1A8A:0110  69 20 73 61 6F 20 6F 73-20 61 6C 75 6E 6F 73 20  i sao os alunos 1A8A:0120  64 6F 20 34 20 61 6E 6F-20 64 65 20 45 6E 67 20  do 4 ano de Eng 1A8A:0130  43 6F 6D 70 0D 0A 42 79-65 2E 0D 0A 00 00 00 00  Comp..Bye....... 1A8A:0140  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................ 1A8A:0150  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................ 1A8A:0160  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................ 1A8A:0170  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................ - CLI = 33 = 0x21

Mais conteúdo relacionado

PPT
PPT
Informática e Windows
PDF
Simulado lpi 117_101
PPT
fucking shit
PDF
Aula1 30-07-120922184742-phpapp02
PPTX
Armazenamento de Dados (Bits & Bytes)
PDF
Apresentação-Jun18-V1.pdf_bresimar_training
DOCX
Placa mãe
Informática e Windows
Simulado lpi 117_101
fucking shit
Aula1 30-07-120922184742-phpapp02
Armazenamento de Dados (Bits & Bytes)
Apresentação-Jun18-V1.pdf_bresimar_training
Placa mãe

Semelhante a FAT (20)

PDF
[Emissor_NF-e]_Manual_de_layout_TXT-NF-e_v2.0.0.pdf
PDF
37064834 curso-back-track
PDF
37064834 curso-back-track
PDF
Programação para Atari 2600
PDF
Instalação e Manutenção de Computadores
PDF
Placa mãe
PPT
ArqOrgCom.ppt
PPT
PDF
Arquitetura de Computadores: Sistemas de numeração
PDF
Prova 2012 2_p4_gabarito
PDF
Apostila de montagem e manutenção de computadores emi mario gurgel
PDF
Cheat sheet Mips 32 bits
PPTX
Conceitos Básicos INSS 2015
PDF
Pic18xx
PDF
Programação para Atari 2600
PDF
Processar fluxos de textos usando filtros
PDF
Arquitetura de Memoria do PostgreSQL
ODP
TV Digital - Entendendo a transmissão de aplicações - TDC2011
PPT
Pro3 03 e_dados_complexos
PPTX
IIntrodução à Informática e Hardware.pptx
[Emissor_NF-e]_Manual_de_layout_TXT-NF-e_v2.0.0.pdf
37064834 curso-back-track
37064834 curso-back-track
Programação para Atari 2600
Instalação e Manutenção de Computadores
Placa mãe
ArqOrgCom.ppt
Arquitetura de Computadores: Sistemas de numeração
Prova 2012 2_p4_gabarito
Apostila de montagem e manutenção de computadores emi mario gurgel
Cheat sheet Mips 32 bits
Conceitos Básicos INSS 2015
Pic18xx
Programação para Atari 2600
Processar fluxos de textos usando filtros
Arquitetura de Memoria do PostgreSQL
TV Digital - Entendendo a transmissão de aplicações - TDC2011
Pro3 03 e_dados_complexos
IIntrodução à Informática e Hardware.pptx
Anúncio

Último (19)

PDF
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
PPTX
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
PDF
Jira Software projetos completos com scrum
PDF
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
PPTX
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
PDF
Processamento da remessa no SAP ERP, SCM610 Col15
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
Banco de Dados 2atualização de Banco de d
PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
PPTX
Analise Estatica de Compiladores para criar uma nova LP
PDF
SEMINÁRIO DE IHC - A interface Homem-Máquina
PDF
Processos no SAP Extended Warehouse Management, EWM100 Col26
PPT
Aula de Engenharia de Software principais caracteristicas
PDF
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
PPTX
Aula 7 - Listas em Python (Introdução à Ciencia da Computação)
PDF
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
PPTX
ccursoammaiacursoammaiacursoammaia123456
Aula 9 - Funções 202yttvrcrg5-1.pptx.pdf
Aula 9 - Funções em Python (Introdução à Ciência da Computação)
Jira Software projetos completos com scrum
Metodologia Scrumban-XP - Um Guia Rápido (MrSomebody19).pdf
3b - Bradesco Lean Agile Training Plan - Ritos Operacionais (1).pptx
Processamento da remessa no SAP ERP, SCM610 Col15
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Banco de Dados 2atualização de Banco de d
Conceitos básicos de Redes Neurais Artificiais
Tipos de servidor em redes de computador.pptx
Customizing básico em SAP Extended Warehouse Management, EWM110 Col26
Analise Estatica de Compiladores para criar uma nova LP
SEMINÁRIO DE IHC - A interface Homem-Máquina
Processos no SAP Extended Warehouse Management, EWM100 Col26
Aula de Engenharia de Software principais caracteristicas
ASCENSÃO E QUEDA DO SOFTWARE LIVRE NO ESTADO BRASILEIRO
Aula 7 - Listas em Python (Introdução à Ciencia da Computação)
Visão geral da SAP, SAP01 Col18, Introdução sistema SAP,
ccursoammaiacursoammaiacursoammaia123456
Anúncio

FAT

  • 2. Alocação Encadeada Soluciona problemas da alocação contígua Alocação é baseada em uma unidade de tamanho fixo (bloco) análogo a paginação Arquivo é uma lista encadeada de blocos cada bloco contém um ponteiro para o próximo bloco Arquivo é descrito em uma entrada na forma bloco inicial do arquivo bloco final do arquivo ou tamanho do arquivo
  • 3. Alocação Encadeada 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 File Allocation Table nome bloco inicial comprimento ... ... ... B 1 5 ... ... ... ... ... ... ... ... ...
  • 4. Alocação Encadeada Exemplos DOS FAT FAT12, para disquetes, max 16 MB FAT16, para discos rígidos pequenos, max 64k * cluster_size Windows 95 VFAT - permite nomes longos Windows 98 FAT32 - max 4GB por partição
  • 5. FAT File Alocation Table (FAT) esquema adotado pelo DOS Unidade de alocação é o cluster (conjunto de setores) arquivo é formado por um conjunto de clusters FAT é uma tabela de encadeamento de clusters uma entrada na FAT para cada cluster do disco (sistema de arquivos) composta por um ponteiro (endereço de um cluster) Arquivo é descrito por uma seqüência de entradas na FAT, cada entrada apontando para a próxima entrada
  • 6. FAT Esquema de funcionamento Diretório arq_a 256 737 400 EOF 399 FAT 0 256 399 400 737
  • 7. Organização do Disco boot 0 1 2 3 . . . . . FAT 1 FAT 2 ROOT CL 2 CL 3 CL 4 . . . . . . 1 NFAT * SPF NROOT * 20/BPS NSI CLUSTER 0 = livre ffff = aponta para nada
  • 8. Directory Entry Offset Length Description 0x00 8 Filename 0x08 3 Extension 0x0B 1 Bit field for attributes 0x0C 10 Reserved 0x16 2 Time (coded as Hour*2048*minute*32+Sec/2) 0x18 2 Date (coded as (Year-1980)*512+Month*32+Day) 0x1A 2 Starting cluster area 0x1C 4 File size (in bytes)
  • 9. Directory Entry Attributes Bit Mask Attributes 0 0x01 Read-only 1 0x02 Hidden 2 0x04 System 3 0x08 Volume label 4 0x10 Subdirectory 5 0x20 Archive 6 0x40 Unused 7 0x80 Unused
  • 10. Organização do Disquete Logical Sector Content 0 Boot Sector 1 First sector in the (first) FAT 10 First sector in the second FAT 19 First sector in the floppy disk's root directory xx Last sector in the root directory (see 0x11 in the boot sector) xx+1 Beginning of data area for the floppy disk
  • 11. BOOT Sector BPB - BIOS Parameter Block 0-2 <<>a jump instruction to 0x1e<>> 3-10 Computer manufacturer's name 11-12 Bytes per sector 13-13 Sectors per cluster 14-15 Reserved sectors for the boot record 16-16 Number of FATs 17-18 Number of root directory entries 19-20 Number of logical sectors 21-21 Medium descriptor byte 22-23 Sectors per FAT 24-25 Sectors per track 26-27 Number of surfaces 28-31 Number of hidden sectors
  • 12. FAT Space Values Value Meaning 0x00 Unused 0xFF0-0xFF6 Reserved cluster 0xFF7 Bad Cluster 0xFF8-0xFFF Last cluster in a file (anything else) Number of the next cluster in the file
  • 13. DEBUG load L [endereço] [unidade] [primeiro setor] [número] endereço: inicial de carregamento unidade: a: é 0 primeiro setor: 0 é de boot número: quantidade de setores dump D [endereço] c:/>debug -l 100 0 0 1 -d 100 Tudo em hexadecimal
  • 14. DEBUG c:/>debug -l 100 0 0 1 -d 100 1A8A:0100 EB 3C 90 2A 58 4C 7E 2D-49 48 43 00 02 01 01 00 .<.*XL~-IHC..... 1A8A:0110 02 E0 00 40 0B F0 09 00-12 00 02 00 00 00 00 00 [email_address] 1A8A:0120 00 00 00 00 00 00 29 D7-0F 5F 36 49 53 48 49 4B ......).._6ISHIK 1A8A:0130 41 57 41 20 20 20 46 41-54 31 32 20 20 20 33 C9 AWA FAT12 3. 1A8A:0140 8E D1 BC FC 7B 16 07 BD-78 00 C5 76 00 1E 56 16 ....{...x..v..V. 1A8A:0150 55 BF 22 05 89 7E 00 89-4E 02 B1 0B FC F3 A4 06 U.&quot;..~..N....... 1A8A:0160 1F BD 00 7C C6 45 FE 0F-38 4E 24 7D 20 8B C1 99 ...|.E..8N$} ... 1A8A:0170 E8 7E 01 83 EB 3A 66 A1-1C 7C 66 3B 07 8A 57 FC .~...:f..|f;..W. - Obs: little endian Exemplo: BPS - offset 11, 2 bytes vetor[0]=0x00 , vetor[1]=0x02, logo 0000 0010 0000 0000 = 512 SPF - offset 22, 2 bytes 0000 0000 0000 1001 = 9 NFAT - offset 16, 1 byte 0000 0010 = 2 NR_DIR_ENTRY= 224
  • 15. Disquete de 3 1 / 2 ” Número de faces 2 número de trilhas 40 número de setores 18 bytes por setor 512 capacidade do formato 1.44 MB
  • 16. criando um arquivo no disquete A:/>copy con teste.doc Hello, IME. Aqui sao os alunos do 4 ano Eng Comp. Bye. ^Z 1 arquivo(s) copiado(1) A:/>
  • 17. rastreando o arquivo com debug localizando o arquivo no diretório raiz c:/>debug -l 100 0 13 1 -d 100 -l 0 0 13 1 -d 0 1A8A:0000 49 53 48 49 4B 41 57 41-20 20 20 28 00 00 00 00 ISHIKAWA (.... 1A8A:0010 00 00 00 00 00 00 C9 40-BC 2C 00 00 00 00 00 00 .......@.,...... 1A8A:0020 41 74 00 65 00 73 00 74-00 65 00 0F 00 C2 2E 00 At.e.s.t.e...... 1A8A:0030 64 00 6F 00 63 00 00 00-FF FF 00 00 FF FF FF FF d.o.c........... 1A8A:0040 54 45 53 54 45 20 20 20-44 4F 43 20 00 90 89 76 TESTE DOC ...v 1A8A:0050 BC 2C BC 2C 00 00 77 76-BC 2C 02 00 3C 00 00 00 .,.,..wv.,..<... 1A8A:0060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 1A8A:0070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ - 0x1A, 2 bytes , CLI = 0000 0000 0000 0010= 2 Setor Físico = (CLF-2)*SPC + NrStoresIniciais + SetorNoCluster= 0*0+32+ 1 = 33
  • 18. rastreando o arquivo com debug -l 100 0 21 1 -d 100 1A8A:0100 48 65 6C 6C 6F 2C 20 49-4D 45 2E 0D 0A 41 71 75 Hello, IME...Aqu 1A8A:0110 69 20 73 61 6F 20 6F 73-20 61 6C 75 6E 6F 73 20 i sao os alunos 1A8A:0120 64 6F 20 34 20 61 6E 6F-20 64 65 20 45 6E 67 20 do 4 ano de Eng 1A8A:0130 43 6F 6D 70 0D 0A 42 79-65 2E 0D 0A 00 00 00 00 Comp..Bye....... 1A8A:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 1A8A:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 1A8A:0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 1A8A:0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ - CLI = 33 = 0x21