Topic : « [PROG] J'ai créé un mini-OS »

Avatar de SidiNoel SidiNoel
Un petit truc bootable qui peut lire 3 commandes qui sont mov eax, (quelquechose), ce qui fait réellement bouger l'argument donné au registre eax, JMP (quelquechose), qui exécute la même instruction assembleur, et LSD qui affiche des couleurs à la con sur l'écran :hap:

Bref ça a l'air ultra simple mais y a 8 mois de code pendant mon temps libre derrière ça, c'est pas évident de coder avec 0 lib :rire:

Code source : https://github.com/Pyrmalthakon/Pyralaph
Apercite https://github.com/Pyrmalthakon/Pyralaph

Vidéo où je montre le truc :
Lien de DL si ça vous intéresse :hap: : https://mega.nz/#!pXI32R4[...]TNuAVsVXTB2Y-PYbJRGm_X_wQ
Apercite https://mega.nz/#!pXI32R4K!zyccfL7asD-k9oUiBUTNuAVsVXTB2Y-PYbJRGm_X_wQ

#689887
Avatar de SidiNoel SidiNoel
>>PipBoy
Ça m'interesse beaucoup, comment tu fait ça?

Quelques lignes d'assembleur et beaucoup de C, après j'ai pas codé mon propre bootloader j'ai simplement utilisé GRUB, mais même avec ça c'est énormément de boulot pour coder tout ça sans aucune lib. :hap:
Tu peux aller sur osdev c'est un wiki très complet sur ce domaine

Mon code source est assez commenté si tu veux le lire :oui:
#689949
Avatar de SidiNoel SidiNoel
>>PipBoy
Citation de SidiNoel
Citation de PipBoy
Ça m'interesse beaucoup, comment tu fait ça?
Quelques lignes d'assembleur et beaucoup de C, après j'ai pas codé mon propre bootloader j'ai simplement utilisé GRUB, mais même avec ça c'est énormément de boulot pour coder tout ça sans aucune lib. :hap:
Tu peux aller sur osdev c'est un wiki très complet sur ce domaine
Merci j'irait voir, en fait j'ai surtout besoin de savoir comment ça fonctionne, le code j'ai déja un pied dedans.

https://github.com/Pyrmal[...]ralaph/blob/master/boot.S
Apercite https://github.com/Pyrmalthakon/Pyralaph/blob/master/boot.S

Voilà le tout début du code, c'est très simple si tu utilises GRUB parce qu'il te suffit de mettre les headers multiboot dans ton fichier (0x1BADB002, 0 puis -0x1BADB002). Après si tu veux coder ton propre bootloader c'est une autre histoire... :hap:
Avatar de ntm ntm
>>SidiNoel
Citation de ntm
Difficile de coder sans lib qu'il dit https://image.noelshack.com/minis/2016/38/1474488554-jesus18.png
Reviens nous voir quand t'as créé ton propre langage de programmation pour dev ton OS sale noob http://www.templeos.org/
Apercite http://www.templeos.org/
:ok:
Sauf que je suis loin d'être un expert en prog mon khey, c'est une première pour moi. :hap:

Incline toi devant le maitre alors
http://www.templeos.org/Videos/WriteInC.mp4
Apercite http://www.templeos.org/Videos/WriteInC.mp4


>>PipBoy
Et je me demandait un truc en tant que noob.
Et ce que c'est techniquement possible un OS qui lit des fichiers et programme mac et windows?
En gros tu pourrait lancer un .exe et un programme mac sur le meme OS.
techniquement oui
Avatar de SidiNoel SidiNoel
>>PipBoy
Et je me demandait un truc en tant que noob.
Et ce que c'est techniquement possible un OS qui lit des fichiers et programme mac et windows?
En gros tu pourrait lancer un .exe et un programme mac sur le meme OS.

Pour les fichiers .ELF ça doit pas être trop dur à lancer, t'as beaucoup de documentation dessus sur internet : http://wiki.osdev.org/ELF
Apercite http://wiki.osdev.org/ELF
, après faut bien piger comment la RAM fonctionne évidemment. Au début tu t'arranges pour parse l'entry point, puis tu fous les section data et bss là où ils doivent être, tu commences à exécuter les instructions à partir de l'entry point et ainsi de suite.. Mais ça doit être un sacré boulot :noel:

Les exe je sais pas trop comment ça se passe.
#690194
Avatar de ntm ntm
>>PipBoy
Citation de ntm
Citation de SidiNoel
Citation de ntm
Difficile de coder sans lib qu'il dit https://image.noelshack.com/minis/2016/38/1474488554-jesus18.png
Reviens nous voir quand t'as créé ton propre langage de programmation pour dev ton OS sale noob http://www.templeos.org/
Apercite http://www.templeos.org/
:ok:
Sauf que je suis loin d'être un expert en prog mon khey, c'est une première pour moi. :hap:
Incline toi devant le maitre alors
http://www.templeos.org/Videos/WriteInC.mp4
Apercite http://www.templeos.org/Videos/WriteInC.mp4

>>PipBoy
Et je me demandait un truc en tant que noob.
Et ce que c'est techniquement possible un OS qui lit des fichiers et programme mac et windows?
En gros tu pourrait lancer un .exe et un programme mac sur le meme OS.
techniquement oui
Pourquoi ça existe pas alors? :fou:

Licence, complexité tout ça
Et techniquement ça existe

Edit : le problème c'est même pas tant lire les programme qu'avoir les bonnes libs
#690207
Avatar de SidiNoel SidiNoel
En fait mon but final c'est d'arriver à mettre en place toutes les instructions ASM dans le shell de mon petit OS, ça sert à rien mais c'est fun :hap:
Pour l'instant y a que mov eax et jmp :hap:
Avatar de ntm ntm
>>PipBoy
Citation de ntm
Citation de PipBoy
Citation de ntm
Citation de SidiNoel
Citation de ntm
Difficile de coder sans lib qu'il dit https://image.noelshack.com/minis/2016/38/1474488554-jesus18.png
Reviens nous voir quand t'as créé ton propre langage de programmation pour dev ton OS sale noob http://www.templeos.org/
Apercite http://www.templeos.org/
:ok:
Sauf que je suis loin d'être un expert en prog mon khey, c'est une première pour moi. :hap:
Incline toi devant le maitre alors
http://www.templeos.org/Videos/WriteInC.mp4
Apercite http://www.templeos.org/Videos/WriteInC.mp4

>>PipBoy
Et je me demandait un truc en tant que noob.
Et ce que c'est techniquement possible un OS qui lit des fichiers et programme mac et windows?
En gros tu pourrait lancer un .exe et un programme mac sur le meme OS.
techniquement oui
Pourquoi ça existe pas alors? :fou:
Licence, complexité tout ça
Et techniquement ça existe
Ça m'interesserait beaucoup d'avoir un truc comme ça, rien que pour mon usage personnel :oui:
Mais bon se lancer la dedans c'est un boulot monstre.

Alors concrètement si t'as un mac tu fais une VM windows, si t'as un proco pas trop ancien t'auras Intel VT ou AMD V et t'auras les mêmes perfs qu'en natif
Voilà je viens de t'éviter des années de dev :hap:
Avatar de ntm ntm
>>SidiNoel
En fait mon but final c'est d'arriver à mettre en place toutes les instructions ASM dans le shell de mon petit OS, ça sert à rien mais c'est fun :hap:
Pour l'instant y a que mov eax et jmp :hap:

TOUTES les instructions ? Tu vas t'amuser :noel:
Avatar de SidiNoel SidiNoel
>>ntm
Citation de SidiNoel
En fait mon but final c'est d'arriver à mettre en place toutes les instructions ASM dans le shell de mon petit OS, ça sert à rien mais c'est fun :hap:
Pour l'instant y a que mov eax et jmp :hap:
TOUTES les instructions ? Tu vas t'amuser :noel:

C'est vrai qu'en x86 ça sera pas évident mais je peux essayer de porter mon OS sur une architecture RISC, y aura beaucoup moins d'instructions dessus, après ça sera la galère pour trouver où l'exécuter par contre :hap:

Au pire je fais que les instructions de base, mov jmp inc dec add etc :oui:
Avatar de TokamakTueur TokamakTueur
>>SidiNoel
Citation de ntm
Citation de SidiNoel
En fait mon but final c'est d'arriver à mettre en place toutes les instructions ASM dans le shell de mon petit OS, ça sert à rien mais c'est fun :hap:
Pour l'instant y a que mov eax et jmp :hap:
TOUTES les instructions ? Tu vas t'amuser :noel:
C'est vrai qu'en x86 ça sera pas évident mais je peux essayer de porter mon OS sur une architecture RISC, y aura beaucoup moins d'instructions dessus, après ça sera la galère pour trouver où l'exécuter par contre :hap:
Au pire je fais que les instructions de base, mov jmp inc dec add etc :oui:

Sinon ARM c'est du RISC et ça se trouve relativement facilement comme architecture.
Le jeu d'instruction est vraiment réduit, pas plus de 20 pour l'ARM de base !
Liste des sujets