Malheureusement Polien a raison.
Perso un conseil : créer ton OS en VB.NET avec SZ jusqu'à ce que tu a épuisé toutes les possibilités et la puissance du VB.NET.
Ensuite tu prend ton projet tu le transforme en C# (à l'aide de SZ en passant). Tu débloquera d'autres possibilités car le C# est plus complet !
Et enfin, comme Mantrix le fera, tu transformera ton OS C# en C++ Natif : je l'ai déjà fait avec un logiciel qui transforme le C# en C++ Natif pour le Kernel qui supportera Mantrix.
Si tu veux arriver à tes fins sache que tu sera obliger de transformer (ou réécrire) ton OS en C++ natif un moment ou l'autre si tu désire un jour vraiment le mettre en natif (100% indépendant de Windows).
En C++ natif sache que tu pourra contrôler les accès interne au bureau de ton OS Droid ce qui permettra de lancer des applications Windows, basé sur le Shell Win32, et ceci n'importe quand.
Tu pourra tout contrôler à condition de supporter le Shell.
Faudra vraiment aussi t'y mettre à fond pour pouvoir gérer une telle chose :/ C'est pas pour te décourager
mais faudra que tu écrive une partie de ton propre noyau pour gérer la complexité du Shell x86. Que tu apprenne aussi à programmer ton kernel pour passé du mode réel au mode protégé. Que tu apprenne aussi à programmer les drivers et pilotes de bases qui pourrais faire en sorte que Droid puisse comprendre un hardware classique. Que tu apprenne aussi à coder une souris (curseur), le clavier, le déplacement sur des axes (si 3D aussi). Et bien d'autres trucs
Personnellement sa fait maintenant bientôt 1 an (10 mois en tout sur le forum) que je boss sur mon OS (plus de 2000 heures de dev maintenant) et avec une (faible) équipe de 4 personnes (dont moi). Et bien j'ai officiellement terminé que 40% d'un OS complet........ Oui 40% en 1 an.... Et encore j'arrive bientôt à la limite de ce que peut me fournir une prog en VB.NET
Faut aussi que tu sache que ton OS Droid comme Mantrix est vu uniquement comme une applications et non un bureau Shell !! Tu ne pourra donc jamais contrôler une applications qui n'est pas de toi (genre VLC ou Firefox) via ton OS : pour cela faudra que tu, une fois finit, transforme ton OS en C++ natif ou C# puis que tu fasse en sorte que lorsque tu lance une appli externe celle-ci ce transforme en fenetre enfant (WindowChild) : ce qui veux dire que ton bureau doit être obligatoirement une MDI (fenêtre parent) et que tu sache comment, de A à Z, fonctionne un OS pour en refaire toute les bases... :s je sais c'est long et très complexe mais j'ai bien réussi alors tu le pourra aussi
Le truc c'est qu'il faut que t'apprenne :
- Comment fonctionne un kernel (Linux ET Windows) - je veux pas influencer le piratage mais cherche du côté de "Windows Research Kernel V1.2 : c'est le code source complet et LEGAL (si comme moi tu fait partie d'un organisme d'étude en informatique) du noyau entier de Windows XP Pro x64 !! Sa t'aidera pour comprendre comment fonctionne un noyau microsoft...
ATTENTION : C'est le code source complet du kernel NT 5.2 et NON de Windows qui lui est NON PUBLIQUE ! A ne pas confondre !
- Comment fonctionne l'interaction entre la couche Hardware (materiel) et Software (logiciel)
- Comment fonctionne un OS comme Windows (regarde via le registre "regedit" comment sont créer les liens symboliques entre les différentes clés et qui gère le Shell x86)
- Comment fonctionne le bureau de Windows (Desktop Web) : qui est en faite un explorateur simple auquel on a caché le TreeView x) et ouai
- Comment Windows se lance de A à Z (le boot, l'initialisation, l'userinit (*exe), l'explorer (*exe), la mémoire, etc
- Comment fonctionne le gestionnaire de fenêtre (en gros comment Windows gère le contour des fenêtres)
- Comment le noyau fait-il pour calculer l'heure en fonction de la pile HardWare (car ton OS, comme Mantrix bien sur je te rassure, affiche l'heure en fonction de Windows et non de la pile car il manque un noyau ; c'est pour ça que Mantrix se base à présent sur le kernel CPCDOS qui permet de le rendre natif sur certains points ;p)
- Comment Windows gère t'il les Multi-Sessions (multi environnement) : petite astuce pour t'aider : regarde prêt de winlogon.exe
- Comment fonctionne la couche d'abstraction matérielle (HAL) : soit hal.dll dans Windows
Et bien d'autres questions à se poser
pour le démarrage déjà voici déjà des petits détails (non poussés mais sa te donnera une idée) :
http://www.malekal.com/2010/11/12/le-processus-de-demarrage-sous-windows-2/Quand tu aura vu tout ça tu comprendra mieux comment fonctionne un OS
et donc comment avancé dans Droid
Petites astuces aussi dans le codage de Droid :
- Pensez à vider les variables sensibles
- Pensez à fermer les fenêtres en cours entre chaque changement de session (si ta session est une MDI ce qu'il faut qu'elle soit et les fenêtres des enfants tu n'a qu'a donner l'ordre de fermer chaque fenêtre possible même si celle-ci n'est pas ouverte)
- Pensez à calculer en temps réel les processus lancés par ton OS
- Pensez à créer des raccourcies claviers (en gros tu créer un raccourcie clavier sur une action que t'aura créer mais celle-ci est disponible dans la session, toujours active, et caché !)
- Pensez à dire à l'OS de tester les droits d'accès à certains dossiers (tu peut prendre l'astuce de créer un fichier caché .ini par exemple où tu marquera dedans genre 70 pour autoriser tout les accès à ce dossier) : en gros quand un User veux ouvrir genre le dossier "bonjour" alors il va chercher si bonjour.ini existe ; si il existe alors il va le lire. Si c'est marqué 70 alors il autorise sa lecture. Sinon si bonjour.ini contient par exemple 10 alors tu va refuser son accès
Astuce inventé mais sur une base d'idée de Linux (Mantrix ne fonctionne pas tout à fait comme ça mais presque lol) sauf que le contenus des INI sont crypté pour éviter que M. Hacker quel qu'il soit ne puisse changer volontairement 10 en 70 dans un fichier par exemple
Enfin bref j'ai finit mon roman mais j’espère que ça te donnera des idées pour ton OS
T'inquiète y'a des millions de trucs à connaître (et je connais pas tout très loin de là) mais c'est possible avec du courage !
Alors accroche toi