Oficina
6. O setor de boot
Sab 26 Mai 2007 14:48 |
- Detalhes
- Categoria: Sistemas Operacionais
- Atualização: Domingo, 12 Abril 2009 12:30
- Autor: vovó Vicki
- Acessos: 16722
O BPB (BIOS Parameter Block)
Os primeiros 62 bytes de um setor de boot são conhecidos como BPB (BIOS Parameter Block - Bloco de Parâmetros da BIOS). Lembre-se de que o conteúdo do setor de boot é transferido para o endereço de memória 0000:7C00. Analisando o setor de boot mostrado anteriormente, o BPB mostra o seguinte:
7C00 eb3c db instrução JMP 7C02 90 db instrução NOP 7C03 'MSDOS5.0' db OEMname 7C0B 0200 dw bytesPerSector; 00 02 -> 02 00 7C0D 01 db sectPerCluster 7C0E 0001 dw reservedSectors; 01 00 -> 00 01 7C10 02 db numFAT 7C11 00e0 dw numRootDirEntries; e0 00 -> 00 e0 7C13 0b40 dw numSectors; ignorar numSectorsHuge 7C15 f0 db mediaType 7C16 0009 dw numFATsectors 7C18 0012 dw sectorsPerTrack 7C1A 0002 dw numHeads 7C1C 00000000 dd numHiddenSectors 7C20 00000000 dd numSectorsHuge 7C24 00 db driveNum 7C25 00 db reserved 7C26 29 db signature 7C27 5a541826 dd volumeID 7C2B 'NO NAME ' db volumeLabel 7C36 'FAT12 ' db fileSysType
A Tabela de Parâmetros do Disquete
Os 11 bytes com início em 0000:7C3E são imediatamente sobrepostos com informações copiadas de outra parte da memória. Esta informação é a Tabela de Parâmetros do Disquete. Estes dados são apontados pela INT 1E e são os seguintes:
7C3E = Taxa de passo (step rate) e tempo de descarga da cabeça (head unload time). 7C3F = Tempo de carga da cabeça (head load time) e flag de modo do DMA. 7C40 = Retardo para o motor desligar. 7C41 = Bytes por setor. 7C42 = Setores por trilha. 7C43 = Comprimento da lacuna entre os setores. 7C44 = Comprimento dos dados. 7C45 = Comprimento da lacuna entre os setores durante a formatação. 7C46 = Valor do byte da formatação. 7C47 = Tempo do ajuste da cabeça (head settling time). 7C48 = Retardo até que o motor atinja a velocidade normal.
Os 11 bytes seguintes, com início em 0000:7C49, também são sobrepostos pelos seguintes dados:
7C49 - 7C4C = endereço do setor do disquete (como LBA) da área de dados. 7C4D - 7C4E = número do cilindro onde deve ser feita a leitura. 7C4F - 7C4F = número do setor onde dever ser feita a leitura. 7C50 - 7C53 = endereço do setor do disquete (como LBA) do diretório raiz.