Posté(e) le 25 juillet 200618 a Bonjour à tous ! Je viens à peinde franchir la ligne qui me démarque de mon univers habituel pour m'initier et tenter de survivre dans ce nouveu domaine (pour moi du moins! ) qu'est la programmation. Le truc c'est que le but que je vise est de pouvoir un jour faire un OS comme UBUNTU, et je me demande bien par où commencer; s'il est vrai qu'à chaque langage, un complilateur ! Comment faut - il s'y prendre ?! Plusieurs exempes sont dispo pour ce qui est des OS en ligne (youos, eyeos, etc), dont je loue l'initiative ; faut - il reprendre la même logique ?! remarque : leurs communautés respectives sont très actives, ce qui en facilite le l'amélioration. Bref ... Une idée ?! Mille merci déjà ! Modifié le 2 septembre 200618 a par zahnderz
Posté(e) le 25 juillet 200618 a Oulà tu commences fort toi ! Si j'ai bien compris : tu n'as aucune notion de programmation et tu veux commencer par développer un OS ? C'est ça ? Si c'est le cas mets la barre plus bas ! ... Tu demanderais quand même pas à un apprenti en bâtiment de commencer par construire seul un immeuble de 100 étages (exemple pourri ) ...
Posté(e) le 25 juillet 200618 a Tu as un beau rêve (que tout programmeur souhaite au plus profond de soi), mais un rêve qui restera peut-être toujours un rêve. Ce n'est pas que je veuille te décourager, mais faire soit même un OS digne de ce nom demande énormément de boulot. Le plus souvent ça se calcule en années. Le plus simple serait soit de partir d'une base déja existante et de la modifier à ta guise. Il suffit de regarder le nombre de modifications de Debian que l'on trouve sur le net par exemple (Ubuntu, Knoppix, etc....). Sinon, une alternative serait de joindre un projet déja existant, afin d'aider, proposer tes idées, etc... Pour ce qui est des OS en ligne, ce ne sont pas de vrais OS, mais des applications javascript disponibles à partir de ton navigateur. Je te donne tous ces conseils car si tu veux vraiment te lancer, il te faut avoir un minimum d'expérience. Voila en tout cas bonne chance, et bienvenue dans le monde de la programmation.
Posté(e) le 25 juillet 200618 a Alors au début, il n'y avait rien. Puis Dieu à dit "Boot!", et l'os "boota": jmp start; Jump over BIOS parameter block start:;The label for the start of the actual program push cs;Put cs onto the stack pop ds;Take it out and put it into ds mov si,Print_loading;Print loading message call printstring ;Call is like jump, but it goes back. Like a function ;The complicated bit: Loads the next program mov ah,02h ;When ah=, int13 reads a disk sector mov al,4 ;Al is how many sectors to read mov ch,0 ;The track to read from mov cl,2 ;Sector Id mov dh,0 ;Head mov dl,0 ;Drive (0 is floppy) mov bx,0x1000 ;Es and Bx put together are where to load the program too (see jmp 0x1000:0x00) mov es,bx mov bx,0x00 int 13h ;Int 13 is all functions for disks mov si,putdot ;Print a ".". call printstring jmp 0x1000:0x00 ;Run Bootinit from stack. printstring: ;Print string routine. mov ah,0eh ;Mov ah into 0, so int 10 prints stringloop: ;The following code loads each seperate charcter so it can be printed lodsb cmp al,00 ;If al =0, then the string has all been loaded je endstring int 10h ;When int 10 is called, and ah=, it prints jmp stringloop endstring: ret ;Ret returns putdot db '.',0 Print_loading db 13,10,'Loading Easy OS v0.01a...',0 times 425 db 0;wastes 425 bytes on purpose, so the sector is full (The program must be 512 bytes long) Voila aprés y'a plus qu'a coder. (la suite sur http://www.groovyweb.uklinux.net/index.php...your%20own%20os )
Posté(e) le 25 juillet 200618 a Alors au début, il n'y avait rien. Puis Dieu à dit "Boot!", et l'os "boota": jmp start; Jump over BIOS parameter block start:;The label for the start of the actual program push cs;Put cs onto the stack pop ds;Take it out and put it into ds (...) Print_loading db 13,10,'Loading Easy OS v0.01a...',0 times 425 db 0;wastes 425 bytes on purpose, so the sector is full (The program must be 512 bytes long) Voila aprés y'a plus qu'a coder. (la suite sur http://www.groovyweb.uklinux.net/index.php...your%20own%20os ) Ah, l'assembleur....Qu'est-ce que j'ai pû en chi*r avec ça en BTS (assembleur 68000)... May the Force be with you... Modifié le 25 juillet 200618 a par gvos_net
Posté(e) le 25 juillet 200618 a Ah, l'assembleur....Qu'est-ce que j'ai pû en chi*r avec ça en BTS (assembleur 68000)... May the Force be with you... Ah c'est sur qu'on en chie... Mais c'est comme apprendre le Lisp: même si c'est un langage bof bof pour coder, c'est different et ça t'apprend donc à penser differement.. Ce qui est très important. Dans mon école, j'ai appris qu'ils avaient arreté de donner des cours d'assembleur après que je sois parti.. c'est nul!
Posté(e) le 25 juillet 200618 a Ah, l'assembleur....Qu'est-ce que j'ai pû en chi*r avec ça en BTS (assembleur 68000)... May the Force be with you... Ah c'est sur qu'on en chie... Mais c'est comme apprendre le Lisp: même si c'est un langage bof bof pour coder, c'est different et ça t'apprend donc à penser differement.. Ce qui est très important. Dans mon école, j'ai appris qu'ils avaient arreté de donner des cours d'assembleur après que je sois parti.. c'est nul! Ils l'ont remplacé par l'apprentissage du BrainF*ck ? Non ? Ah, dommage...
Posté(e) le 25 juillet 200618 a Ils l'ont remplacé par l'apprentissage du BrainF*ck ? Non ? Ah, dommage... Nan du Chef ^^ ( http://www.dangermouse.net/esoteric/chef.html )
Posté(e) le 25 juillet 200618 a Ils l'ont remplacé par l'apprentissage du BrainF*ck ? Non ? Ah, dommage... Nan du Chef ^^ ( http://www.dangermouse.net/esoteric/chef.html ) Rien compris à comment ça fonctionne
Posté(e) le 25 juillet 200618 a Rien compris à comment ça fonctionne C'est pas trop dur.. tu as N bols, qui sont en fait des listes chainées. Tes "ingredients" sont des variables, et les diverses étapes de la recette sont les fonctions: ajouter un élément dans le bol N°x, retirer un element, mélanger les elements, les afficher, en enlever un, les additionner, etc... C'est cute je trouve ^^
Posté(e) le 25 juillet 200618 a Oulà tu commences fort toi ! Si j'ai bien compris : tu n'as aucune notion de programmation et tu veux commencer par développer un OS ? C'est ça ? Si c'est le cas mets la barre plus bas ! ... Tu demanderais quand même pas à un apprenti en bâtiment de commencer par construire seul un immeuble de 100 étages (exemple pourri ) ... L'exemple n'est pas si mauvais que ça et montre bien que ce tu veut faire est impossible pour quelqu'un qui n'as pas ou qui n'as presque pas de bases en programmation... Donc comme il a été dit, le mieu est de rejoindre un projet ou d'en monter un, mais de ne pas faire ça tout seul.
Posté(e) le 25 juillet 200618 a Auteur Mille merci "FiP_"; je crois ke ui, mon rêve en est de ceux qui se compte en années, en siècle même; mais je suis pas de nature à laisser tomber. Donne - moi une estimation stp : il faut 10 ans, 50 ans ?! quand on voit que monsieur Gates (c'est pas le bon exemple, je sais) l'a fait à ses début! ! Bref, Pour ce qui est de rejoindre une team, j'aimerai bien causer avec les gens du projet "SKAN", mais j'ai pas encore trouvé le temps. Mais je continue de vouloir; si j'ai déjà une séquence pour booter (encor merci "FiP_"), je peux bien l'enrichir avec autre chose. Et oui je suis nul dans le domaine parce que je viens de commencer, mais je me laisse 1 ans pour apprendre l'ASM (j'ai bien appris le bricolage maison ke les gens qualifient de "maintenance" !)...
Posté(e) le 26 juillet 200618 a Je sais pas, il doit falloir deux ou trois années pour réaliser un OS, mais dans un projet. Peut être qu'un jour on auras un OS PCI.
Posté(e) le 26 juillet 200618 a Beaucoup + intéressant que de réaliser un OS, trouver un nouveau concept d'OS... A quoi bon refaire un OS qui soit identique à un qui existe déjà ? Par contre, tu peux essayer de trouver THE idée qui peut accessoirement te rendre milliardaire ...
Posté(e) le 26 juillet 200618 a La dessus fabien tu n'as pas tords, mais si il veut faire un OS, il peut déja en étudier, comprendre plus ou moins les mécanismes, et Linux est bien pour ça :) Sinon vive l'assembleur x86, c'est vraiment du pur bonheur :) (je plaisante)
Posté(e) le 26 juillet 200618 a Et bien en tous cas, je salue ton courage :) Apprendre à réaliser un OS est tres formateur, mais linux et windows sont des produits assez aboutis, et il n'est pas forcement simple de comprendre "comment ca marche". Comme disais le pere de linux torvald (papa torvald donc), à l'époque ou son fils était jeune l'informatique était beaucoup plus simple, une seule personne ou presque pouvait comprendre comment tout fonctionnait. Mais tu risque peut etre de perdre du temps à tenter de commencer un OS complet, tout seul... Lance le projet entre amis, ou inspire toi de travail d'autres personnes qui ont elles aussi tenté l'expérience. Je me souviens d'un os tenant sur une disquette (c'etait avant les clé usb et les mini distrib linux... oui je sais et je vous merde), je vais essayer de te retrouver le nom. >>MAJ: bon pas trouvé, j'ai mis des liens à la fin. Niveau lecture, je te conseille "Systèmes d'exploitation" par Andrew Tanenbaum, très bon ouvrage.. (et la couverture est amusante). L'auteur explique le fonctionnement d'un OS, les difficultées rencontrées (gestion de la mémoire, des peripheriques, de la sécurité...), et compare le mode de fonctionnement d'un linux (je ne sais plus lequel) et d'un windows (2000). http://www.amazon.fr/gp/product/2744070025...ce&n=301061 A voir aussi: De petits OS: http://kos.enix.org/otheros.php?lang=en Code your own OS http://www.openbg.net/sto/os/ (c'est bien ca te fera travailler ton anglais aussi... Do you speak english? Yes I speak Linux/assembly kernel coding english! ) Oh et puis.. google est ton ami: http://www.google.fr/search?q=small+OS&...:en-US:official
Posté(e) le 26 juillet 200618 a le premier os sur lequel j'ai bossé : GEOS[1] sur une disquette 5"1/4 ça devrait être facile à décortiquer... non ? ah, on me fait signe que non... sérieusement, lis le Tannenbaum, et je pense que tu comprendras la difficulté du projet. Le noyau de linux contient plusieurs millions de lignes de code, et ce n'est qu'un noyau... Si tu rajoute tout ce qui fait qu'unbuntu est joli et tout et tout, ça fait des milliers de milliards de lignes de code. À tel point que si tu voulais tout taper tout seul, il te faudrait plusieurs siècles, à mon avis... Bref, aujourd'hui plus personne ne développe son OS from scratch tout seul. Il est bien plus intéressant d'avoir une idée géniale, comme le dit fabien, et essayer de monter une équipe pour la réaliser. Mais pour avoir une idée géniale en matière d'OS, il faut avoir beaucoup de connaissances, et pour avoir beaucoup de connaissances, il faut apprendre... lis le Tannenbaum, gave toi de wikipédia (qui est extremement bien foutu pour l'info), tu verras de quoi je parle [1] http://en.wikipedia.org/wiki/GEOS_%288-bit...ating_system%29
Posté(e) le 26 juillet 200618 a sérieusement, lis le Tannenbaum, et je pense que tu comprendras la difficulté du projet. Le noyau de linux contient plusieurs millions de lignes de code, et ce n'est qu'un noyau... Oui voila. comme ils disent les gens. ---- La Chine est en train de devenir un pays de non-droit, comme la France.
Posté(e) le 26 juillet 200618 a Le tanenbaum est un peu la bible de l'OS Il décortique pas mal. J'ai jamais eu le courage de tout lire, mais je l'ai souvent feuilleté. Si tu veux vraiment te lancer là dedans, commence par comprendre tous les tenants et aboutissants d'un OS. La programmation et le code, c'est secondaire et ce n'est pas ça qui fait un OS (c'est le calcium :coucou: Baldurien) Décortique les vieux OS et retires-en la moëlle : tu verras que tous les OS ont une philosophie différente. Bonne chance, et tiens nous au courant. Si tu trouves une idée d'OS révolutionnaire, reviens par ici, je pense qu'il y aura du monde pour pisser du code avec toi ::
Posté(e) le 26 juillet 200618 a Auteur Excusez - moi tout le monde; il se trouve que THE IDEA n'est pas facile à trouver ou pas difficile du tout, dépendant de ce qu'on a en tête, fabien29200 et je ne crois pas être assez fou pour me lancer dans l'avanture seul. Le hic est que là où je suis ya personne de suffisament compétent (me demander pas où je suis, c'est un trou perdu sur la carte). Bref; je vais essayer de me procurer le bouquin et plonger dans wikipedia, on verra la suite ... mais au fait, pendant que j'y pense : Si avec de l'ASM on boot, avec quoi est - ce qu'on fait le reste ?! Et à la fin, puisque chaque langage à un éditeur/compilateur, comment fait - on pour que le tout tienne ?! Mille merci à tout le monde, c'est vraiment génial !
Posté(e) le 26 juillet 200618 a Déjà, Gates, c'est un mauvais exemple. Gates parce qu'il n'a rien fait à la base, il a repris le CP/M (Puis QDOS) et il a bossé dessus. Par ailleurs, un OS à l'époque, c'était DOS, CP/M, powershell... C'est un peu plus light que les OS qu'on a aujourd'hui. Si tu veux vraiment faire un OS, tu peux commencer par installer une gentoo et comprendre comment ça fonctionne. Le mieux étant carrément de se mettre une LFS (linux from scratch). Ensuite peut être suivre les devs du kernel, suivres quelques projets intéresants proches du système comme udev, hotplug, toussa. Tu peux aussi regarder comment fonctionne le matos de ton PC (ram, dd, proc, ...) et comment c'est géré par l'OS (pagination/segmentation, first/best/worst fit, interuptions, ...). Quelques vidéos qui pourraient t'intéresser : http://free-electrons.com/communaute/videos/conferences Regarde les premières vidéos, celles de la partie "voyage à l'intérieur d'un système d'exploitation" Bien sûr il y a le Tanenbaum qui fait toujours figure de référence. Bon courage. Tiens, je laggues, j'ai loupé les 10 derniers posts au moins...
Posté(e) le 27 juillet 200618 a Woaw, ça s'est tenu à Vandoeuvre-les-Nancy ce truc (5 minutes de chez moi). J'ai dû rater un truc sympa là....(ou pas....parce que trop balaise peut-être...).
Posté(e) le 27 juillet 200618 a Auteur Mille merci tout le monde; je pense que oui, avc la "biblle" des OS et toutes les indications que j'ai ici, je peux très bien me lancer, et rendez - vous dans 7 ans sûrement (mon chiffre préféré); mais au fait fabien, qu'est - ce que t'entends par OS révolutionaire ?! Remarque, MacOS X est très bien pour sa vue imprenable (dont les gens de chez Redmon piquent souvent les concepts!), Ubuntu je sé po trop, à part sa fiabilité, sa sécurité, le support aujourd'hui étendu dans le temps, crosoft n'en parlons même po (pa personnalisable à souhait) etc... J'en ai déjà des tas d'idées pour ce qui est des petits +, mais cela reste des "petits" +; ensuite on verra... Si je sais déjà m'en faire un, résultant des existants, je pourrai facilement me trouver mon chemin... Mais ma dernière question : Si avec de l'ASM on boot, avec quoi est - ce qu'on fait le reste ?! Et à la fin, puisque chaque langage à un éditeur/compilateur, comment fait - on pour que le tout tienne ?!
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.