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

  1. #101
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    est ce que je peux avoir les codes source d UNIX ? si oui ou ?

  2. #102
    Membre éprouvé

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Points : 1 111
    Points
    1 111
    Par défaut
    Citation Envoyé par leopard261 Voir le message
    est ce que je peux avoir les codes source d UNIX ? si oui ou ?
    Télécharge un kernel Linux, sinon télécharge les sources de Minix, qui sont tous deux des Unix-like d'après ce que je sais. De plus, minix a une vocation pédagogique pour l'enseignement du fonctionnement des systèmes d'exploitation unix-like.
    http://www.minix3.org/
    http://www.kernel.org/

  3. #103
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Pour le vrai UNIX il y a le très fameux Lions' Commentary on UNIX 6th Edition, with Source Code.

  4. #104
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Pour le vrai UNIX il y a ...
    Les UNIX c'est comme les blondes, il a les fausses et les vraies ?

  5. #105
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Moi j'ai une question qui me trotte dans la tête depuis pas mal de temps : vous parlez tous de systèmes en ASM + C. Pour moi, le C, on le donne à un compilateur + linker et on obtient un éxécutable format PE. Ma question est la suivante : il me semble qu'un processeur ne peut comprendre que l'assembleur, hors, comment peut-on utiliser le C pour faire un système d'exploitation dans ce cas ? Est ce qu'il faut programmer un interpréteur dans le noyau de l'OS en ASM qui va traduire notre code C, comme ça on pourra l'utiliser pour coder le reste de l'OS ? Parce que je ne vois vraiment pas comment faire autrement, le processeur ne comprend pas le C en natif, il faut bien le faire nous même puisqu'on part de rien, non ?

    Merci de m'éclairer, c'est surement une question bateau pour vous

  6. #106
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Question intéressante.

    Déjà le microprocesseur ne peut comprendre que le code machine (qui veut dire quelque chose pour ce microprocesseur) et non pas le langage d'assemblage.

    Tu parles également de l'éditeur des liens. Justement, un nouvel OS ne comprendra pas un exécutable au format PE (ou un autre format), il est nécessaire de recoder un éditeur des liens (dans n'importe quel langage) afin que l'exécutable qui est en sorti signifie quelque chose pour ton OS

    De toute manière, le code de l'OS sera compilé au début (et surement pendant pas mal de temps) sur un autre OS où il y aura déjà un compilateur C et un éditeur des liens que tu auras fait.
    Il y a parfois certaine option sur certains compilateurs qui permet d'exécuter des bouts de code sans qu'un OS soit chargé.
    J'avais utilisé ce type d'option pour un M68K qui n'avait pas d'OS, on chargeait ensuite le bout de code directement en mémoire (du M68k) (via un port je sais plus quoi) et on pouvait exécuter le code.

  7. #107
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Citation Envoyé par Janitrix Voir le message
    Parce que je ne vois vraiment pas comment faire autrement, le processeur ne comprend pas le C en natif, il faut bien le faire nous même puisqu'on part de rien, non ?

    Merci de m'éclairer, c'est surement une question bateau pour vous
    Pour compléter la réponse de Millie, il ne faut pas oublier que le C est compilé en langage machine lui aussi.

    L'assembleur ne sert tout au plus qu'a initialiser le processeur, ensuite on peut passer au C.

    Dans le cadre d'un mini-OS (basique, mais fonctionnel) sur x86, on peut faire une séquence d'initialisation de 200 lignes d'asm tout au plus et sauter vers le Kernel, qui lui sera programmé en C.

    Le seul problème étant qu'on ne pourra pas utiliser les fonctions du runtime C (printf, etc.), qu'il faudra réimplémenter soi-même, à mois de rendre son système compatible avec le format binaire d'un autre système (PE pour MS, ELF pour les unices, Mach-O pour MAC, etc.).

  8. #108
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Points : 498
    Points
    498
    Par défaut
    Bonjour a tous,
    voici un bon site pour commencer je pense, il répond à pas mal de questions postées précédement
    http://visopsys.org/osdev/index.html

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