Interruption Bios ou Dos ?

Signaler
Messages postés
2
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
29 septembre 2002
-
cs_Juke
Messages postés
42
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
23 janvier 2003
-
Quand choisir d'utiliser une int Dos plutot que Bios et inversement qd il y a + ou - doublon, comme par ex. pour la lecture/ecriture de secteur sur un dur ?

12 réponses

Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004

Hé bien quand tu n'est pas sous DOS tu ne peux pas utiliser les ints du DOS. Je crois qu'en règle générale ceux du BIOS sont plus rapide que ceux du DOS parce qu'ils sont généralement fait dans un plus bas niveau.
Dans le cas de lecture et d'écriture on utilise généralement l'INT 13h qui est une int du BIOS.

@+ Guru_Meditation
Messages postés
2
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
29 septembre 2002

OK Merci Bcp

Donc si je veux faire des utilitaire Dos j'utilise soit la plus facile a utiliser soit ( si le temp est critique ) l'int du Bios.

encore merci
Messages postés
42
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
23 janvier 2003

Je suis pas sur mais il me sembleque si possible il vaut mieux utiliser les int du dos, sauf si tu a besoin de ne pas utiliser le bios en tout cas c comme sa pour la manipulation graphique car les int du bios sont beaucoup plus lente (enfin, en theorie.)

sinon pour un code portable il vaut mieu utiliser le bios meme si par exmple linux bloque quelque interruption, faire de l'asm portable est difficile.

voila

a+
Messages postés
42
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
23 janvier 2003

Je viens d'avoir la reponse en cour, il vaut mieux utiliser l'int dos car l'interruption bios est situer dans la rom le temp d'acces est d'a peu pres 150 ns alors que le system d'exploitation recopie les instruction machine dans la memoire shadow qui a un acces d'a peu pres 10 ns .
j'espere que mon explication de suffit.

A+
(ps: comment rebooter en asm ???)
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004

Certe c'est vrai mais je ne suis pas sur mais il est possible que les int du DOS appelle les int du BIOS.
Messages postés
42
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
23 janvier 2003

oui, en quelque sorte l'os appelle les interruptions du bios (de toute facons il est obligé) mais auparavant, au demarrage, il te recopie ces instructions dans la mémoire shadow qui est beaucoup plus rapide que de faire apppele au bios.
La meilleur solution, pour aller plus vite est de recopier les interruptions du bios en memoire shadow toi meme et tu les utilise apres. mais c pas evident, c pour sa que la plupart des coderz font appel au fonction du dos (ou du bios quand ils n'ont pas le choix)

voilà, je ne pense pas dire de conneries mais bon je pe me tromper.

à votre service.

au fait, je recherche des coders pour creer une application qui se charge juste avant le boot pour demander un mot de passe, quelqu'un pourrais t'il m'aider ?

Juke
Messages postés
33
Date d'inscription
mercredi 15 mai 2002
Statut
Membre
Dernière intervention
24 octobre 2003

1) Ce n'est pas le DOS qui met en mémoire shadows le BIOS, mais le bios lui-même et il peut faire la même chose pour le bios video

2)les interuption bios sont certainement (le plus part) plus rapide que celle du dos, car le dos fait plus de verification que le bios, mais ca depende des fonctions.

3)Linux bloque tout les interuption du BIOS car c'est du mode proteger, tout comme windows
Messages postés
42
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
23 janvier 2003

Apres c peut etre du cas par cas mais je sais que pour par afficher un pixel, il vaut mieux utiliser l'interruption dos.
Merci de tes precisions pierreF.

en fait mes connaissances sont theoriques, je ne programme pas encore en assembleur.(enfin pas vraiment)

'lut

Juke
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004

Moi pour afficher un pixel je n'utilise pas d'interruptions j'y vais direct dans la mémoire c'est ça qui a de plus rapide
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004

Bon j'ai fait des tests j'ai comparé la fonction 0Eh de l'int 10h et la fonction 02h de l'int 21h et j'obtient ces résultats en cycles par seconde

;0000000000002A40 int 10h fct E
;0000000000002D64
;0000000000002C0C
;0000000000002F6C

;0000000000015698 int 21h fct 2
;000000000001394C
;0000000000015254
;0000000000012FE4

je pense que c'est claire là du moins pour ces 2 fonctions seulement.
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004

mince c'est pas en cycle par seconde mais simplement le nombre cycle effectué
Messages postés
42
Date d'inscription
mardi 15 octobre 2002
Statut
Membre
Dernière intervention
23 janvier 2003

Le debat continu lol. mais il me semble quand meme avoir raison, sa depend peut etre des interruptions mais j'avais lu sa dans plusieur tutorials. (tutoriaux ?)

a+

Juke