|
Capítulo – 8
Funções e interrupções do Disco-BIOS que seguram com C
Introdução
Neste capítulo nós discutiremos as funções importantes do Disco-BIOS e outras funções importantes que nos dão a liberdade aos usos e as seguram interrupções em nosso programa com C, com o método fácil e curto. Estas funções são a parte traseira - osso da recuperação dos dados e da programação de pesquisa de defeitos do disco. Estas são as funções que fazem o C - língua um “elevado - língua de conjunto nivelada”.
biosdisk and _bios_disk Functions
Estas duas funções são a função a mais importante para nossa finalidade da recuperação dos dados e da programação de pesquisa de defeitos do disco. Nós usaremos estas funções na maioria das vezes.
Estes dois são os serviços da movimentação de disco do BIOS e foram definidos em bios.h onde o biosdisk se opera abaixo do nível das limas em setores crus. Se estas funções forem usadas mesmo um pouco na falta do cuidado, pode destruir os índices e os diretórios da lima em um disco duro. Funções do biosdisk e do _bios_disk, interrupção 0x13 do uso para emitir operações do disco diretamente ao BIOS. A função do _bios_disk é declarada no programa na seguinte maneira:
unsigned _bios_disk(unsigned cmd, struct diskinfo_t *dinfo);
E a declaração para a função do disco do bios é como segue:
int biosdisk(int cmd, int drive, int head, int track,
int sector, int nsects, void *buffer);
O meaning destes parâmetros foi descrito na seguinte tabela:
Parâmetro |
Função |
O que é ou o que |
cmd |
Ambos |
Indica a operação para executar como lido, escrevem, verificam etc. (ver a descrição do cmd, dada em seguida) |
dinfo |
_bios_disk |
Os pontos a um diskinfo_t estruturam que contenha o restante
Parâmetros requeridos pela operação. (ver a descrição da estrutura do diskinfo_t, dada em seguida) |
dirigir |
biosdisk |
Especifica que movimentação de disco deve ser usada (0 para a: , 1for b: e 0x80 para o primeiro disco duro físico, 0x81 para o segundo e assim por diante.) |
cabeça
trilha
setor |
biosdisk
|
Estes especificam a posição de setor começando de que
A operação deve ser começada. |
nsects |
biosdisk |
O número dos setores a ler, escreve, verifica etc. |
amortecedor |
biosdisk |
Endereço de memória onde os dados devem ser lida ou escrita |
|
|