Jump to content
actaruss

*Troll*Nouvel OS : Projet Phoenix

Recommended Posts

En tout cas, j'ai du mal à croire qu'on puisse envisager une seule seconde qu'un micronoyau réinterprétant et optimisant le code d'un noyau monolithique modulaire (Linux) soit + performant qu'un seul noyau ...

Et ensuite, pour faire tourner les jeux, il faudra que vous réinterprétiez les instructions DirectX et les appels Windows, ce qui n'est rien d'autre que Wine.

Mais je vois pas bien comment on peut apporter des idées tant le concept est spécial et que les infos ne suffisent pas à l'appréhender.

Share this post


Link to post
Share on other sites

depuis le début, je lis le truc... et franchement, j'ai trop l'impression que tu veuilles qu'on te crois.... Ton "boss" (comme tu le dit si bien) m'a l'air d'être la bête du code au monde... mais il arrive pas à sortir un petit bout de code sur le boot???

m'enfin bon.... je trouve votre idée génial, mais je pense pas que ce soit réalisable (légalité, droits, toussa....) et dire que c'est pas grave si c'est pas légale... et ben votre communauté sera d'autant plus réduite :transpi:

Share this post


Link to post
Share on other sites
Un compilateur ASM ? Ca existe ça ? Je n'ai jamais vu autre chause que des transcripteurs qui convertissent la représentation texte vers leur représentation binaire.

Comment un "compilateur ASM" pourrait optimiser les performances de ton code ? Il faudrait qu'il puisse comprendre l'intention derrière l'instruction... Ca me parrait difficile.

Oui ça existe. Ca fait quelques optimisations.

Encore que je n'aurais pou du en parler puisqu'il n'y en aura pas tellement besoin.

Pas besoin de compilateur, tout sera géré à la main.

C'est peut être plus minimal qu'une machine virtuelle à proprement parler, mais cela reste une transcription d'une représentation intermédiaire. Donc c'est bien une surcouche et cela a forcément une incidence sur la performance.

OK, si tu veux, en théorie oui c'est une surcouche. Mais tellement fine...

En tout cas, j'ai du mal à croire qu'on puisse envisager une seule seconde qu'un micronoyau réinterprétant et optimisant le code d'un noyau monolithique modulaire (Linux) soit + performant qu'un seul noyau ...

S'il est écrit en ASM, qu'il est plus optimisé, et plus adapté au matériel récent, ce sera meilleur...

Maintenant tu as raison, c'est vrai que le noyau monolithique reste le meilleur choix en terme de perfs (dans la théorie pure, après il y a tellement de paramètres qui rentrent en compte...), mais il s'agit ici d'inclure une compatibilité windows.

Et ensuite, pour faire tourner les jeux, il faudra que vous réinterprétiez les instructions DirectX et les appels Windows, ce qui n'est rien d'autre que Wine.

Wine est une couche supplémentaire qui transcrit les fonctions DirectX en fonctions OpenGL (ou d'autres librairies associées mais on va pas rentrer dans le détail...).

Ici, il s'agit de réécrire directement les fonctions noyaux de Windows pour prendre en charge les drivers afin que DirectX soit nativement prit en charge, comme sous Windows.

Il ne s'agit bien entendu surtout pas "d'émuler" ou de se taper toutes les fonctions DirectX à éplucher comme ils le font sous Wine, on est pas fou non plus...

Il y a pas mal de fonctions noyau Windows (quelques milliers), mais la plupart sont bien documentées sur la MSDN. Quant au reste, on aura notre noyau magique et le décompilateur (je sais, c'est illégal, toussa, bla bla).

Il s'agira donc de faire tourner l'ensemble

Jeux => DirectX => Noyau + Drivers => Carte graphique

directement sans intermédiaire.

Le seul obstacle qui rend cela impossible sous Linux c'est justement la structure du noyau, d'où notre choix d'un noyau hybride.

Share this post


Link to post
Share on other sites
Mais je vois pas bien comment on peut apporter des idées tant le concept est spécial et que les infos ne suffisent pas à l'appréhender.

C'est pas grave, je voulais juste être sûr que l'on ne rate pas d'idées lumineuses au passage, c'est pour ça que j'ai créé le topic pour me donner bonne conscience.

Je pense que les idées viendront à la pelle dès qu'on sortira la version test du noyau, d'ici 1 ou 2 ans.

Share this post


Link to post
Share on other sites
depuis le début, je lis le truc... et franchement, j'ai trop l'impression que tu veuilles qu'on te crois...

Non. C'est pour ça que je réponds pas aux trolls. Je voudrais des idées.

Ma hantise, c'est qu'on oublie bêtement une super bonne idée sur le bas-niveau qui aurait été mirifique...

Ton "boss" (comme tu le dit si bien) m'a l'air d'être la bête du code au monde... mais il arrive pas à sortir un petit bout de code sur le boot???

C'est une brute du coding, ça c'est indéniable.

Le boot est fait sinon, du moins la première partie. Et on développe le noyau en même temps.

Et un boot, quand il s'agit de le faire de manière complète et en ASM, ce n'est pas aussi facile que ça, et surtout c'est long. Grub contient un peu plus que 3000 lignes et il n'a pas été fait en 1 mois...

m'enfin bon.... je trouve votre idée génial, mais je pense pas que ce soit réalisable (légalité, droits, toussa....) et dire que c'est pas grave si c'est pas légale... et ben votre communauté sera d'autant plus réduite :modoreussi:

Pour tout te dire, moi non plus.

Tant que je vois pas le noyau complet, j'y crois qu'à moitié, car ce projet me semble complètement démentiel.

Quant à la légalité, c'est surtout pour ça que le boss m'a contacté, parce que j'aime bien l'ASM et parce que ma soeur est en DJCE de droit (c'est une brute).

On va de toute façon devoir essayer de rendre le truc légal, on ne peut pas faire autrement.

Je pense qu'il faudrait inclure la possibilité de graver un OS installable directement depuis un OS installé, et qu'en parallèle il faudra la possibilité de maintenir tout à jour via un "Phoenix Update" paramétrable selon plein de trucs, comme un gestionnaire de packages mais avec des fonctionnalités supplémentaires...

Cela permettra aux gens de s'échanger entre eux des trucs propriétaires...

Nous, dans la distrib, on pourra mettre des trucs redistribuables de Microsoft, mais pour les drivers et surtout les vieilles librairies (vieilles DLL de DirectX) on va être bien emmerdés...

Au pire on fera du RE et on réécrira des DLL mais ça va prendre un temps fou.

De toute façon Microsoft possède tellement de brevets complètement aberrants qu'il est impossible d'être inattaquable vis-à-vis d'eux. Quand Microsoft dit que Linux viole 147 brevets de Microsoft, c'est effectivement vrai. Mais après faut voir les brevets...

Je pense qu'on aura pas le choix, faudra tout mettre en GPLv3 et espérer que la communauté du libre nous défendra au pire. D'où l'idée de rester anonymes d'ailleurs... (faudra prendre un serveur en russie ou en pologne...) (Faudra que je pense à foutre en l'air ce topic quand le site sortira)

Share this post


Link to post
Share on other sites
PS : par curiosité, c'est quoi comme école et comme concours (celui que vous préparez) ?

Pour moi, tu vas rire, c'est le concours de l'internat de médecine. J'ai commencé dans l'info mais j'ai radicalement changé de branche tout en gardant un pied dedans, je m'oriente probablement vers l'imagerie et secteurs associés, l'info est en plein boum là-dedans. Je bosse l'info comme passion et je suis le "disciple" du boss (le chef du projet).

Le boss il fait polytech'nice sophia, j'en dirai pas plus parce qu'il tient à son anonymat.

Tout de suite, ça en impose grave Polytechnique.

Enfin ça reste "Polytech'Sophia" en fait.

Pas du tout Polytechnique (l'X) :modoreussi:

Suis bien placé pour le savoir, j'ai fait la même mais à Nantes ;)

Ça s'intègre un peu plus facilement que la vraie :dd:

Enfin c'est un "détail un peu HS".

Juste qu'il faut pas confondre :p

Share this post


Link to post
Share on other sites
PS : par curiosité, c'est quoi comme école et comme concours (celui que vous préparez) ?

Pour moi, tu vas rire, c'est le concours de l'internat de médecine. J'ai commencé dans l'info mais j'ai radicalement changé de branche tout en gardant un pied dedans, je m'oriente probablement vers l'imagerie et secteurs associés, l'info est en plein boum là-dedans. Je bosse l'info comme passion et je suis le "disciple" du boss (le chef du projet).

Le boss il fait polytech'nice sophia, j'en dirai pas plus parce qu'il tient à son anonymat.

Tout de suite, ça en impose grave Polytechnique.

Enfin ça reste "Polytech'Sophia" en fait.

Pas du tout Polytechnique (l'X) :modoreussi:

Suis bien placé pour le savoir, j'ai fait la même mais à Nantes ;)

Ça s'intègre un peu plus facilement que la vraie :dd:

Enfin c'est un "détail un peu HS".

Juste qu'il faut pas confondre :p

Polytechnique ne fait pas d'informatique de pointe ou d'ingénierie réseau à ma connaissance, mais je peux me tromper. A ma connaissance, les ingé de l'X sont plus polyvalents mais pas supra-spécialisés.

Nice est l'un des 4 pôles (avec Dijon et je sais pas les 2 autres) à proposer des formations réseau / informatique / électronique. Ce n'est donc pas si mal...

Mais c'est loin derrière moi tout ça, je peux me tromper.

Share this post


Link to post
Share on other sites

Ben y'a au moins Nantes dans le lot aussi (la toute première des "Ecoles polytechniques d'université" ).

Et j'ai pas dit que l'enseignement était pas bon hein (il m'a permit de faire ce que je voulais) mais c'est pas le top du top non plus, faut pas se leurrer :modoreussi:

Share this post


Link to post
Share on other sites
Enfin ça reste "Polytech'Sophia" en fait.

Pas du tout Polytechnique (l'X) :modoreussi:

Je crois qu'iXce a oublié de mettre les flags [humour] (et de mettre sa signature en police 24). :)

Share this post


Link to post
Share on other sites
Juste qu'il faut pas confondre :modoreussi:

Je suis au courant merci, j'étais admis à l'X *tousse* (mais l'ENS SAIMIEU)

Share this post


Link to post
Share on other sites
Enfin ça reste "Polytech'Sophia" en fait.

Pas du tout Polytechnique (l'X) :modoreussi:

Je crois qu'iXce a oublié de mettre les flags [humour] (et de mettre sa signature en police 24). :)

Oui oui j'avais compris, c'était juste pour en remettre une couche quoi. J'aurais du le faire sans quoter, enfin bon ^^'

J'ai du mal avec la subtilité aujourd'hui :dd:

PS : en effet pour la signature, mais c'est trop petit pour mes pauvres yeux ;)

Share this post


Link to post
Share on other sites
Et un boot, quand il s'agit de le faire de manière complète et en ASM, ce n'est pas aussi facile que ça, et surtout c'est long. Grub contient un peu plus que 3000 lignes et il n'a pas été fait en 1 mois...
:dd:

Sérieusement ils sortent d'où tous tes chiffres fantaisistes depuis le début ?

 $ cat $(find grub-1.96 -type f -iname '*.c') | wc -l
56822
$ cat $(find grub-1.96 -type f -iname '*.h') | wc -l
10882

On est d'accord que 70 000, c'est "un peu" plus que 3 000, mais bon :modoreussi:

Et puis grub, ce n'est pas qu'un simple bootloader hein (il sait lire plein de fs, il dispose d'un interpréteur de commandes ultra performant, il peut récupérer des images par le réseau, il peut décompresser une image avant de la loader, ...)

Share this post


Link to post
Share on other sites
Et un boot, quand il s'agit de le faire de manière complète et en ASM, ce n'est pas aussi facile que ça, et surtout c'est long. Grub contient un peu plus que 3000 lignes et il n'a pas été fait en 1 mois...
;)

Sérieusement ils sortent d'où tous tes chiffres fantaisistes depuis le début ?

 $ cat $(find grub-1.96 -type f -iname '*.c') | wc -l
56822
$ cat $(find grub-1.96 -type f -iname '*.h') | wc -l
10882

On est d'accord que 70 000, c'est "un peu" plus que 3 000, mais bon :dd:

Et puis grub, ce n'est pas qu'un simple bootloader hein (il sait lire plein de fs, il dispose d'un interpréteur de commandes ultra performant, il peut récupérer des images par le réseau, il peut décompresser une image avant de la loader, ...)

Y'a peut être 67000 lignes de commentaires, je sais pas j'ai pas regardé.

:modoreussi:

Share this post


Link to post
Share on other sites
On est d'accord que 70 000, c'est "un peu" plus que 3 000, mais bon :modoreussi:

Et puis grub, ce n'est pas qu'un simple bootloader hein (il sait lire plein de fs, il dispose d'un interpréteur de commandes ultra performant, il peut récupérer des images par le réseau, il peut décompresser une image avant de la loader, ...)

Le "un peu" était là pour ironiser, on est d'accords...

Sinon pour ce qui est du reste, il faudra que notre noyau le fasse aussi alors...

Tient à ce propos, j'avais une petite question à poser :

On voudrait bien entendu arriver à supporter un max de FS disponibles (FAT, NTFS, HFS et HFS+, ext, Reiser) pis on comblera avec des modules pour le reste. On va pas se faire chier, on va reprendre Linux pour ça.

On devra prendre ça en charge très tôt puisqu'il est prévu, pour des raisons de sécurité, que seul le noyau principal ait accès en écriture sur les fichiers.

Je voulais donc savoir, vis-à-vis des expériences que vous en avez, quel est le meilleur système selon vous ?

Moi j'aime bien ext3 mais je le trouve craignos niveau défragmentation. ext4 intègre (enfin) un défragmenteur mais quelqu'un sait-il ce qu'il vaut ? (Parce que quelque soit le système, la défrag, à force de supprimer et créer, on ne peut y échapper...)

La compatibilité Windows nous pousse à utiliser NTFS nativement par défaut car il faudra que l'utilisateur puisse par exemple lire ses disques durs externes sous un Windows, mais NTFS, on ne l'aime pas beaucoup, d'autant plus qu'on a que NTFS-3G pour cela (il supporte pas chiffrement et compression d'ailleurs)... Que faire ?

Qui plus est, NTFS apparaît comme pas super pratique pour le cryptage des disques durs, des partitions et tout ce qui est anonymat fondamental. On pourrait laisser décider lors du choix du système lors du formatage du disque dur ?

Mais comment faire pour l'utilisateur "de base" qui ne sait pas lire et juste cliquer sur le bouton le plus voyant ? On propose quoi par défaut ?

Share this post


Link to post
Share on other sites
Tient à ce propos, j'avais une petite question à poser :

On voudrait bien entendu arriver à supporter un max de FS disponibles (FAT, NTFS, HFS et HFS+, ext, Reiser) pis on comblera avec des modules pour le reste. On va pas se faire chier, on va reprendre Linux pour ça.

On devra prendre ça en charge très tôt puisqu'il est prévu, pour des raisons de sécurité, que seul le noyau principal ait accès en écriture sur les fichiers.

Hum, ça va être pratique niveau performances ça... "bonjour je suis un processus, j'aimerais écrire" "ok, je suis le module de communication avec l'userspace, je vais voir ce que je peux faire" "je suis le noyau, je vais demander au système de fichiers si c'est possible" "non c'est pas possible" "c'est pas possible" "c'est pas possible"...

Je voulais donc savoir, vis-à-vis des expériences que vous en avez, quel est le meilleur système selon vous ?

Moi j'aime bien ext3 mais je le trouve craignos niveau défragmentation. ext4 intègre (enfin) un défragmenteur mais quelqu'un sait-il ce qu'il vaut ? (Parce que quelque soit le système, la défrag, à force de supprimer et créer, on ne peut y échapper...)

Si le Fs est pensé intelligemment (i.e. sans se dire "ouh il y a de la place on va écrire"), c'est pas forcément évident.

La compatibilité Windows nous pousse à utiliser NTFS nativement par défaut car il faudra que l'utilisateur puisse par exemple lire ses disques durs externes sous un Windows, mais NTFS, on ne l'aime pas beaucoup, d'autant plus qu'on a que NTFS-3G pour cela (il supporte pas chiffrement et compression d'ailleurs)... Que faire ?

Qui plus est, NTFS apparaît comme pas super pratique pour le cryptage des disques durs, des partitions et tout ce qui est anonymat fondamental. On pourrait laisser décider lors du choix du système lors du formatage du disque dur ?

Mais comment faire pour l'utilisateur "de base" qui ne sait pas lire et juste cliquer sur le bouton le plus voyant ? On propose quoi par défaut ?

Je pense que tu mets la charrue avant les boeufs. Aie un noyau qui fonctionne, et tu pourras réfléchir sereinement au système de fichiers par défaut.

Share this post


Link to post
Share on other sites
On est d'accord que 70 000, c'est "un peu" plus que 3 000, mais bon :modoreussi:

Et puis grub, ce n'est pas qu'un simple bootloader hein (il sait lire plein de fs, il dispose d'un interpréteur de commandes ultra performant, il peut récupérer des images par le réseau, il peut décompresser une image avant de la loader, ...)

Le "un peu" était là pour ironiser, on est d'accords...

Ah je comprends mieux, c'était pour ironiser.

Comme la partie sur le C++ catastrophique dans le noyau, c'était pour ironiser également ?

- Linux est un système d'exploitation de vieil informaticien, fait par des gens pas non plus super-bons en info (le C bas niveau est bien maîtrisé, mais le niveau de maîtrise du C++ et de l'ASM est catastrophique), mais qui a l'avantage d'être très modulable.

10343 fichiers .c
9422 fichiers .h
994 fichiers .S
703 fichiers .txt
79 fichiers .dts
55 fichiers .gitignore
[...]
0 cpp
0 c++

(linux-2.6.27.2)

Share this post


Link to post
Share on other sites

Mouhahaha... Bonne chance pour maintenir ces quelques millions de lignes de codes... Ha, j'oubliais, vous être quand même 2 !

Ce que j'aime, c'est que y'a presque plus d'explications sur les trucs encore loin de devoir être imaginé (tel que l'interface graphique), que sur les fondations techniques...

Tiens, je crois voir tes chevilles par ma fenêtre...

Share this post


Link to post
Share on other sites
De toute façon Microsoft possède tellement de brevets complètement aberrants qu'il est impossible d'être inattaquable vis-à-vis d'eux. Quand Microsoft dit que Linux viole 147 brevets de Microsoft, c'est effectivement vrai. Mais après faut voir les brevets...

Tiens, toi qui est si bien renseigné : show us the code!

Comme ça on pourra refiler ça à Linus et toute la troupe histoire qu'ils ne soient plus violés après. ;)

Share this post


Link to post
Share on other sites

quelle bonne idée de faire cela en assembleur, comme cela dans quelques années s'il en sort un jour quelque chose (on ne sait jamais, peut-être que vous être plus doué à vous deux que tous ces milliers de bras cassés d'informaticiens incapables de sortir un OS potable...) et que c'est si bien, quand M. Apple ou M. Nokia ou M. Google va dire "c'est génial votre OS, je veux le même sur notre téléphone / sur notre plateforme embarquée, on vous en donne xxx millions d'euros, j'espère que vous pouvez le porter facilement sur un processeur ARM ou MIPS ou CELL ?" , que répondrez-vous ?

Share this post


Link to post
Share on other sites
quelle bonne idée de faire cela en assembleur, comme cela dans quelques années s'il en sort un jour quelque chose (on ne sait jamais, peut-être que vous être plus doué à vous deux que tous ces milliers de bras cassés d'informaticiens incapables de sortir un OS potable...) et que c'est si bien, quand M. Apple ou M. Nokia ou M. Google va dire "c'est génial votre OS, je veux le même sur notre téléphone / sur notre plateforme embarquée, on vous en donne xxx millions d'euros, j'espère que vous pouvez le porter facilement sur un processeur ARM ou MIPS ou CELL ?" , que répondrez-vous ?

Ils répondront que y a pas de pb, que les dév. Apple/Nokia/Google, c'est rien que des bras cassés et que eux 2 vbont te plier ça en 5 minutes, le temps de copier/coller les sources depuis leurs clé USB ;)

Share this post


Link to post
Share on other sites

Histoire de t'enlever une épine du pied concernant les brevets de microsoft, les brevets logiciels ne sont pas reconnus en europe :-)

Ce ne sont que des bouts de papier sans valeur ici.

Share this post


Link to post
Share on other sites
Popular

Helpful

Operating

Environment

Non

Inherited from

linuX

est le nom (temporaire ?) du projet.

Si vous avez une meilleur idée de nom ou d'acronyme pour Phoenix

Prétentieux nous ?

Houlala

On

Est

Noobs en

Informatique mais on va vous sortir un OS digne de

X-Files

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...