J'avais compris que sous Win XP l'accès direct au hardware était
interdit. Et depuis mon passage à XP il y a quelques ans je n'en avais
jamais vraiment eu besoin: une fois j'ai bien reçu une insulte parce que
je voulais m'adresser directement à un périph - mais ce n'était pas
indispensable et j'ai trouvé une autre solution sans devoir chercher
plus loin.
Cependant, suite au discussions récentes concernant certains problèmes
de clavier j'ai découvert que
1. des utilitaires que j'ai écrits il y a longtemps (compilés sous MSC
5 - et que je viens de mettre à jour); qui utilisent de l'assembleur
'inline' - avec des appels aux Int21H, 10H, 13H et 16H - fonctionnent
toujours parfaitement sous XP.
2. je peux toujours me servir de 'debug' dans une console DOS sous
Windows XP pour inspecter et modifier directement la mémoire (en
particulier dans le cas présent des adresses 0000:nnnnH dans le BIOS)
sans aucune contrainte.
Alors où est la réalité? Qu'est qui est autorisé et qu'est-ce qui est
vraiment interdit?
En clair, y a-t-il des accès qui sont réellement interdits, ou peut-on
_tout_ contourner avec des astuces officieux?
Je vais bien sûr poursuivre mes propres tests mais je serais également
intéressé par les expériences des autres.
Amicalement
CriCri
PS - je vais rajouter quelques utilitaires de diagnostic sur mon site
(tout à fait au fond) - que je croyais périmés mais qui finalement ne le
sont pas du tout.
--
bitwyse [PGP KeyID 0xA79C8F2C]
Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse
mais aurait préféré ne pas la savoir.
http://www.le-maquis.net
A ce compte-là, l'OS ferait aussi partie du matériel puisqu'il est stocké sur un disque dur.
Si je lis ou écris un registre dans le BIOS,
Un "registre dans le BIOS" ? Si tu parles de 0000:0417, c'est une bête adresse en mémoire (virtuelle pour une boîte DOS), pas un registre d'entrée-sortie matériel. Idem pour la table des vecteurs d'interruption.
Salut,
CriCri a écrit :
Ben le BIOS fait bien partie du hardware...
Non, le BIOS c'est du logiciel.
A ce compte-là, l'OS ferait aussi partie du matériel puisqu'il est
stocké sur un disque dur.
Si je lis ou écris un registre dans le BIOS,
Un "registre dans le BIOS" ? Si tu parles de 0000:0417, c'est une bête
adresse en mémoire (virtuelle pour une boîte DOS), pas un registre
d'entrée-sortie matériel. Idem pour la table des vecteurs d'interruption.
A ce compte-là, l'OS ferait aussi partie du matériel puisqu'il est stocké sur un disque dur.
Si je lis ou écris un registre dans le BIOS,
Un "registre dans le BIOS" ? Si tu parles de 0000:0417, c'est une bête adresse en mémoire (virtuelle pour une boîte DOS), pas un registre d'entrée-sortie matériel. Idem pour la table des vecteurs d'interruption.
CriCri
Pascal Hambourg a écrit :
Non, le BIOS c'est du logiciel.
Une adresse à laquelle un logiciel stocke une valeur est constituée d'un ensemble de transistors et condos, diodes et résistances (selon): donc bien du _hardware_; que ce soit un registre ou - comme je l'aurais dû écrire, tu as raison - une partie de la basse mémoire réservée au BIOS. Mais en tout cas fonctionnellement ça ne change rien.
La question de fond est si j'ai le droit d'accéder à ce _hardware_.
Le "BIOS" est du firmware stocké dans du hardware. On peut consulter une valeur écrit par ce programme en mémoire (que ce soit la sienne - intérieure, ou la RAM de l'ordinateur): mais consulter une valeur dans un logiciel n'a aucun sens. (A la limite si on lit la mémoire où le logiciel est chargé on va voir les codes hexa de ses instructions...)
Mais grâce aux explications de Michel_D je crois avoir compris maintenant que la table des vecteurs d'interruptions ainsi que le contenu des adresses réservées au BIOS sont copiées dans la mémoire virtuelle de chaque nouvelle machine virtuelle lors de sa création. Et c'est à cette mémoire que j'ai le droit d'accéder.
A ce compte-là, l'OS ferait aussi partie du matériel puisqu'il est stocké sur un disque dur.
D'après ton raisonnement si inversement je consulte la mémoire dans une imprimante, ce serait du software!
Un "registre dans le BIOS" ? Si tu parles de 0000:0417
Ce que je voulais voir vraiment était le contenu du registre dans le microcontrôleur du clavier - puisque manifestement ce qui est enregistré par le BIOS dans l'octet à 0000:0417 n'est pas le même. Mais il est devenu évident qu'il faudrait attaquer ça sous DOS (càd en ayant démarré sous DOS).
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
Pascal Hambourg a écrit :
Non, le BIOS c'est du logiciel.
Une adresse à laquelle un logiciel stocke une valeur est constituée d'un
ensemble de transistors et condos, diodes et résistances (selon): donc
bien du _hardware_; que ce soit un registre ou - comme je l'aurais dû
écrire, tu as raison - une partie de la basse mémoire réservée au BIOS.
Mais en tout cas fonctionnellement ça ne change rien.
La question de fond est si j'ai le droit d'accéder à ce _hardware_.
Le "BIOS" est du firmware stocké dans du hardware. On peut consulter une
valeur écrit par ce programme en mémoire (que ce soit la sienne -
intérieure, ou la RAM de l'ordinateur): mais consulter une valeur dans
un logiciel n'a aucun sens. (A la limite si on lit la mémoire où le
logiciel est chargé on va voir les codes hexa de ses instructions...)
Mais grâce aux explications de Michel_D je crois avoir compris
maintenant que la table des vecteurs d'interruptions ainsi que le
contenu des adresses réservées au BIOS sont copiées dans la mémoire
virtuelle de chaque nouvelle machine virtuelle lors de sa création. Et
c'est à cette mémoire que j'ai le droit d'accéder.
A ce compte-là, l'OS ferait aussi partie du matériel puisqu'il est
stocké sur un disque dur.
D'après ton raisonnement si inversement je consulte la mémoire dans une
imprimante, ce serait du software!
Un "registre dans le BIOS" ? Si tu parles de 0000:0417
Ce que je voulais voir vraiment était le contenu du registre dans le
microcontrôleur du clavier - puisque manifestement ce qui est enregistré
par le BIOS dans l'octet à 0000:0417 n'est pas le même.
Mais il est devenu évident qu'il faudrait attaquer ça sous DOS (càd en
ayant démarré sous DOS).
--
bitwyse [PGP KeyID 0xA79C8F2C]
Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse
mais aurait préféré ne pas la savoir.
http://www.le-maquis.net
Une adresse à laquelle un logiciel stocke une valeur est constituée d'un ensemble de transistors et condos, diodes et résistances (selon): donc bien du _hardware_; que ce soit un registre ou - comme je l'aurais dû écrire, tu as raison - une partie de la basse mémoire réservée au BIOS. Mais en tout cas fonctionnellement ça ne change rien.
La question de fond est si j'ai le droit d'accéder à ce _hardware_.
Le "BIOS" est du firmware stocké dans du hardware. On peut consulter une valeur écrit par ce programme en mémoire (que ce soit la sienne - intérieure, ou la RAM de l'ordinateur): mais consulter une valeur dans un logiciel n'a aucun sens. (A la limite si on lit la mémoire où le logiciel est chargé on va voir les codes hexa de ses instructions...)
Mais grâce aux explications de Michel_D je crois avoir compris maintenant que la table des vecteurs d'interruptions ainsi que le contenu des adresses réservées au BIOS sont copiées dans la mémoire virtuelle de chaque nouvelle machine virtuelle lors de sa création. Et c'est à cette mémoire que j'ai le droit d'accéder.
A ce compte-là, l'OS ferait aussi partie du matériel puisqu'il est stocké sur un disque dur.
D'après ton raisonnement si inversement je consulte la mémoire dans une imprimante, ce serait du software!
Un "registre dans le BIOS" ? Si tu parles de 0000:0417
Ce que je voulais voir vraiment était le contenu du registre dans le microcontrôleur du clavier - puisque manifestement ce qui est enregistré par le BIOS dans l'octet à 0000:0417 n'est pas le même. Mais il est devenu évident qu'il faudrait attaquer ça sous DOS (càd en ayant démarré sous DOS).
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
CriCri
Salut
Michel_D a écrit :
Non, je l'ai déja dit certaines fonctions de l'interruption 0x21 ne réagissent pas pareil...
Est-ce que tu as une référence pour savoir quelles fonctions sont différentes et quelles sont les différences?
Amicalement CriCri
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
Salut
Michel_D a écrit :
Non, je l'ai déja dit certaines fonctions de l'interruption 0x21 ne
réagissent pas pareil...
Est-ce que tu as une référence pour savoir quelles fonctions sont
différentes et quelles sont les différences?
Amicalement
CriCri
--
bitwyse [PGP KeyID 0xA79C8F2C]
Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse
mais aurait préféré ne pas la savoir.
http://www.le-maquis.net
Non, je l'ai déja dit certaines fonctions de l'interruption 0x21 ne réagissent pas pareil...
Est-ce que tu as une référence pour savoir quelles fonctions sont différentes et quelles sont les différences?
Amicalement CriCri
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
Michel_D
"CriCri" a écrit dans le message de news:48a01b5c$0$964$
Salut
Michel_D a écrit : > > Non, je l'ai déja dit certaines fonctions de l'interruption 0x21 ne > réagissent pas pareil...
Est-ce que tu as une référence pour savoir quelles fonctions sont différentes et quelles sont les différences?
Je n'ai pas de référence, mais j'avais developpé un programme de copie; un clone de xcopy mais avec quelque spécificité de xxcopy et par exemple sous XP je ne peux pas avoir la liste complète des fichiers (avec les fonctions de recherche) alors que sous W9x en ligne de commande ainsi que sous DOS il n'y a aucun problème.
Et il y a aussi les fonctions qui renvoient des informations sur l'emplacement des structures qui ne renvoie pas les mêmes informations.
"CriCri" <bitwyse@leTIRETmaquis.net> a écrit dans le message de news:48a01b5c$0$964$ba4acef3@news.orange.fr...
Salut
Michel_D a écrit :
>
> Non, je l'ai déja dit certaines fonctions de l'interruption 0x21 ne
> réagissent pas pareil...
Est-ce que tu as une référence pour savoir quelles fonctions sont
différentes et quelles sont les différences?
Je n'ai pas de référence, mais j'avais developpé un programme de
copie; un clone de xcopy mais avec quelque spécificité de xxcopy
et par exemple sous XP je ne peux pas avoir la liste complète des
fichiers (avec les fonctions de recherche) alors que sous W9x en
ligne de commande ainsi que sous DOS il n'y a aucun problème.
Et il y a aussi les fonctions qui renvoient des informations sur
l'emplacement des structures qui ne renvoie pas les mêmes
informations.
"CriCri" a écrit dans le message de news:48a01b5c$0$964$
Salut
Michel_D a écrit : > > Non, je l'ai déja dit certaines fonctions de l'interruption 0x21 ne > réagissent pas pareil...
Est-ce que tu as une référence pour savoir quelles fonctions sont différentes et quelles sont les différences?
Je n'ai pas de référence, mais j'avais developpé un programme de copie; un clone de xcopy mais avec quelque spécificité de xxcopy et par exemple sous XP je ne peux pas avoir la liste complète des fichiers (avec les fonctions de recherche) alors que sous W9x en ligne de commande ainsi que sous DOS il n'y a aucun problème.
Et il y a aussi les fonctions qui renvoient des informations sur l'emplacement des structures qui ne renvoie pas les mêmes informations.
CriCri
Michel_D a écrit :
et par exemple sous XP je ne peux pas avoir la liste complète des fichiers (avec les fonctions de recherche)...
OK - j'ai déjà de vieux programmes qui utilisent ces fonctions mais que je n'ai jamais testés sous XP. Ça servira déjà comme une base pour tester.
Merci pour toutes les infos!
Amicalement CriCri
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
Michel_D a écrit :
et par exemple sous XP je ne peux pas avoir la liste complète des
fichiers (avec les fonctions de recherche)...
OK - j'ai déjà de vieux programmes qui utilisent ces fonctions mais que
je n'ai jamais testés sous XP. Ça servira déjà comme une base pour tester.
Merci pour toutes les infos!
Amicalement
CriCri
--
bitwyse [PGP KeyID 0xA79C8F2C]
Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse
mais aurait préféré ne pas la savoir.
http://www.le-maquis.net
et par exemple sous XP je ne peux pas avoir la liste complète des fichiers (avec les fonctions de recherche)...
OK - j'ai déjà de vieux programmes qui utilisent ces fonctions mais que je n'ai jamais testés sous XP. Ça servira déjà comme une base pour tester.
Merci pour toutes les infos!
Amicalement CriCri
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
Pascal Hambourg
CriCri a écrit :
Pascal Hambourg a écrit :
Non, le BIOS c'est du logiciel.
Une adresse à laquelle un logiciel stocke une valeur est constituée d'un ensemble de transistors et condos, diodes et résistances (selon): donc bien du _hardware_;
Evidemment que toute information a besoin d'un support matériel pour être stockée. Mais il faut faire une différence entre le support (le registre d'entrée-sortie, la cellule mémoire) et son contenu. Je parlais du programme BIOS stocké dans la PROM, à savoir une suite d'instructions lues et exécutées par le processeur central. Ça c'est du logiciel. Si tu parles de la puce d'EPROM qui le contient, c'est effectivement du matériel.
La question de fond est si j'ai le droit d'accéder à ce _hardware_.
La réponse est non, dans un vrai OS moderne les applications n'ont pas le droit d'accéder directement au matériel.
Le "BIOS" est du firmware stocké dans du hardware.
Non, le BIOS n'est pas du firmware. Le BIOS est essentiellement du code exécuté par le processeur central comme n'importe quel autre logiciel, alors qu'un firmware est un ensemble de données (code exécutable ou autre chose) chargé dans un périphérique et non exécuté par le processeur central. Toutefois il n'est pas exclu que le BIOS incorpore à titre accessoire des firmwares destinés à des périphériques intégrés à la carte mère, de même que certains pilotes incorporent un firmware destiné à être chargé dans le périphérique dont ils ont la charge.
CriCri a écrit :
Pascal Hambourg a écrit :
Non, le BIOS c'est du logiciel.
Une adresse à laquelle un logiciel stocke une valeur est constituée d'un
ensemble de transistors et condos, diodes et résistances (selon): donc
bien du _hardware_;
Evidemment que toute information a besoin d'un support matériel pour
être stockée. Mais il faut faire une différence entre le support (le
registre d'entrée-sortie, la cellule mémoire) et son contenu. Je parlais
du programme BIOS stocké dans la PROM, à savoir une suite d'instructions
lues et exécutées par le processeur central. Ça c'est du logiciel. Si tu
parles de la puce d'EPROM qui le contient, c'est effectivement du matériel.
La question de fond est si j'ai le droit d'accéder à ce _hardware_.
La réponse est non, dans un vrai OS moderne les applications n'ont pas
le droit d'accéder directement au matériel.
Le "BIOS" est du firmware stocké dans du hardware.
Non, le BIOS n'est pas du firmware. Le BIOS est essentiellement du code
exécuté par le processeur central comme n'importe quel autre logiciel,
alors qu'un firmware est un ensemble de données (code exécutable ou
autre chose) chargé dans un périphérique et non exécuté par le
processeur central. Toutefois il n'est pas exclu que le BIOS incorpore à
titre accessoire des firmwares destinés à des périphériques intégrés à
la carte mère, de même que certains pilotes incorporent un firmware
destiné à être chargé dans le périphérique dont ils ont la charge.
Une adresse à laquelle un logiciel stocke une valeur est constituée d'un ensemble de transistors et condos, diodes et résistances (selon): donc bien du _hardware_;
Evidemment que toute information a besoin d'un support matériel pour être stockée. Mais il faut faire une différence entre le support (le registre d'entrée-sortie, la cellule mémoire) et son contenu. Je parlais du programme BIOS stocké dans la PROM, à savoir une suite d'instructions lues et exécutées par le processeur central. Ça c'est du logiciel. Si tu parles de la puce d'EPROM qui le contient, c'est effectivement du matériel.
La question de fond est si j'ai le droit d'accéder à ce _hardware_.
La réponse est non, dans un vrai OS moderne les applications n'ont pas le droit d'accéder directement au matériel.
Le "BIOS" est du firmware stocké dans du hardware.
Non, le BIOS n'est pas du firmware. Le BIOS est essentiellement du code exécuté par le processeur central comme n'importe quel autre logiciel, alors qu'un firmware est un ensemble de données (code exécutable ou autre chose) chargé dans un périphérique et non exécuté par le processeur central. Toutefois il n'est pas exclu que le BIOS incorpore à titre accessoire des firmwares destinés à des périphériques intégrés à la carte mère, de même que certains pilotes incorporent un firmware destiné à être chargé dans le périphérique dont ils ont la charge.
CriCri
Michel_D a écrit :
...ce qui n'est pas anormal puisque ce n'est pas réellement du DOS mais une émulation.
Finalement je me rends compte que j'ai lu ça plusieurs fois sans réagir!
Ce n'est pas parce qu'il s'agit d'une émulation per se; c'est parce que le développeur a choisi de l'implémenter ainsi. Rien ne l'aurait empêché d'écrire son émulation en restant presque 100% fidèle au fonctionnement de MS-DOS. Il aurait suffi d'y recopier MS-DOS - avec toutes ses fonctions inchangées - dans son entièreté; ainsi que la totalité des fonctions du BIOS, pour faire une émulation quasi-identique à l'original (même dans une machine virtuelle). Si l'émulation ne fonctionne pas comme ça c'est parce que le programmeur ne l'a pas voulu!
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
Michel_D a écrit :
...ce qui n'est pas anormal puisque ce n'est pas réellement du DOS
mais une émulation.
Finalement je me rends compte que j'ai lu ça plusieurs fois sans réagir!
Ce n'est pas parce qu'il s'agit d'une émulation per se; c'est parce que
le développeur a choisi de l'implémenter ainsi.
Rien ne l'aurait empêché d'écrire son émulation en restant presque 100%
fidèle au fonctionnement de MS-DOS. Il aurait suffi d'y recopier MS-DOS
- avec toutes ses fonctions inchangées - dans son entièreté; ainsi que
la totalité des fonctions du BIOS, pour faire une émulation
quasi-identique à l'original (même dans une machine virtuelle).
Si l'émulation ne fonctionne pas comme ça c'est parce que le programmeur
ne l'a pas voulu!
--
bitwyse [PGP KeyID 0xA79C8F2C]
Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse
mais aurait préféré ne pas la savoir.
http://www.le-maquis.net
...ce qui n'est pas anormal puisque ce n'est pas réellement du DOS mais une émulation.
Finalement je me rends compte que j'ai lu ça plusieurs fois sans réagir!
Ce n'est pas parce qu'il s'agit d'une émulation per se; c'est parce que le développeur a choisi de l'implémenter ainsi. Rien ne l'aurait empêché d'écrire son émulation en restant presque 100% fidèle au fonctionnement de MS-DOS. Il aurait suffi d'y recopier MS-DOS - avec toutes ses fonctions inchangées - dans son entièreté; ainsi que la totalité des fonctions du BIOS, pour faire une émulation quasi-identique à l'original (même dans une machine virtuelle). Si l'émulation ne fonctionne pas comme ça c'est parce que le programmeur ne l'a pas voulu!
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
CriCri
Pascal Hambourg a écrit :
Evidemment que toute information a besoin d'un support matériel pour être stockée. Mais il faut faire une différence entre le support (le registre d'entrée-sortie, la cellule mémoire) et son contenu. Je parlais du programme BIOS stocké dans la PROM, à savoir une suite d'instructions lues et exécutées par le processeur central.
Et moi je parlais des données générées par ce programme, qui ne font pas partie de cette suite d'instructions; et de mon droit d'accès à elles. Le contenu du programme du BIOS n'est intéressant que si on veut le bricoler.
La réponse est non, dans un vrai OS moderne les applications n'ont pas le droit d'accéder directement au matériel.
Du moment ou le BIOS stocke ses informations en RAM (même s'il s'agit de la mémoire virtuelle d'une machine virtuelle) - au lieu de dans sa mémoire interne - elles me deviennent accessible.
Non, le BIOS n'est pas du firmware. Le BIOS est essentiellement du code exécuté par le processeur central comme n'importe quel autre logiciel, alors qu'un firmware est un ensemble de données (code exécutable ou autre chose) chargé dans un périphérique et non exécuté par le processeur central.
Cela est _une_ interprétation de la part de l'auteur d'un texte particulier. En particulier ça ne s'applique principalement qu'aux PC et n'est pas du tout vrai sur d'autres plateformes. Regarde par exemple 'Open firmware': le code est non seulement exécutable par le processeur mais programmable par l'utilisateur de surcroît.
Par curiosité j'ai cherché des définitions sur Internet, et parmi quelques centaines d'auteurs on peut trouver quelques centaines d'explications. Ça a aussi évolué. (C'est d'autant plus difficile parce qu'il s'agit d'un anglicisme qui ne paraît pas donc dans des nombreux dicos et encyclopédies.)
Je tiens à ce qu'on entendait par là quand le terme est apparu. On travaillait sur des cartes expérimentales - des 'diskless computers'. A l'exception du microprocesseur et 64 ko de RAM, tout le code exécuté par le processeur résidait dans un EEPROM: qu'on appelait bien 'le firmware'.
D'où la notion que le firmware consiste en "un ensemble d'instructions et de données enregistrées dans une mémoire non volatile". Pas plus.
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
Pascal Hambourg a écrit :
Evidemment que toute information a besoin d'un support matériel pour
être stockée. Mais il faut faire une différence entre le support (le
registre d'entrée-sortie, la cellule mémoire) et son contenu. Je
parlais du programme BIOS stocké dans la PROM, à savoir une suite
d'instructions lues et exécutées par le processeur central.
Et moi je parlais des données générées par ce programme, qui ne font pas
partie de cette suite d'instructions; et de mon droit d'accès à elles.
Le contenu du programme du BIOS n'est intéressant que si on veut le
bricoler.
La réponse est non, dans un vrai OS moderne les applications n'ont
pas le droit d'accéder directement au matériel.
Du moment ou le BIOS stocke ses informations en RAM (même s'il s'agit de
la mémoire virtuelle d'une machine virtuelle) - au lieu de dans sa
mémoire interne - elles me deviennent accessible.
Non, le BIOS n'est pas du firmware. Le BIOS est essentiellement du
code exécuté par le processeur central comme n'importe quel autre
logiciel, alors qu'un firmware est un ensemble de données (code
exécutable ou autre chose) chargé dans un périphérique et non exécuté
par le processeur central.
Cela est _une_ interprétation de la part de l'auteur d'un texte
particulier.
En particulier ça ne s'applique principalement qu'aux PC et n'est pas du
tout vrai sur d'autres plateformes. Regarde par exemple 'Open firmware':
le code est non seulement exécutable par le processeur mais programmable
par l'utilisateur de surcroît.
Par curiosité j'ai cherché des définitions sur Internet, et parmi
quelques centaines d'auteurs on peut trouver quelques centaines
d'explications. Ça a aussi évolué. (C'est d'autant plus difficile parce
qu'il s'agit d'un anglicisme qui ne paraît pas donc dans des nombreux
dicos et encyclopédies.)
Je tiens à ce qu'on entendait par là quand le terme est apparu. On
travaillait sur des cartes expérimentales - des 'diskless computers'.
A l'exception du microprocesseur et 64 ko de RAM, tout le code exécuté
par le processeur résidait dans un EEPROM: qu'on appelait bien 'le
firmware'.
D'où la notion que le firmware consiste en
"un ensemble d'instructions et de données enregistrées dans une mémoire
non volatile".
Pas plus.
--
bitwyse [PGP KeyID 0xA79C8F2C]
Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse
mais aurait préféré ne pas la savoir.
http://www.le-maquis.net
Evidemment que toute information a besoin d'un support matériel pour être stockée. Mais il faut faire une différence entre le support (le registre d'entrée-sortie, la cellule mémoire) et son contenu. Je parlais du programme BIOS stocké dans la PROM, à savoir une suite d'instructions lues et exécutées par le processeur central.
Et moi je parlais des données générées par ce programme, qui ne font pas partie de cette suite d'instructions; et de mon droit d'accès à elles. Le contenu du programme du BIOS n'est intéressant que si on veut le bricoler.
La réponse est non, dans un vrai OS moderne les applications n'ont pas le droit d'accéder directement au matériel.
Du moment ou le BIOS stocke ses informations en RAM (même s'il s'agit de la mémoire virtuelle d'une machine virtuelle) - au lieu de dans sa mémoire interne - elles me deviennent accessible.
Non, le BIOS n'est pas du firmware. Le BIOS est essentiellement du code exécuté par le processeur central comme n'importe quel autre logiciel, alors qu'un firmware est un ensemble de données (code exécutable ou autre chose) chargé dans un périphérique et non exécuté par le processeur central.
Cela est _une_ interprétation de la part de l'auteur d'un texte particulier. En particulier ça ne s'applique principalement qu'aux PC et n'est pas du tout vrai sur d'autres plateformes. Regarde par exemple 'Open firmware': le code est non seulement exécutable par le processeur mais programmable par l'utilisateur de surcroît.
Par curiosité j'ai cherché des définitions sur Internet, et parmi quelques centaines d'auteurs on peut trouver quelques centaines d'explications. Ça a aussi évolué. (C'est d'autant plus difficile parce qu'il s'agit d'un anglicisme qui ne paraît pas donc dans des nombreux dicos et encyclopédies.)
Je tiens à ce qu'on entendait par là quand le terme est apparu. On travaillait sur des cartes expérimentales - des 'diskless computers'. A l'exception du microprocesseur et 64 ko de RAM, tout le code exécuté par le processeur résidait dans un EEPROM: qu'on appelait bien 'le firmware'.
D'où la notion que le firmware consiste en "un ensemble d'instructions et de données enregistrées dans une mémoire non volatile". Pas plus.
-- bitwyse [PGP KeyID 0xA79C8F2C] Les conseils - c'est ce qu'on demande quand on connaît déjà la réponse mais aurait préféré ne pas la savoir. http://www.le-maquis.net
Laetitia
Bonjour [et,ou un (+ ou -) chanceux début de semaine estivale],
CriCri écrivit :
le BIOS fait bien partie du hardware...
Et Pascal Hambourg, lui répondit vertement :
Non, le BIOS, c'est du logiciel.
lol
Puis CriCri écrivit :
Une adresse à laquelle un logiciel stocke une valeur est constituée d'un ensemble de transistors et condos, diodes et résistances (selon): donc bien du _hardware_;
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Evidemment que toute information a besoin d'un support matériel pour être stockée...
Mais il faut faire une différence entre le support (le registre d'entrée-sortie, la cellule mémoire) et son contenu.
Je parlais du programme BIOS stocké dans la PROM, à savoir une suite d'instructions lues et exécutées par le processeur central. Ça c'est du logiciel.
Si tu parles de la puce d'EPROM qui le contient, c'est effectivement du matériel.
CriCri insista, encore :
La question de fond est si j'ai le droit d'accéder, à ce _hardware_.
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
La réponse est non, dans un vrai OS moderne, les applications n'ont pas le droit d'accéder directement au matériel.
lol lol (et, deux fois plutôt qu'une) ?
CriCri insista, encore un peu plus :
Le "BIOS" est du firmware stocké dans du hardware.
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Non, le BIOS n'est pas du firmware.
Le,s copyright de MB [Main Board], ce serait,ent quoi ?
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Le BIOS est essentiellement du code exécuté par le processeur central comme n'importe quel autre logiciel,
...
alors qu'un firmware est un ensemble de données (code exécutable ou autre chose) chargé dans un périphérique et non exécuté par le processeur central.
Avez-vous déjà vu un calculateur personnel démarrer (sauf sous VISTA], sans pouvoir jamais passer avant, par le BIOS [SETUP], d'une MB ?
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Toutefois il n'est pas exclu que le BIOS incorpore,
* à titre accessoire *,
des firmwares destinés à des périphériques intégrés à la carte mère (the main board), de même que certains pilotes incorporent
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
un firmware destiné : à être chargé dans le périphérique,
et, dont ils en auraient : la charge ?
Serait-ce : le,s célèbre,s tatouage,s "UMP" par ID [Identity firmware hardware : an serial and typical right era product], et que l'on retrouverait dans presque toutes les clés USB commercialisées et, actuellement du monde ?
Il existerait cependant quelques "exceptions dites RELATIVEMENT anonymes" et, j'en posséderais quelques unes...)?
Et c'est quoi, tout ce b..... ?
Cordialement (and, or a new best french regard, in this usenet group).
-- Pour survivre dans l'espace, il faudra apprendre à y survivre et, si les rares survivants parviennent à ne plus comprendre leurs géniaux concepteurs, l'incompréhension deviendra totale, ce sera alors enfin l'apocalypse et, tant désirée par certains ?
Bonjour [et,ou un (+ ou -) chanceux début de semaine estivale],
CriCri écrivit :
le BIOS fait bien partie du hardware...
Et Pascal Hambourg, lui répondit vertement :
Non, le BIOS, c'est du logiciel.
lol
Puis CriCri écrivit :
Une adresse à laquelle un logiciel stocke une valeur est
constituée d'un ensemble de transistors et condos, diodes
et résistances (selon): donc bien du _hardware_;
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Evidemment que toute information a besoin d'un support matériel
pour être stockée...
Mais il faut faire une différence entre le support
(le registre d'entrée-sortie, la cellule mémoire) et son contenu.
Je parlais du programme BIOS stocké dans la PROM,
à savoir une suite d'instructions lues et exécutées
par le processeur central. Ça c'est du logiciel.
Si tu parles de la puce d'EPROM qui le contient,
c'est effectivement du matériel.
CriCri insista, encore :
La question de fond est si j'ai le droit d'accéder,
à ce _hardware_.
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
La réponse est non, dans un vrai OS moderne,
les applications n'ont pas le droit
d'accéder directement au matériel.
lol lol (et, deux fois plutôt qu'une) ?
CriCri insista, encore un peu plus :
Le "BIOS" est du firmware stocké dans du hardware.
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Non, le BIOS n'est pas du firmware.
Le,s copyright de MB [Main Board], ce serait,ent quoi ?
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Le BIOS est essentiellement du code exécuté par le processeur central
comme n'importe quel autre logiciel,
...
alors qu'un firmware est un ensemble de données
(code exécutable ou autre chose)
chargé dans un périphérique et non exécuté par le processeur central.
Avez-vous déjà vu un calculateur personnel démarrer (sauf sous VISTA],
sans pouvoir jamais passer avant, par le BIOS [SETUP], d'une MB ?
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Toutefois il n'est pas exclu que le BIOS incorpore,
* à titre accessoire *,
des firmwares destinés à des périphériques intégrés
à la carte mère (the main board),
de même que certains pilotes incorporent
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
un firmware destiné : à être chargé dans le périphérique,
et, dont ils en auraient : la charge ?
Serait-ce : le,s célèbre,s tatouage,s "UMP" par ID [Identity firmware
hardware : an serial and typical right era product], et que l'on
retrouverait dans presque toutes les clés USB commercialisées et,
actuellement du monde ?
Il existerait cependant quelques "exceptions dites RELATIVEMENT
anonymes" et, j'en posséderais quelques unes...)?
Et c'est quoi, tout ce b..... ?
Cordialement (and, or a new best french regard, in this usenet group).
--
Pour survivre dans l'espace, il faudra apprendre à y survivre
et, si les rares survivants parviennent à ne plus comprendre
leurs géniaux concepteurs, l'incompréhension deviendra totale,
ce sera alors enfin l'apocalypse et, tant désirée par certains ?
Bonjour [et,ou un (+ ou -) chanceux début de semaine estivale],
CriCri écrivit :
le BIOS fait bien partie du hardware...
Et Pascal Hambourg, lui répondit vertement :
Non, le BIOS, c'est du logiciel.
lol
Puis CriCri écrivit :
Une adresse à laquelle un logiciel stocke une valeur est constituée d'un ensemble de transistors et condos, diodes et résistances (selon): donc bien du _hardware_;
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Evidemment que toute information a besoin d'un support matériel pour être stockée...
Mais il faut faire une différence entre le support (le registre d'entrée-sortie, la cellule mémoire) et son contenu.
Je parlais du programme BIOS stocké dans la PROM, à savoir une suite d'instructions lues et exécutées par le processeur central. Ça c'est du logiciel.
Si tu parles de la puce d'EPROM qui le contient, c'est effectivement du matériel.
CriCri insista, encore :
La question de fond est si j'ai le droit d'accéder, à ce _hardware_.
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
La réponse est non, dans un vrai OS moderne, les applications n'ont pas le droit d'accéder directement au matériel.
lol lol (et, deux fois plutôt qu'une) ?
CriCri insista, encore un peu plus :
Le "BIOS" est du firmware stocké dans du hardware.
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Non, le BIOS n'est pas du firmware.
Le,s copyright de MB [Main Board], ce serait,ent quoi ?
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Le BIOS est essentiellement du code exécuté par le processeur central comme n'importe quel autre logiciel,
...
alors qu'un firmware est un ensemble de données (code exécutable ou autre chose) chargé dans un périphérique et non exécuté par le processeur central.
Avez-vous déjà vu un calculateur personnel démarrer (sauf sous VISTA], sans pouvoir jamais passer avant, par le BIOS [SETUP], d'une MB ?
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
Toutefois il n'est pas exclu que le BIOS incorpore,
* à titre accessoire *,
des firmwares destinés à des périphériques intégrés à la carte mère (the main board), de même que certains pilotes incorporent
Après mûre réflexion, Pascal Hambourg affirma ceci, cela :
un firmware destiné : à être chargé dans le périphérique,
et, dont ils en auraient : la charge ?
Serait-ce : le,s célèbre,s tatouage,s "UMP" par ID [Identity firmware hardware : an serial and typical right era product], et que l'on retrouverait dans presque toutes les clés USB commercialisées et, actuellement du monde ?
Il existerait cependant quelques "exceptions dites RELATIVEMENT anonymes" et, j'en posséderais quelques unes...)?
Et c'est quoi, tout ce b..... ?
Cordialement (and, or a new best french regard, in this usenet group).
-- Pour survivre dans l'espace, il faudra apprendre à y survivre et, si les rares survivants parviennent à ne plus comprendre leurs géniaux concepteurs, l'incompréhension deviendra totale, ce sera alors enfin l'apocalypse et, tant désirée par certains ?
Michel__D
CriCri a écrit :
Michel_D a écrit :
...ce qui n'est pas anormal puisque ce n'est pas réellement du DOS mais une émulation.
Finalement je me rends compte que j'ai lu ça plusieurs fois sans réagir!
Ce n'est pas parce qu'il s'agit d'une émulation per se; c'est parce que le développeur a choisi de l'implémenter ainsi. Rien ne l'aurait empêché d'écrire son émulation en restant presque 100% fidèle au fonctionnement de MS-DOS. Il aurait suffi d'y recopier MS-DOS - avec toutes ses fonctions inchangées - dans son entièreté; ainsi que la totalité des fonctions du BIOS, pour faire une émulation quasi-identique à l'original (même dans une machine virtuelle). Si l'émulation ne fonctionne pas comme ça c'est parce que le programmeur ne l'a pas voulu!
Ben oui, mais le cahier de charges n'était pas de faire un DOS bis.
CriCri a écrit :
Michel_D a écrit :
...ce qui n'est pas anormal puisque ce n'est pas réellement du DOS
mais une émulation.
Finalement je me rends compte que j'ai lu ça plusieurs fois sans réagir!
Ce n'est pas parce qu'il s'agit d'une émulation per se; c'est parce que
le développeur a choisi de l'implémenter ainsi.
Rien ne l'aurait empêché d'écrire son émulation en restant presque 100%
fidèle au fonctionnement de MS-DOS. Il aurait suffi d'y recopier MS-DOS
- avec toutes ses fonctions inchangées - dans son entièreté; ainsi que
la totalité des fonctions du BIOS, pour faire une émulation
quasi-identique à l'original (même dans une machine virtuelle).
Si l'émulation ne fonctionne pas comme ça c'est parce que le programmeur
ne l'a pas voulu!
Ben oui, mais le cahier de charges n'était pas de faire un DOS bis.
...ce qui n'est pas anormal puisque ce n'est pas réellement du DOS mais une émulation.
Finalement je me rends compte que j'ai lu ça plusieurs fois sans réagir!
Ce n'est pas parce qu'il s'agit d'une émulation per se; c'est parce que le développeur a choisi de l'implémenter ainsi. Rien ne l'aurait empêché d'écrire son émulation en restant presque 100% fidèle au fonctionnement de MS-DOS. Il aurait suffi d'y recopier MS-DOS - avec toutes ses fonctions inchangées - dans son entièreté; ainsi que la totalité des fonctions du BIOS, pour faire une émulation quasi-identique à l'original (même dans une machine virtuelle). Si l'émulation ne fonctionne pas comme ça c'est parce que le programmeur ne l'a pas voulu!
Ben oui, mais le cahier de charges n'était pas de faire un DOS bis.