Rotina do BIOS em modo real e Modo protegido

Estou fazendo um experimento com o sistema operacional. Até agora, todo o meu código utilizava a interrupção do BIOS em modo real para manipular o disco rígido e o disquete. Mas assim que meu código ativar o Modo de proteção da CPU, toda a rotina de serviço de interrupção do BIOS em modo real não estará disponível. Como eu R / W no disco rígido e no disquete?Preciso fazer alguns drivers de hardware agora? Como eu pude começar? Essa é uma das razões pelas quais um sistema operacional é tão difícil de desenvolver?

Eu sei que todos os hardwares são controlados lendo e gravando em certos registros de controle ou dados. Por exemplo, eu sei que os registros do bloco de comando do disco rígido variam de 0x1F0 a 0x1F7.Mas gostaria de saber se os endereços de registro de tantos hardwares diferentes são iguais na plataforma do PC. Ou tenho que detectar isso antes de usá-los? Como detectá-los?

Como não tenho certeza sobre como disquete R / W ou disco rígido no modo de proteção, tenho que usar a interrupção do BIOS para carregar todo o meu arquivo de kernel necessário do disquete na memória por enquanto. Maso que posso fazer se meu arquivo do kernel exceder o limite de espaço de 1 milhão no modo real?

Para qualquer resposta, apresento minha profunda apreciação.

Atualizar

Lembro-me vagamente de que há uma maneira de alternar o Modo Protegido primeiro e depois voltar ao modo real. E então poderíamos usar a rotina do BIOS no modo protegido. Talvez eu me lembre de errado. Alguém se lembrou direito?

questionAnswers(9)

yourAnswerToTheQuestion