Créer son OS avec un noyaux UNIX

Résolu
Cléclé66 Messages postés 182 Date d'inscription   Statut Membre Dernière intervention   -  
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Déjà je tiens a préciser, je sais programmer en C (et au passage en C++ aussi, le mec qui se la pète pas trop xD).

Bref, voila je voudrais programmer un OS (commencer hyper simple) avec un noyaux UNIX déjà prêt. Par exemple juste faire une console qui permet de gérer le disque dur.

Voila je veux pas commencer à partir dans l'interface graphique avec une super optimisation, je sais ce que sont les gros projets.
A voir également:

2 réponses

[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Salut Cléclé66,

Si tu veux utiliser un noyau déjà prêt, comme le noyau Linux, celui-ci implémente déjà les contrôleurs de disques, les systèmes de fichiers, la gestion de la mémoire, les contrôleurs réseau, etc., et tu n'auras pas à programmer ces aspects, puisqu'ils font partie du noyau.

Cela dit, arriver à un système fonctionnel en mode console, même en partant d'un noyau tout prêt, n'est pas non plus une tâche triviale.

Si c'est cela que tu veux faire, tu as une ressource extraordinaire : Linux From Scratch : http://www.linuxfromscratch.org/lfs/view/stable/

Tu apprendras plein de choses sur l'articulation et le fonctionnement d'un système Linux.


Dal
4
Cléclé66 Messages postés 182 Date d'inscription   Statut Membre Dernière intervention   77
 
Merci beaucoup pour ton lien c'est exactement ça que je cherchais ;)
0
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
Bonjour
Personnellement c'est une bonne idée d'essayer de s'attaquer à la création d'un fork Linux ou Unix, mais ça reste pas moins un domaine qui exige non pas que tu saches très bien programmer en langage C ou langage C++ comme il se doit mais, aussi connaitre la programmation système et autres annexes qui gravite autour.
Ceci dit tout n'est pas non plus fait en langage C, il te faudra en plus et parfois pour des raisons utiles à optimiser certains codes ou en ajouté, tu devras non seulement à ce moment-là écrire du code en langage C mais aussi en assembleur correspondant à ton architecture sur le qu'elle tu développes ton système d'exploitation ( j'en sais quelques choses ) même-si la bonne approche reste et effectivement ce que @dal préconise, il ne reste pas moins certaines options du développement qui doit être faite par le développeur.
Ceci dit, en nous disant savoir très bien connaitre notre cher ami le C peux-tu nous dire ce que tu sais déjà faire en langage C ?
à bientôt
2
Cléclé66 Messages postés 182 Date d'inscription   Statut Membre Dernière intervention   77
 
Merci ouais je connais pas mal de langage (Java, php, python et VB.Net) mais ayant beaucoup d'expérience dans les gros projet je comprends et suis tout a fais d'accord que créer un OS (même hyper simple) sois long ^^
0
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
Bonsoir
Tu n'as pas compris ce que l'on essaye de te dire du moins ce que j'essaie de te faire comprendre. Le fais de connaitre un langage où en pratiquer plusieurs ne fais pas de toi un expert loin de là, même moi je me plante très souvent.
La conception d'un système d'exploitation demande pas mal de notions non seulement le plus élémentaire mais les plus rigoureuses qu'il soit.
As-tu déjà pratiqué la programmation système type Unix Gnu/Linux ou Windows ?
Je dis ça, parce que, tout ce que l'on sait de ce que tu as mentionné, sont tes connaissances de certains langages de programmations et rien d'autre. Je ne dis pas que tes pas capables mais à tu les connaissance suffisante .
de plus tu n'as pas vraiment répondu à ma précédente question "peux-tu nous dire ce que tu sais déjà faire en langage C ? "
à bientôt
0
Cléclé66 Messages postés 182 Date d'inscription   Statut Membre Dernière intervention   77
 
Oui je sais merci j'ai une entreprise d'hébergement (d'ailleur faut que je change mon pseudo de y a je sais pas combien de temps qui fais kikou xD), bref j'ai bien étudié le fonctionnement des différent OS niveau Linux mes machines sont sous debian 7, je me suis déja amusé avec backtrack (bouuuuh).
Voila c'est pas le soucis c'est juste qu'il me manquait une piste comme ce lien : http://www.linuxfromscratch.org/lfs/view/stable/
0
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
Désolé, mais quel est le rapport avec une entreprise qui fait de L'hébergement, et la connaissance du fonctionnement d'un système d'exploitation ?
Enfin, je saisis pas vraiment !.

La conception d'un système d'exploitation est légèrement différente ( voir totalement distinct) de ce que tu fais actuellement.
On parle ici de création d'un système d'exploitation donc utilisation de la programmation pour concevoir un système où en définir un autre en utilisant les bases d'un système déjà conçu et non l'utilisation des logiciels d'hébergements, ou l'administration d'un serveur voir tout simplement l'administration d'un système d'exploitation et encore moins de scriptes.

Que tu utilises Kali (anciennement backtrack) n'impressionnes personne et ça prouve juste que tu n'as pas vraiment des compétences en programmation, d'ailleurs il y a bien meilleure distribution que Kali, et je ne vois pas là où tu veux en venir bref.

je me répète mais, certes tu peux connaître le fonctionnement d'un système d'exploitation mais en crées c'est une autre paire de manches et d'ailleurs le lien que @Dal t'a donné un lien te permettant de commencer par des bases déjà existantes, le reste c'est à toit de patcher et déjà si tu maîtrises pas la programmation en langage C particulièrement tout ce qui est notion système, tu va vite embaucher du personnel pour le faire à ta place.
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Salut sambia39,

Je crois que tu parles de quelque chose d'autre que ce que Cléclé66 veut faire. Il ne veut pas créer un système d'exploitation à partir de rien, mais utiliser un noyau préexistant (tel que Linux).

Cette démarche correspond à celle de Linux From Scratch, qui utilise le noyau Linux, et aussi les outils GNU et programmes libres que l'on trouve habituellement dans une distribution, pour construire un système minimal, à partir des sources, à commencer par les outils de la chaîne de compilation qui sont compilés (le linker, l'assembleur et autres outils de Binutils, puis gcc lui même), et la compilation et installation du reste dans un ordre précis compte tenu des dépendances.

La connaissance et pratique des outils GNU intervenant dans la chaîne de compilation est nécessaire, pour bien interpréter les instructions données, mais pas vraiment une connaissance poussée du langage C ou d'un autre langage de programmation. Il s'agit de compiler des sources existants, et d'utiliser des scripts (principalement Bash) déjà faits.

Les compétences adéquates seraient plutôt : des compétences poussées en administration système Linux (ce que devrait avoir Cléclé66 s'il administre lui-même des serveurs d'hébergement Debian à des fins professionnelles), bien maîtriser l'anglais technique, avoir du temps, de patience et la détermination d'apprendre et d'aller ou bout.

L'objectif de LFS est essentiellement éducationnel. Une fois LFS construit, si on veut l'utiliser en production, il faudra alors le faire vivre et patcher les programmes ayant besoin de l'être selon les problèmes de sécurité détectés.


Dal
0