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

C Discussion :

Débuter en programmation système x86, en utilisant le C comme langage principal


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Neolander
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut Débuter en programmation système x86, en utilisant le C comme langage principal
    Bonjour,

    Depuis que j'ai achevé ma lecture du passionnant "Modern Operating Systems" d'Andrew S. Tannenbaum, il y a quelques mois, je ne peux pas m'empêcher de caresser l'idée de mettre en pratique les connaissances théoriques sur les OS que j'en ai tirées.

    Il ne s'agit pas de tenter de conquérir le monde de l'informatique avec un produit génial, beaucoup d'autres font très bien leur travail de ce côté-là, il s'agit juste d'un hobby, de me lancer de petits défis en programmation, et de m'amuser à voir jusqu'à quel degré je peux pousser de petites idées notées sur un coin de feuille en pratique et quels sont leurs défauts. (Exemple : se débarasser de la vielle distinction entre processus et threads en offrant aux processus la possibilité de partager entre eux un sous-ensemble leur mémoire (pouvant être l'ensemble nul, auquel cas on revient au modèle du processus, ou l'ensemble de leur mémoire utilisateur, auquel cas on revient au modèle du thread), modifiable de façon dynamique)

    Au niveau technique, concernant la programmation bas niveau, je connais bien le C et j'ai tripatouillé de l'assembleur sur des motorola 6809 il y a quelques années, le temps de comprendre les principes de base, de faire clignoter des diodes selon de multiples motifs, et d'apprendre à détester son caractère incroyablement rébarbatif.

    Seulement, le problème, c'est qu'après avoir cherché des tutoriels traitant de l'écriture d'OS se voulant simple sur le net, le plus beau travail que j'ai trouvé c'est SimpleOS ( http://sos.enix.org/ ), qui présente la création d'un petit OS pas à pas via des articles détaillés. Mais :
    • Même si le niveau de détail atteint à certains endroits est remarquable, il y a quand même de la magie à d'autres endroits, au sens qu'une partie du code n'a pas un fonctionnement détaillé dans l'article ou dans les commentaires du code et est uniquement décrit par à quoi il sert. Je n'aime pas la magie, c'est pas très scientifique comme approche et ça fait des bouts de code dont on dépend sans pouvoir les modifier pour les améliorer au besoin.
    • Même avec une lecture attentive du code et des articles, je ne parviens pas à comprendre pleinement la logique de l'architecture x86. Je sais que je serais incapable de réécrire certaines parties du code si besoin, ou d'ajouter certaines fonctions, et cette connaissance m'agace.
    • Je ne supporte pas les docs longues au format PDF, et je commence à ressentir une fatigue visuelle et à lire en diagonale au bout d'environ 3-4 pages. Mon budget imprimante a ses limites, par ailleurs. Quand je veux considérer un sujet scientifique en profondeur, j'ai besoin d'un bon vieil ouvrage papier en style clair pour être efficace. Pour des raisons évidentes d'encombrement et de classement, je préfère également les livres aux séries d'articles de revues


    Par conséquent, j'aimerais savoir s'il existe des ouvrages effectuant une tâche semblable à celle des articles sur SimpleOS (décrire la mise au point d'un système d'exploitation x86 pas à pas) mais en présentant plus précisément le fonctionnement de l'architecture x86 et la manière dont on peut manipuler ses fonctions, et en détaillant davantage les décisions faites au niveau conception comme au niveau implémentation. Au pire deux bouquins distincts, un sur la conception/implémentation d'OS et un sur l'archi x86 qui ne soit pas juste une pure référence d'assembleur mais quelque chose davantage orienté vers la logique de la chose.

    Puisque le Tannenbaum m'a laissé un excellent souvenir, je m'intéresse particulièrement à un de ses autres livres, "Operating system design and implementation". Cependant, il m'a l'air cher même pour un bouquin d'info (l'autre, je l'ai piqué dans la bibliothèque de quelqu'un qui n'en voulait plus ^^), et d'après le sommaire il a pas mal en commun avec Modern Operating Systems. Quelqu'un l'a lu ? Est-ce qu'il correspondrait quand même à ce que je vise ? Connaissez-vous d'autres ouvrages traitant du sujet ?

    (PS : Je m'intéresse au x86 parce que c'est la seule architecture sur laquelle je puisse faire tourner du code nativement à la maison, et je préférerais ne pas rester uniquement dans les programmes émulant un fonctionnement d'OS car ils ne rendent pas bien compte du critère "performance")

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    "La bible PC - Programmation Système", de Michaël Tischer, chez Micro Application.
    Cela décrit (notamment) l'ensemble de l'architecture AT basique : BIOS, organisation mémoire du 1er méga-octet de mémoire, etc. Cela décrit aussi l'interface du DOS, la programmation des cartes VGA, l'accès aux disques, etc.

    Faudrait me tuer pour que je me débarrasse de mon exemplaire...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre confirmé Avatar de Neolander
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut
    Malheureusement, il semblerait que ce soit le cas de beaucoup de monde : le bouquin est épuisé et non disponible d'occase (en tous cas chez les Gibert Joseph du coin).

    Quelqu'un a une autre idée ?

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Essaie sur eBay : j'en ai vu deux à la vente en cherchant, à l'instant...

    P.S. : pour ma part, j'ai la 4ème édition, je ne sais pas ce que donnent les suivantes.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Tu n'as pas beaucoup cherché... http://www.priceminister.com/offer/b...eme-Livre.html
    Cordialement.

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Sauf que c'est la 6ème édition, qui (de mémoire) ne contient plus autant d'informations bas niveau que les éditions précédentes... La "meilleure" reste la 4ème édition, mais elle est extrêmement difficile à trouver à l'heure actuelle.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Quel logiciel (EDI) pour débuter en programmation ?
    Par mimosa69 dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 17/01/2016, 16h45
  2. Réponses: 1
    Dernier message: 01/05/2010, 17h52
  3. Pour débuter en programmation réseau
    Par durnambule dans le forum Développement
    Réponses: 3
    Dernier message: 20/06/2004, 22h21
  4. Avec quel langage débuter en programmation ?
    Par spectrum1984 dans le forum Débuter
    Réponses: 10
    Dernier message: 28/12/2003, 21h57
  5. Comment débuter en programmation ?
    Par Marc Lussac dans le forum Débuter
    Réponses: 0
    Dernier message: 08/04/2002, 11h29

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