gc, vendredi 8 février 2008, 13:56:42 CET > > Bonjour, ’jour,
> Je suis développeur (depuis 1984) indépendant, actuellement je > travaille essentiellement sous XP mais, étant souvent > prescripteur de mes clients, je me pose régulièrement la > question de Linux. > > A chaque fois je bute sur l'opacité et le formalisme de > l'entrée, et je renonce considérant que l'investissement de > compréhension de l'organisation, de la terminologie et de la > philosophie sera trop élevé. Et cela bien avant d'aborder le > maquis du code, qui me semble largement équivalent de ce que > l'on connaît chez Microsoft. Opacité ? Formalisme ? Un bon début pour comprendre la philosophie Unix : http://www.faqs.org/docs/artu/index.html par ESR (Eric S. Raymond), fort connu pour ses essais, notamment celui-ci et « La Cathédrale et le Bazar » et Fetchmail. Ce texte décrit justement très bien l’organisation et les motifs (à la fois « raisons » et « répétitions ») de l’univers Unix et donc de celui de Linux. > Mes applications étant liées au monde industriel j'ai par > exemple besoin d'accéder directement aux différents > périphériques, lesquels souvent sont des cartes PCI > particulières ou des chaînes de terminaux USB/RS485 ; quel est > l'équivalent des pilotes (DDK), où trouver l'organisation > mémoire et l'interface logicielle permettant d'écrire les > miens ? > Comment comprendre (sans analyser tout le code du noyau) la > méthode pour obtenir le 10000eme. de seconde ? et > particulièrement pour une application sur laquelle je viens > d'être consulté, comment est organisé l'écriture directe sur > l'écran, c'est-à-dire puis-je connaitre les points d'entrées > des pilotes graphiques, ou bien il y a-t-il une couche > graphique standard avant celle de l'interface ? Ok, donc tu es plus intéressé par la programmation système et même noyau. Une intro : http://www.ibm.com/developerworks/linux/library/l-linux-kernel/ Plus complets : http://www.advancedlinuxprogramming-fr.org/doku.php http://lwn.net/Kernel/LDD3/ http://www.kroah.com/lkn/ http://lwn.net/Articles/driver-porting Pour ce qui est de l’écriture directe sur l’écran, ça dépend de ce que l’on entend par « directe » et par « écran ». Est-ce qu’il s’agit d’une application qui va tourner seule sur un écran ? écran texte ? graphique ? Qu’a-t-elle besoin de faire sur l’écran ? etc. Pour faire simple et te donner des pistes de recherche : — écrire dans un écran texte se limite à envoyer du texte et quelques caractères de contrôle dans un fichier ; – un « framebuffer » (écran graphique géré par le noyau) peut être géré « à la main » avec un périphérique (un fichier dans /dev) ou à l’aide de bibliothèques ; — il y a un tas de bibliothèques pour faire des applications fenêtrées ou plein écran, avec ou sans OpenGL, qui discutent avec X11, KDE, Gnome ou un framebuffer (certaines permettent de choisir à l’exécution), etc. Le problème du libre est plus un problème de choix que « d’opacité ». > Voilà, mon approche peut vous sembler un peu naïve, mais le > passage vers Linux, qui est attirant sur un plan "politique" > m'apparaît comme plus discutable sur un plan technique, et, me > concernant sur un plan économique. Sur un plan technique, les logiciels libres sont beaucoup plus agréables ! D’accord, certaines docs sont sommaires ou difficiles à trouver et même si « use the source » n’est pas la réponse la plus agréable quand on débute (on ne sait pas où et quoi regarder, comment ça peut répondre aux besoins, etc.), c’est tout de même fort pratique de pouvoir s’inspirer de ce qui a déjà été fait ou de vérifier comment sont mises en œuvre les API que l’on utilise. > Je ne sais pas si je frappe à la bonne porte pour ce genre de > considérations, néanmoins je vous remercie par avance de votre > réponse. Pas vraiment :o) les autres réponses t’ont donné et te donneront sûrement d’autres pistes… -- Sylvain Sauvage

