IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Apprendre à programmer un système d'exploitation : avec quel langage ?


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Par défaut Apprendre à programmer un système d'exploitation : avec quel langage ?
    On peut voir que les systèmes d'exploitation tel que les UNIX ou Windows ont été développé en C. Ma question est donc la suivante :

    Quel langage peut-on utiliser pour développer un système d'exploitation ?

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    essaies de savoir en quoi était développé VMS... tu seras surpris


    pour infos, java est un joli mot, mais il y a pas mal de bindings vers le C/C++ via la JNI... et il est probable qu'en fait tous les morceaux critiques de leur OS seront en C
    si tu as un lien vers ce projet, je suis preneur
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Par défaut
    Oui, je viens de lire un articles en arabe qui dit que JAVA n'est pas fait pour attindre un niveau bas de la machine, contrairement au C!
    Mais il n'ya rien d'autre pour créer un système d'exploitation que C?!!

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par overon
    Mais il n'ya rien d'autre pour créer un système d'exploitation que C?!!

    lis mieux ma réponse précédente... et tu trouveras
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Rédacteur en Chef
    Avatar de Marc Lussac
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Mars 2002
    Messages
    28 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2002
    Messages : 28 683
    Par défaut
    Le langage Machine

    01100001000001110001110001
    Ne pas me contacter pour le forum et je ne répondrai à aucune question technique. Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

    15 000 offres d'emploi développeurs et informatique
    Cours et tutoriels développeurs et informatique
    Les FAQ's & Les Livres
    Codes sources
    Téléchargements

  6. #6
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Le système d'exploitation des machines SUN est fondé sur le système UNIX qui a été développé plusieurs décénnies avant que JAVA n'existe... Donc pas de soucis là dessus, l'OS de SUN n'est pas écrit en JAVA (à moins d'une faille spatio-temporelle ... ).

    JAVA est beaucoup trop lent pour être utilisé pour un OS. Le seul autre langage possible étant l'ASM.

    Mais là, il ya tellement de version différentes que l'on ne pas comparer un ASM skip à un ASM vizir (Non c'est décidé, je garde le mien ).
    Certains étant quasiment comme du C.

  7. #7
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par mchk0123
    Le seul autre langage possible étant l'ASM.

    je ne suis pas d'accord, et plusieurs grands OS ont été écrits ni en asm, ni en C (ni avec un mixte des deux)



    perso, je dirais juste les premières versions de MacOS et VMS...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  8. #8
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    sur quel système ?

    unix -> c

    windows -> aucune idée, je dirais c++
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  9. #9
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 24
    Par défaut
    Je crois que j'ai mal formulé ma question, je veux dire que je veux apprendre à programmer des systèmes d'exploitation, alors quels langages?!


    Merci pour vos repoances

  10. #10
    Rédacteur en Chef
    Avatar de Marc Lussac
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Mars 2002
    Messages
    28 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2002
    Messages : 28 683
    Par défaut
    Langage C

    Tu trouvera tout pour le langage C ici : http://c.developpez.com/
    Ne pas me contacter pour le forum et je ne répondrai à aucune question technique. Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

    15 000 offres d'emploi développeurs et informatique
    Cours et tutoriels développeurs et informatique
    Les FAQ's & Les Livres
    Codes sources
    Téléchargements

  11. #11
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par Marc Lussac
    Langage C

    Tu trouvera tout pour le langage C ici : http://c.developpez.com/

    toutefois, il y aura certainement quelques petits morceaux en assembleur, pour effectuer des opérations tel que la préemption



    tu peux lire ces tutos http://pagnotte.developpez.com/cours...-exploitation/
    http://pellegrini.developpez.com/systemes-exploitation/

    ça te donnera une idée de ce qu'il faudra que tu fasses
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  12. #12
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Pour résumer : Assembleur et C (c++ je ne pense pas que ce soit une bonne idée pour demarrer)

  13. #13
    Membre extrêmement actif
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 221
    Par défaut
    Salut à tous !

    Je rectifie ce que j'ai dit : c'est C/C++ qui est selon moi le plus approprié mais surtout le plus utilisé pour écrire des OS, surtout le C car ce langage approche surtout la programmation noyau mais C++ a l'avantage d'utiliser la notion d'objet, le développement d'OS fait de nos jours abstraction aux matériels (pas une abstraction totale mais à 90 %) surtout aujourd'hui où les nouveaux OS sont obtenus en bidouillant le code source gratuit de LINUX.

    Je ne connais pas vraiment l'histoire des systèmes d'exploitation mais avec quel langage et quel IDE les OS suivants ont été développés pour la 1ère fois et actuellement:
    - UNIX
    - MAC OS
    - Windows
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  14. #14
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Par défaut
    En fait par OS, il faut différencier noyau et applications.

    Pour moi, la charge du noyau, c'est de supporter le code des applications. Le noyau ne peut pas être écrit autrement qu'en assembleur (au début au moins) simplement parce qu'il n'y a pas de noyau pour supporter les applications pour parler à une machine, au début on est obligé de comprendre son langage assembleur, sinon ça ne marchera jamais.

    Le noyau a besoin, par définition, d'un langage proche de la machine, et par définition l'ASM est fait pour ça. Ensuite, il est certain que de maintenir un noyau en ASM est complétement impossible, on passe alors à un degré d'abstraction supplémentaire en utilisant le C.

    Mais le C++ est bien trop abstrait (ne serait-ce justement que par ses mécanismes objet) pour permettre de l'utiliser dans la programmation d'un noyau à mon avis. Ou alors, il ne faut pas utiliser le C, et utiliser directement le C++, mais à mon avis c'est périlleux d'interfacer du C++ avec de l'ASM. Ce sont déjà deux langages trop différents.

    Donc je crois que le C, qui a ds liens forts avec l'ASM, est le seul langage évolué qui permet de coder un noyau, donc un OS.

  15. #15
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par kromartien
    Donc je crois que le C, qui a ds liens forts avec l'ASM, est le seul langage évolué qui permet de coder un noyau, donc un OS.

    je crois bien que les Mac ont eu un noyau codé en Pascal a une époque
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  16. #16
    Membre Expert
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Par défaut
    Citation Envoyé par gorgonite
    je crois bien que les Mac ont eu un noyau codé en Pascal a une époque
    Le fait qu'ils aient abandonner l'idee signifie peut-etre qqchose

  17. #17
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par Anthony.Desvernois
    Le fait qu'ils aient abandonner l'idee signifie peut-etre qqchose

    ça signifie surtout qu'ils sont passé sur un noyau Unix...
    pascal peut être aussi pas niveau que le C, et les appels asm y sont tout aussi "élégants"
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  18. #18
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Par défaut
    Citation Envoyé par gorgonite
    je crois bien que les Mac ont eu un noyau codé en Pascal a une époque
    Je m'excuse pour mon inculture

    Ceci dit , il est vrai que je crois que un langage dédié à la programmation d'OS se doit de pouvoir être interfacé avec de l'ASM, sans quoi ce n'est pas facile.

    Enfin il faut toujours garder à l'esprit qu'il y a des raisons techniques à utiliser tel ou tel langage, le C a démontré son efficacité dans le domaine. Tout langage compilé peut satisfaire, à condition qu'il possède une méthode d'interfaçage ASM.

    C'est un peu aussi le dilemne de la poule et de l'œuf. qui est venu le premier ?

    Pour l'utilisation du C , je crois que le fait que ce soit un langage proche du bas-niveau, lui donne une souplesse particulière et permet les optimisations plus que le C++.

  19. #19
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    je dirais c'est surtout quel serait l'intérêt à part d'être "dans la mode" d'utiliser autre chose que ce qui a fait ses preuves et est selectionné par l'expérience comme étant le langage de développement des OS ??

    Le langage objet n'est qu'une facilité pour le programmeur. Dans le cas du développement d'un OS, comme cela a été dit plus haut, on s'en fout pas mal de savoir si c'est facile à coder ou pas. Ce qu'on veut c'est que l'interaction avec la machine se fasse le mieux et le plus rapidement possible.....

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/11/2010, 01h37
  2. Détection de système d'exploitation avec SWT
    Par villoutj dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 02/10/2009, 09h13
  3. programmation réseau avec quel langage
    Par nasdj dans le forum Développement
    Réponses: 4
    Dernier message: 05/01/2008, 21h37
  4. Déterminer avec quel langage un .exe a été programmé
    Par Chatbour dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 30/08/2007, 23h57
  5. Avec quel langage débuter en programmation ?
    Par spectrum1984 dans le forum Débuter
    Réponses: 10
    Dernier message: 28/12/2003, 21h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo