Création de driver - Divers - Programmation
Marsh Posté le 19-05-2025 à 14:37:50
Avé. Je déterre ce sujet d'il y a 15 ans, veuillez m'en excuser car j'ai un problème similaire. Je suppose que Shiii est maintenant mort et enterré, mais peut-être que de ressortir ce sujet et le résoudre peut être un hommage à sa gloire posthume !
Alors voilà, mon problème est cependant un peu différent. Je souhaite créer un driver, afin de prendre en charge ma carte mère, ou le module wifi (ou "carte réseau" ) sur ma carte mère ?
Alors ma question est la suivante : comment coder ce driver (le programme), dans quel langage, et où le placer ? (dans quel fichier ou répertoire, quel registre etc...)
Et aussi, comment faire en sorte que ce driver s'exécute, lorsque justement on active le module wifi, ou branche la carte ou le périphérique, comme disait Shiii.
Il me semble qu'il faut peut-être modifier (ajouter) des lignes aux fichiers de configuration autoexec.bat ou config.sys aussi ? Enfin je ne sais pas trop...
Je suis sous Windows 7, mais j'ai aussi une partition Linux. Je voudrais coder un petit programme pour un peu tous les principaux systèmes, Windows Linux et Androïd, vieilles et nouvelles versions.
Merci, dans l'attente de vous lire, ou de reconvoquer Shiii depuis le séjour des morts (où il a peut-être trouvé la solution finalement !). Et espérant que cette tâche ne sera pas trop complexe aussi pour mes modestes moyens car je n'ai pas la science infuse de certains.
Infogiver
Marsh Posté le 19-05-2025 à 15:24:49
Laisse tomber. Les pilotes c'est des trucs très compliqués, il faut connaître par coeur l'API du OS (c'est hautement dépendant de l'OS; impossible de faire un pilote universel!) et aussi avoir de la doc (des centaines voir miliers de pages!) du module Wifi.
Donc soit tu trouves un truc tout fait, soit tu changes de carte Wifi (et d'OS en passant, W7 est mort et enterré aussi!).
Par contre prudence: Un driver "random" pris sur internet il y a une probabilité non-nulle qu'il contient un virus ou autre! Un driver/pilote c'est du code qui s'exécute avec les privilèges système.
Marsh Posté le 20-05-2025 à 20:50:57
Merci, rat de combat.
Alors j'ai trouvé des fichiers avec l'extension .sys quand même dans le répertoire 'driver' du dossier 'System32' de Windows 7 ; et puis .dll ou même .drv.
J'ai l'impression que c'est de l'assembleur, ce sont des groupes bizarroïdes de 3 lettres avec des signes et symboles.
Peut-être des fichiers " cryptés" ?
J'ai vu des fichiers de description aussi, avec des trucs genre fichiers de configuration (une variable, le signe = et une valeur tout simplement -en mode texte-).
L'API on l'a devant nous, avec l'arborescence windows. Ça ne doit pas être bien compliqué ;
il faut trouver le code et puis comment identifier les ressources matérielles (périphériques,...)
Il faut trouver comment c'est imbriqué, la dépendance des fichiers, etc...
Je ne suppose pas que tout est dans systeme32 aussi, ça doit être disséminé un peu partout.
Il faut trouver l'arbre des dépendances et l'ordre de lancement des processus et conf, éxécutables windows petit à petit en fonction du matériel
.
Marsh Posté le 20-05-2025 à 21:50:28
Non, comme je disais dans mon MP tu sous-estimes très largement la chose. Laisse tomber, tu n'as aucune chance de réussir et tu sera frustré à mort si tu y passes beaucoup de temps avant d'échouer.
.dll (et .sys aussi je crois, connais pas Windows) == language machine, donc code C compilé (ou assembleur ou ...).
Marsh Posté le 21-05-2025 à 07:08:59
Ok, oui tu as raison c'est compliqué de programmer un driver. En fait il faut comprendre tout le code du système d'exploitation Windows. C'est à dire être en mesure de reprogrammer un système. C'est à dire faire de l'ombre à Bill et à Linus. C'est pour ça que Shiii n'a jamais eu de réponse.
Allez, je vais m'y mettre (et poster ici). Mais il faut du soutien. Si les non-programmeurs peuvent faire des comment et faire avancer le programme... c'est aussi eux, par leurs questions innocentes qui feront le code (moi j'essaierai de l'écrire -et vous autres !-). May the force be with us !
Marsh Posté le 21-05-2025 à 08:28:41
Surtout en commençant par chercher du côté de config.sys et autoexec.bat sous Windows 7
Bon, pour être clair, vu tes questions et même avec beaucoup d'acharnement il n'y a absolument aucune chance que tu pondes un driver avant d'être toi même mort et enterré pour reprendre ton expression.
Par contre, ton machin que tu veux faire marcher, vu qu'il existe, il y a forcément des gens qui se sont donnés la peine de lui en écrire un de driver, sinon il n'est pas très utile.
Donc si on repartait plutôt de la question de base et que tu nous disais déjà ce que tu cherches à installer sur quoi exactement ?
Dans la bonne cat du forum de préférence.
C'est plus facile. Un peu comme quand tu as besoin d'une voiture et que tu décides d'en acheter une plutôt qu'en fabriquer une toi-même avec des trucs trouvés dans les tiroirs de ta cuisine
Marsh Posté le 21-05-2025 à 10:01:59
Mechkurt et TotalRecall (et rat de combat !) c'est pas moi qui peux le créer tout seul, le code, c'est NOUS. Et le Topic.
Alors d'abord, avant de parler du code (ou des fichiers, autoexec config etc ..) il faut parler de la machine je pense.
Comment fonctionne et démarre un OS sur une machine ?
Il me semble qu'il y a d'abord un petit programme qui est stocké dans le microprocesseur et qui s'appelle le "boot loader". Programmé en langage machine C, comme disait Rat de combat, ou en Assembleur.
Marsh Posté le 21-05-2025 à 10:11:39
Ce programme lance les processus les uns après les autres, prend en charge le matériel peut-être (les "drivers" ), et nous amène ce qu'on voit à l'écran
Qu'est-ce qu'un programme aussi ? Un programme est un ensemble d'instructions reconnues par la machine, pour activer tel et tel circuit, allumer tel ou tel led, etc, etc .. un programme est une série de lignes de codes.
Avec l'avènement des OS, un programme peut être stocké dans un fichier, mais aussi faire appel à d'autres fichiers. En gros les lignes de codes qui se suivaient, peuvent maintenant être présentes dans des lieux différents sur la machine.
C'est ça le truc un peu difficile et qu'il faut comprendre pour programmer un driver (ou créer un nouveau système).
On m'a dit aussi que chaque processeur a son jeu d'instructions propres (natives, de base, je crois). C'est bizarre, mais ça identifie la machine indépendamment de l'OS peut-être.
Marsh Posté le 21-05-2025 à 12:15:48
Non, pas le même style et jovalise n'a jamais parlé d'ouvrir un restaurant en Ukraine.
Du coup le résultat des deux projets m'intéresse, j'espère qu'on aura des news
Marsh Posté le 21-05-2025 à 13:36:48
Non, ce n'est pas Jovalise. Par contre j'avoue que toi - infogiver - tu me laisses perplexe. Comme je disais, tu vas te casser la figure et j'espère plus tôt que tard (et pas au sens propre!) car tu perd ton temps. Pourtant TotalRecall t'as donné une piste: Chercher un driver existant, mais attention, c'est du code machine (comme je disais) donc risque de virus etc!
Marsh Posté le 21-05-2025 à 15:15:09
J'ai téléchargé un driver du D-link pour essayer de faire marcher mon ordinateur (comme recommande TotalRecall), car je ne capte plus le WIFI (c'est ça mon problème), l'ordi a crashé et D-link n'a plus son logiciel, mais ça ne marche pas.
Impossible d'identifier le répertoire pour y glisser les fichiers .inf ou .sys ou je ne sais, un fichier netrtwlanu.inf en fait je crois ; et impossible aussi de lancer l'exécutable de ce driver, qui ne marche pas.
Je ne vois qu'une seule solution, reprogrammer une machine et faire écrouler l'empire de Bill Gates. Ou le vôtre, car je vous trouve bien négatifs et un tantinet moqueurs à manger du popcorn comme ça dans vos smiley !
Pour info, le sujet est posté dans la rubrique hardware aussi.
Marsh Posté le 21-05-2025 à 15:25:53
PS : Non, je ne suis pas jovialise !!!
Marsh Posté le 21-05-2025 à 15:35:11
PPS: j'ai un connecteur D-link pour le wifi, mais je ne pense pas qu'il y a un circuit oscillant dans ce connecteur pour créer une onde et se connecter à internet.
D-link identifie seulement une ressource, je pense que c'est une sorte de driver physique si on peut dire qui active quelque chose sur la carte mère.
Il doit y avoir un composant sur la carte mère qui crée une onde pour la connection sans fil. Ce qu'on appelle (peut-être abusivement "carte réseau" ). C'est ça que j'essaie d'activer aussi, mais je ne parviens pas à cibler le hardware dans le BIOS, ou trouver comment activer cette "carte réseau" par des drivers, etc ..
Marsh Posté le 21-05-2025 à 16:26:10
ReplyMarsh Posté le 21-05-2025 à 16:59:46
ReplyMarsh Posté le 21-05-2025 à 18:47:33
Je ne crois pas que c'est difficile de programmer un logiciel comme Windows, rat de combat, pardon de te le dire (même si tu es parti...), ou même un "driver" pour un "périphérique". C'est pas comme de programmer un jeu vidéo, avec des tas de mouvements à l'écran, des boucles hyper complexes imbriquées les unes dans les autres,...
Un système d'exploitation n'a rien à voir, c'est juste des fenêtres carrées (windows) avec description de fichiers et de dossiers, un programme statique. Cela te paraît complexe (et ça l'est devenu) car aujourd'hui il y a plein de logiciels, de matériels périphériques différents, imprimantes, écrans, capteurs etc ... donc c'est un peu une usine à gaz à prendre en charge et à "gérer", mais sinon le programme de base est tout bête.
C'est même probablement le programme le plus simple à coder qui soit, et que tu fais évoluer avec le temps, avec les matériels, logiciels que tu veux y mettre,...
Bon, désolé que le Topic ne te plaise. Merci TotalRecall.
Marsh Posté le 21-05-2025 à 18:53:29
Alors je crois qu'il faut coder un petit programme en assembleur (le bootloader) afin de spécifier où sera stocké le programme de notre système d'exploitation (quelles pistes/segments du disque dur, ou emplacements RAM etc...), fabriquer un interpréteur, définir les zones mémoires, qu'on voudra faire correspondre aussi avec les divisions du système de fichiers (l'équivalent du C:, Program files, Documents, Pictures, etc etc... de Windows). Le programme, que ce soit pour l'OS ou les drivers peut être écrit dans n'importe quel langage à mon avis.
Marsh Posté le 21-05-2025 à 21:54:47
Infogiver a écrit : Je ne crois pas que c'est difficile de programmer un logiciel comme Windows, rat de combat, pardon de te le dire (même si tu es parti...), ou même un "driver" pour un "périphérique". C'est pas comme de programmer un jeu vidéo, avec des tas de mouvements à l'écran, des boucles hyper complexes imbriquées les unes dans les autres,... |
Quel noob ce Rat de combat, même pas capable de coder un bête OS de rien du tout
Marsh Posté le 22-05-2025 à 08:49:44
Oui, je parle de reprogrammer un OS tout neuf. C'est à dire qu'il est tellement simple qu'on ne peut rien brancher dessus, rien n'est compatible. Et on le rend compatible, juste pour le périphérique qu'on veut, soit ici pour Shiii (qui a créé ce topic), compatible pour sa carte 3G. C'est peut-être plus simple que de reprendre tout le Windows 10 qui en effet est peut-être une monstruosité de la nature du point de vue code, qu'on ne peut plus modifier, ou alors pour lequel il est trop compliqué de coder un driver.
Rat de combat n'est pas un noob TotalRecall, il a peut-être aussi simplement un peu peur, c'est vrai que ce n'est pas trop dans la mentalité des informaticiens frenchie d'envisager concurrencer les anglo-saxons sur leur terrain (windows, google, amazon, etc...).
Marsh Posté le 22-05-2025 à 08:57:30
Tu auras sans doute besoin de l'anglais ne serait ce que pour les ressources que tu vas y trouver, tiens un peu de lecture pour ton projet : https://littleosbook.github.io/
Marsh Posté le 22-05-2025 à 11:06:26
Pardon, je m'aperçois que je suis un peu critique et pas forcément dans le bon ton pour faire avancer ce topic. J'espère poster mieux après.
Merci, mechkurt ça ira avec l'Anglais. C'est vrai que c'est un peu les Anglo-saxons qui ont créé l'informatique de toute façon donc il faut bien leur reconnaître leurs outils.
Marsh Posté le 24-05-2025 à 10:24:52
mechkurt a écrit : Jovalise ? |
Impossible, il s'exprime de manière compréhensible et il n'a pas encore parlé d'Ada
Par contre, vu le contenu de ses postes, ça démontre une très faible connaissance des PC et OS, donc je confirme, aucune chance qu'il arrive à développer un driver d'un matériel propriétaire dont il n'a pas les spécs techniques et sans avoir les compétences en dév
Infogiver a écrit : PPS: j'ai un connecteur D-link pour le wifi, mais je ne pense pas qu'il y a un circuit oscillant dans ce connecteur pour créer une onde et se connecter à internet. |
Oh purée, j'avais pas vu ça. Oui, bon clairement, tu n'as pas les connaissances et compétences pour écrire un driver qui fonctionnera.
Marsh Posté le 24-05-2025 à 10:28:47
Infogiver a écrit : Je ne crois pas que c'est difficile de programmer un logiciel comme Windows, rat de combat, pardon de te le dire (même si tu es parti...), ou même un "driver" pour un "périphérique". C'est pas comme de programmer un jeu vidéo, avec des tas de mouvements à l'écran, des boucles hyper complexes imbriquées les unes dans les autres,... |
Tien, regarde cette vidéo, ça va te remettre les idées en place : https://www.youtube.com/watch?v=ELTwwTsR5w8
Coder un OS moderne comme Windows ou Linux capable de gérer des milliers de matériels est probablement l'une des tâches les plus difficiles au monde en matière de dév
Marsh Posté le 24-05-2025 à 12:19:40
Les écoute pas, c'est vrai que c'est pas facile mais avec du temps et de la volonté, tout est possible !
Je ne peux pas t'aider pour Windows 7, mais vu que tu es dans les vieilleries, ce bouquin va t'aider pour ton driver Linux.
https://bootlin.com/community/kernel/ldd3/
Bonne chance, on se revoit d'ici 3 à 5 ans pour voir tes progrès !
Marsh Posté le 24-05-2025 à 15:33:36
Mais je n'écoute personne, lorill.
Merci pour ta doc quand même !
Alors voilà, pour créer un driver il faut commencer par programmer un petit software en Assembleur, en général 512 octets maximum, qu'on place dans le "MBR". Le MBR est le "Master Book Record", un "lieu" de la machine, mi-réel, mi-virtuel, qui lancera tous les programmes et notre système d'exploitation (avec ses drivers" ).
Généralement le MBR se trouve sur le disque dur (ou EST le disque dur), au début, mais tout dépend de où on veut le mettre. On pourrait le créer dans l'écran, mais l'écran est un peu loin du micro-processeur et des organes de calculs internes de l'ordinateur. Je propose donc qu'on le mette sur le disque dur. A mon avis c'est le plus simple, le plus logique et ce qui se fait actuellement.
Alors voilà, le programme commence comme ça :
MOV a,000000 ;
je ne connais pas trop l'assembleur mais 'instruction MOV est l'instruction de base, elle veut dire "bouger" en Anglais, et ceci veut dire "bouger a jusqu'en 000000" je crois. En gros, ça veut dire a=0; et en gros, ça veut dire qu'il y a une valeur qui est définie maintenant dans notre ordinateur, et à partir de cette valeur on peut en créer une deuxième, ce qui va nous donner une deuxième valeur, et donc la possibilité de créer un "segment" , un espace entre deux valeurs, et donc de les subdiviser, de créer tout un tas d'autres valeurs, qui vont représenter la mémoire de notre ordinateur. Vous me suivez ? Moi non plus je ne me suis pas très bien, mais bon je pense que c'est comme ça qu'on démarre, enfin je ne vois pas d'autres solutions. Donc pour le moment a=0
La deuxième instruction de notre programme est donc la suivante (je pense !).
MOV b,999999 ;
cela crée une variable "b" qui a pour valeur 999999. Bon, je pense qu'il faut en fait que ce soit plus grand peut-être, on va voir je ne sais pas. Donc en créant cette deuxième variable,on a créé un segment, c'est notre zone mémoire, on peut le subdiviser pour y mettre d'autres valeurs, des instructions, etc... Notamment on y mettra le bios et le code qui appellera le programme de notre OS . Ou tout l'OS si on veut, haha !
Voilà, merci de votre attention, j'espère que j'ai bon pour le moment.
Marsh Posté le 24-05-2025 à 15:46:33
Tu veux faire un driver, pas un OS. T'as pas besoin de MBR puisque l'OS est déjà démarré et que toi, tu veux juste faire fonctionner sa carte wifi.
Et pour info, l'hexa, c'est base 16, pas 8
Je ne sais pas si tu te rends compte du gap abyssal entre tes connaissances et celles qu'il te faudrait pour créer le driver que tu veux. Je ne dis pas que ce n'est pas intéressant d'apprendre tout ça (bien au contraire) mais que la plupart des ingés en dév qui ont donc étudié 5 ans l'informatique ne sont pas capables de coder un driver pour un OS moderne, en particulier sans avoir la doc technique dudit matériel. C'est pas qu'ils sont mauvais, c'est juste que c'est une tâche très complexe.
Tien, un exo que j'ai fait en 2ème année d'école d'ingé : faire démarrer un PC sur du DOS puis lui faire exécuter un programme qui lance 3 tâches en parallèle, le tout codé en assembleur. Un classique, c'est une tâche de type exclusion mutuelle comme un carrefour (avec des feux, avec la zone du carrefour où les voitures ne doivent pas se renter dedans, donc utiliser un mutex), un tâche de type producteur/consommateur (avec un mutex pour empêcher de consommer un truc pas produit) et une 3ème tâche libre, tu affiche ce que tu veux, par ex, du texte qui défile de gauche à droite.
Rien que ça, ça va te prendre des heures et te faire apprendre l'ASM. Tu vas trouver ça sans doute dur. Ben c'est rien à côté de créer en C/C++ un driver pour une carte wifi Ben oui, va te falloir comprendre la partie électronique de la carte (et sans schéma/datasheet des composants, tu va en chier) et après, va te falloir ingurgiter la spéc des normes wifi (oui, y'en a pas qu'une et chacune ne fait pas 3 pages
).
Marsh Posté le 26-05-2025 à 13:59:49
Merci de ton message et des conseils Rufo. J'interviens dans ce topic car je cherche à faire fonctionner mon matériel, mais la programmation système m'intéresse aussi. C'est un intérêt intellectuel, pour ma culture personnelle aussi.
La création d'un "driver" passe par la compréhension de la machine et du code qui permet de faire fonctionner cette machine, c'est ça non... Je pense avoir résolu le topic avec mes post et les commentaires divers -et le tien-. Il n'est plus difficile maintenant de programmer un driver, il faut juste programmer un OS (ce qui en fin de compte est simple, si on s'affranchit de la problématique "driver" ) ; démarrer à partir de l'assembleur comme j'ai montré et identifier notre matériel par un ID unique quelque part dans la mémoire. C'est ça, peux-tu confirmer ? Il faut juste dérouler le code, maintenant. Vas-y, puisque tu es un spécialiste de la programmation "flag" à 4 routes distinctes (?). Et qu'appelles-tu "norme des spec wifi", il me semble au contraire que c'est aussi très simple, ça peut tenir en 1 mot et pas des tonnes de pages. Par exemple : "1mot". Le réseau "5G" ne s'identifie pas avec autre chose que le chiffre 5 et la lettre G mis côte à côte dans les programmes si tu veux mon avis.
Marsh Posté le 26-05-2025 à 14:30:44
Programmer un OS moderne comme Linux ou Windows, c'est simple ? Mais bien sûr Soit tu es un sacré génie, soit tu es complètement à côté de la plaque pour évaluer la difficulté. As-tu regardé la vidéo que j'ai postée plus haut ?
Pour les normes (ou protocoles) concernant le wifi qu'il te faudra implémenter dans ton driver, je parle du IEEE 802.11 : https://fr.wikipedia.org/wiki/IEEE_802.11
Et non, mettre juste un ID pour un matériel, c'est pas du tout suffisant pour le faire fonctionner. Pas plus que mettre "5G" pour faire fonctionner un équipement en 5G
A noter qu'on n'est pas du tout obliger de développer un driver en ASM. On le fait plutôt en C ou C++, ce qui reste déjà bien assez compliqué comme ça.
Comme expliquer, y'a pas beaucoup d'ingés qui sont capables de coder un OS ou un driver d'un matériel (un minimum complexe, comme une carte réseau, un CG, une CM...) pour un OS moderne. Ca prend beaucoup de temps et demande de grandes compétences, à commencer par connaître très bien le fonctionnement bas niveau de l'OS pour lequel on écrit le driver. La programmation système, c'est ardu et pas pour un débutant en dév.
Tien, cadeau : comment créer un driver "hello world" pour Win 10 : https://learn.microsoft.com/fr-fr/w [...] df--driver
Marsh Posté le 26-05-2025 à 15:38:42
No mais tu perd ton temps là rufo, relit son dernier post...
Ce genre de phrases :
Citation : Et qu'appelles-tu "norme des spec wifi", il me semble au contraire que c'est aussi très simple, ça peut tenir en 1 mot et pas des tonnes de pages. Par exemple : "1mot". Le réseau "5G" ne s'identifie pas avec autre chose que le chiffre 5 et la lettre G mis côte à côte dans les programmes si tu veux mon avis. |
C'est forcément un gros troll (ou une agent IA zarbi).
A mon humble avis il faut :
- soit arrêter de lui répondre
- soit on répond nous aussi en trollant.
Oui, tu peux créer ton driver simplement en quelques étapes:
Tu prend un nouveau fichier texte, tu copie colle ce texte :
Code :
|
Et après tu renommes ton fichier texte en .os et tu le met à la racine de ton disque, ça devrait fonctionner.
/!\ Il faudra peut être mettre les accents avec les noms de méthode en Francais, mais si tu as un Windows 7 en anglais tu pourras utiliser les noms de fonction en anglais ce sera sans doute plus simple.
Marsh Posté le 26-05-2025 à 16:05:49
N'importe quoi le ".os", c'est du ".sys" et il faut le mettre dans le répertoire "divers" de Windows, sinon, ça marchera pas.
Et pour une meilleure vitesse de transmission, à la ligne 3 de ton fichier, il vaudrait mieux mettre :
variable connexion = carte_configure.Connexion('WIFI_6');
Je propose que WIFI_6 et pas WIFI_7 car pas sûr que sa carte wifi soit compatible.
Mais sinon, pour tout le reste de ton post, je suis d'accord avec toi...
Marsh Posté le 26-05-2025 à 21:46:17
Non je n'avais pas regardé ta vidéo, Rufo. On ne se connaît pas, c'est très difficile pour moi de te faire confiance, de faire confiance aussi aux infos que je trouve ailleurs sur Google ; où il y a plein de "trolls", messages d'influence pour utiliser telle ou telle technologie, tel ou tel système, software "payant," etc... J'essaie de bâtir une vérité en recoupant les infos avec ma connaissance aussi, maigre (mais un peu ancienne la connaissance) et ce n'est pas simple.
Alors merci 1000 fois de la vidéo. Je l'ai regardée en entier, j'ai pas mal compris, pas tout à 100%, mais elle est très instructive quand même, merci. Et elle est super bien faite. Chapeau au réalisateur de cette vidéo.
1 ou 2 trucs que je ne comprends pas et qui me posent problème dans cette vidéo, si ça ne te dérange pas : Le bootloader, ce programme qui lance toute la machine et l'OS, serait APRES le bios d'après cette vidéo (et avant donc tout le système, et l'OS etc...). Je ne comprends pas cela. Je l'ai vu aussi sur d'autres sites internet, il semble que ce soit une généralité que le bootloader soit après le Bios. C'est totalement contre-intuitif d'après moi, le bootloader est censé justement faire la jonction avec le matériel, être à la base, en contact avec les "pin" électroniques et tout ça ; définir la mémoire, les registres et autres. Le bootloader ne devrait-il pas être avant le BIOS et lancer le Bios justement ? Travailles-tu pour Microsoft et pas pour Intel, en fin de compte ? :-) A mon avis, on fait comme on veut au final, après ou avant, ce n'est pas grave, mais bon. Moi ça me fait drôle et je suis un peu contre les systèmes institutionnalisés, donc je l'aurais mis avant le Bios, ce petit "bootloader" pour ma part (si tel est le cas et que le Bios ne représente pas forcément la couche procédurale la plus basse du PC et qui contient les instructions de l'Assembleur ou quelque chose ???) . Bon, voilà, il y a quelques autres choses, mais j'y reviendrai. Il y a aussi la "clusterisation" de la mémoire quand même, qu'est-ce que c'est que ça dans cette vidéo ?? Merci en tout cas.
Voilà. A vous lire, signé : Infogiver.
PS: si quelqu'un sait où se procurer un vieux manuel d'assembleur, très simple (d'avant 1990 le bouquin), je ne suis pas contre. Pas une de ces "docs" modernes ou toute la littérature Google et "GPT" actuelle que j'ai pu voir sur le net, qui t'apprend à mal coder, et surtout en t'éloignant au maximum de la machine. Pour le langage C, on pourrait en faire l'impasse et créer un langage K indépendant par exemple aussi (?). Marre des C, C++, C-Sharp (C#), et tout ça. Pourquoi ne pas créer un langage tout différent ? D'assez bas niveau, pas trop de fonctions et de syntaxes compliquées d'hurluberlu, pas trop de programmation objet (librairies et autres), ou juste ce qu'il faut ; quelque chose de bien compréhensible par tout le monde. Pour ce nouvel OS unique et pour le driver de Shiii !
Marsh Posté le 26-05-2025 à 22:00:18
La séquence de démarrage d'un PC, c'est en gros :
1) Appuie sur le bouton "on" du PC : l'électricité arrive aux composants électroniques
2) le BIOS démarre et vérifie que les composants sont présents et OK pour fonctionner (surtout que le CPU est prêt à bosser)
3) le BIOS cherche à lancer le programme qui se situe sur le MBR (boot sector) qui fait 512 octets exactement (ni plus, ni moins). Sauf que dans 512 octets, tu mets pas grand chose, en tout cas, pas un OS complet Donc, un OS moderne y case son bootloader dont l'unique tâche est de lancer le programme de démarrage de l'OS qui lui, est bien plus gros que 512 octets et qui est situé ailleurs sur le HDD.
4) le programme de lancement de l'OS démarre l'OS, notamment charge les drivers des différents matériels qu'il a détecté sur le PC.
5) si tout s'est bien passé, l'IHM de l'OS s'affiche avec écran d'accueil pour te loguer.
Je passe sur le reste de ton message qui n'a ni queue ni tête pour moi. Je ne travaille ni pour M$ ni pour Intel. Je ne vois pas pourquoi tu penses ça...
Edit : si tu vois du GPT sur la programmation système, ça n'a rien à voir avec ChatGPT. GPT, dans ce contexte est juste un système pour gérer les HDD de plus de 3 To
Marsh Posté le 26-05-2025 à 22:25:04
Il n'y a pas de disque dur (HDD) de 3 Tera octets, Rufo. La mémoire d'un ordinateur est illimitée, c'est nous qui la définissons. La donnée, la data est quelque chose d'immatériel, donc on peut la stocker n'importe où, presque à l'infini et la créer comme cela Il me semble. Je programmais des petits jeux vidéos sur Oric Atmos avec une mémoire de 48k seulement, dans les années 80. Soit à peine la taille d'une petite image .jpg pour le web aujourd'hui :-) La norme GPT est une vaste supercherie en discréditant le MBR si tu veux mon avis, puisque c'est le programmeur qui crée la mémoire dont il a besoin. En fait tu travailles pour les Aliens robotiques, Rufo je t'ai démasqué !
Marsh Posté le 26-05-2025 à 22:46:35
Mais bien sûr.
On va arrêter là la conversation...
Marsh Posté le 26-05-2025 à 23:07:59
ReplyMarsh Posté le 27-05-2025 à 09:40:21
J'aurais essayé
Marsh Posté le 27-05-2025 à 10:30:21
Pardon, c'est pas un "troll", j'écarte le sujet pour essayer de construire une vérité et faire le programme.
Reprenons le code alors (si vous le voulez bien) :
MOV a,000000
MOV b,999999
MOV x, 000100 ; on crée le segment ax dans cette ligne en fait, qui va de 0 (a) à 100 (x). Pourquoi passer par l'hexadécimale Rufo ? On peut très bien faire notre propre système, non ? Ici unités, la base 10 simple et normale etc .. pourquoi faire des segments de 512 octets aussi et tout ça ? Nous pouvons définir notre propre système dans la machine il me semble.
Ligne suivante :
JMP a ; ici on place notre "pointeur" au début, en "a". JMP est une instruction comme "goto", elle nous dit "où aller" dans la mémoire. Très importante cette instruction, comme le MOV. Il me semble que ce sont les 2 plus importantes instructions de l'assembleur : MOV et JMP. Ça va nous permettre de définir ce qu'il y a dans le segment ce JMP (?). Enfin je ne sais pas si c'est bien utile pour le moment.
Bon, ce topic est la création d'un driver aussi donc doit-on revenir tout au début et ré-inventer tout un système ? Je pense en effet qu'il faudrait charger un programme en langage C dans le répertoire Windows/system32/drivers/ ou quelque chose comme cela. Mais pour créer ce programme (le driver) en C, est-ce qu'on peut avoir accès au code source de windows ? C'est ça la question, en fait, parce que le "driver" doit s'intégrer dans le code source de Windows. Comme Windows est payant, je ne sais pas trop si ça peut se faire, si on peut avoir accès au code source, à toutes les routines, intégrer le driver, etc etc ...
C'est ça ?
Marsh Posté le 26-02-2010 à 14:36:25
Bonjour,
Je souhaiterai créer un petit soft pour installer une carte 3G, je dispose des fichiers qui composent le driver, mais quand je la plug je dois dire où se trouvent les fichiers avec l'assistant d'installation pour installer la carte.
Auriez-vous une idée de comment je pourrai faire pour rendre ça automatique, c'est à dire en pluguant la carte et en lançant un .exe, la carte s'installerai toute seule.
Merci par avance.
Cdt