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

  1. #1
    Membre régulier 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
    Points : 87
    Points
    87
    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 : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    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...

  3. #3
    Membre régulier 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
    Points : 87
    Points
    87
    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 : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    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.

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

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    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 : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    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.

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

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Tu pourrais nous en dire plus s'il te plaît ?

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    J'en ai reparlé avec des potes, notamment un qui avait été très déçu par une des dernières éditions de la Bible. Ce qui m'a rappelé la raison pour laquelle je n'avais pas changé ma 4ème édition à l'époque.

    Plus la simple logique : des chapitres sur Windows 95, augmente les chapitres sur le Pentium, et fait à peu près le même nombre de pages que la 4ème... Forcément, y'a des trucs qui ont sauté au passage, c'est bêtement logique. Notamment, la 6ème édition est (presque) inutilisable sans son CD, alors que ce n'est pas du tout le cas de la 4ème. De même pour les références sur le net : la plus souvent citée, c'est la 4ème édition (1994), ou la 5ème (1996), et non pas la 6ème (1998).

    Après, si tu me trouves la table des matières de la 6ème édition sur le net (dur pour un bouquin datant de 11 ans et pour lequel même l'éditeur ne référence plus rien), je me ferais un plaisir de comparer à la table des matières de la 4ème qui trône sur mon étagère.

  9. #9
    Membre régulier 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
    Points : 87
    Points
    87
    Par défaut
    Sur eBay je ne trouve que la 5e, ça va quand même ?

    (Sur priceminister il y a à peu près toutes les éditions possibles et imaginables, mais je les mettrais plutôt en second choix par rapport au contact direct avec le vendeur des tites annonces eBay qui évite plusieurs soucis, notamment niveau paiement ^^')

    PS : Désolé pour le fait que j'aie pas encore le réflexe d'acheter sur internet... Vu que ma fac est à deux pas du quartier Latin et que jusqu'à récemment j'avais aucun moyen d'acheter sur internet à part chez les quelques rares sites acceptant le liquide (et même maintenant, les chèques sur internet c'est pas super folichon), c'est pas encore la première idée qui me vient à l'esprit...

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

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Sache que priceminister offre autant sinon plus de garantie qu'un site comme Ebay.

  11. #11
    Membre régulier 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
    Points : 87
    Points
    87
    Par défaut
    C'est pas un problème de garantie, c'est un problème d'avoir à scanner un justificatif de domicile et ma carte d'identité, envoyer à priceminister, attendre une semaine qu'ils reçoivent et valident, envoyer un chèque, attendre une semaine supplémentaire pour qu'ils reçoivent et valident (voire deux, les chèques c'est lent), et enfin pouvoir acheter tranquille. Et encore, c'est à supposer qu'ils acceptent les petits chèques (15€).

    Sinon, je peux bien sûr aller imprimer une autorisation de prélèvement, l'amener à ma banque, attendre une semaine, payer 9.75€, revenir sur le site, et payer directement, pour une dépense totale du double du prix de l'objet acheté ^^

    Avec eBay, le vendeur étant près de chez moi, je l'appelle, on se donne rendez-vous, je passe chez lui, je lui file un billet, je repars avec le bouquin, et voilà... Et c'est tout aussi (voire plus) sécurisé pour peu que je ne prenne avec moi aucun objet de valeur sinon le billet pour payer

    (EDIT : Révision des tarifs d'une autorisation de prélèvement bancaire)

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Je n'ai rien vu de spécial sur la 5ème édition, mais au pire, tu peux toujours demander au vendeur qu'il t'envoie la liste des chapitres principaux du bouquin, avec les numéros de page (que l'on puisse voir la "taille" des chapitres en question).

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