Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Contribuez > Traduction LDD3

Traduction LDD3 forum de travail pour la traduction de Linux Device Drivers 3 droits de modération : team linux

Réponse
 
Outils de la discussion
Vieux 06/07/2007, 17h13   #1 (permalink)
Responsable Système
 
Avatar de Michaël
 
Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 417
Par défaut Chapitre 1 : An Introduction to Device Drivers partie 3

Discussion réservée à la traduction de la partie 3 du chapitre 1 "An Introduction to Device Drivers"


Pour travailler, vous devez télécharger les xml en pièce jointe et joindre le xml une fois que vous avez fini. Vous ne devez en aucun cas toucher aux balises ni à l'indentation sinon ça va mettre la pagaille dans le xml final. J'ai utilisé kwrite comme éditeur de texte avec les paramètres par défaut.



__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures...
Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation

Dernière modification par Michaël ; 22/09/2008 à 10h11
Michaël est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 19/07/2007, 16h28   #2 (permalink)
Responsable
Hardware
 
Avatar de buchs
 
Date d'inscription: août 2005
Localisation: Huttenheim
Âge: 21
Messages: 3 901
Envoyer un message via MSN à buchs Envoyer un message via Skype™ à buchs
Par défaut

Citation:
Security Issues

Security is an increasingly important concern in modern times. We will discuss security-related issues as they come up throughout the book. There are a few general concepts, however, that are worth mentioning now.
Citation:
Problèmes de sécurité

La sécurité est un souci de plus en plus important dans les temps modernes. Nous discuterons des problèmes de sécurité au fur et à mesure qu’ils apparaissent dans ce livre. Il y a quelques concepts généraux, néanmoins, qu’il vaut la peine de mentionner maintenant.
___

Citation:
Any security check in the system is enforced by kernel code. If the kernel has security holes, then the system as a whole has holes. In the official kernel distribution, only an authorized user can load modules; the system call init_module checks if the invoking process is authorized to load a module into the kernel. Thus, when running an official kernel, only the superuser, (Technically, only somebody with the CAP_SYS_MODULE capability can perform this operation. We discuss capabilities in Chapter 6.) or an intruder who has succeeded in becoming privileged, can exploit the power of privileged code.
Citation:
Chaque contrôle dans le système est imposé par le code du noyau. Si le noyau contient des trous de sécurité, alors tout le système tout entier en contient. Dans la distribution officielle du noyau, seul un utilisateur autorisé peut charger des modules. L’appel système <i>init_module</i> contrôle si le processus est invoqué est autorisé à charger des modules dans le noyau. De cette manière, quand est un noyau officiel est actif, seul l’administrateur système (techniquement, seulement quelqu’un avec la capacité de < i>CAP_SYS_MODULE</i> peut accomplir cette opération. Nous discuterons des capacités dans le chapitre 6), ou un intrus qui a réussi à obtenir ces droits, peut exploiter le pouvoir du code privilégié.
___

Citation:
When possible, driver writers should avoid encoding security policy in their code. Security is a policy issue that is often best handled at higher levels within the kernel, under the control of the system administrator. There are always exceptions, however.
Citation:
Si possible, les programmeurs de pilotes devraient éviter de coder la police de sécurité dans leur code. La sécurité est une question de politique qui est souvent mieux manipulée à des niveaux plus élevés dans le noyau, sous le contrôle de l’administrateur système. Néanmoins, il y a toujours des explications.
___

Citation:
As a device driver writer, you should be aware of situations in which some types of device access could adversely affect the system as a whole and should provide adequate controls. For example, device operations that affect global resources (such as setting an interrupt line), which could damage the hardware (loading firmware, for example), or that could affect other users (such as setting a default block size on a tape drive), are usually only available to sufficiently privileged users, and this check must be made in the driver itself.
Citation:
En tant que programmeur de pilote, vous devriez être conscient des situations dans lesquelles quelques types d’accès aux périphériques pourraient compromettre l’ensemble du système et devrait fournir des contrôles proportionnés. Par exemple, les opérations de périphériques qui affectent les ressources globales (comme placer une ligne d’interruption), qui pourrait endommager le matériel (chargement de firmware par exemple) ou qui pourrait affecter d’autres utilisateurs (comme placer un bloc par défaut sur une bande magnétique) sont habituellement seulement disponible aux utilisateurs suffisamment privilégiés et ce contrôle doit être effectuer dans le pilote lui-même.
___

Citation:
Driver writers must also be careful, of course, to avoid introducing security bugs. The C programming language makes it easy to make several types of errors. Many current security problems are created, for example, by buffer overrun errors, in which the programmer forgets to check how much data is written to a buffer, and data ends up written beyond the end of the buffer, thus overwriting unrelated data. Such errors can compromise the entire system and must be avoided. Fortunately, avoiding these errors is usually relatively easy in the device driver context, in which the interface to the user is narrowly defined and highly controlled.

Citation:
Les programmeurs de pilotes doivent donc être prudent, bien sûr, à éviter d’introduire des bugs de sécurité. Le langage de programmation C rend facile le fait de faire des erreurs de ce type. Plusieurs des problèmes de sécurité actuels sont créés, par exemple, par des erreurs de <i>dépassement de tampon</i> dans lesquels le programmeurs oublie de contrôler combien de données sont écrites dans le tampon et les données finissent par être écrites à la fin du tampon, recouvrant de ce fait des données indépendantes. De telles erreurs peuvent compromettre le système et doivent être évitées. Heureusement, éviter ces erreurs est habituellement relativement simple dans le contexte du pilote de périphérique, dans lequel, l’interface utilisateur est étroitement défini et hautement contrôlé.
___

Citation:
Some other general security ideas are worth keeping in mind. Any input received from user processes should be treated with great suspicion; never trust it unless you can verify it. Be careful with uninitialized memory; any memory obtained from the kernel should be zeroed or otherwise initialized before being made available to a user process or device. Otherwise, information leakage (disclosure of data, passwords, etc.) could result. If your device interprets data sent to it, be sure the user cannot send anything that could compromise the system. Finally, think about the possible effect of device operations; if there are specific operations (e.g., reloading the firmware on an adapter board or formatting a disk) that could affect the system, those operations should almost certainly be restricted to privileged users.
Citation:
Quelques autres idées de sécurité générale valent la peine d’être gardé en mémoire. Chaque entrée reçue par le processus utilisateur devrait être traité avec la plus grande suspicion, ne jamais y croire sans que vous ayez un moyen de le vérifier. Soyez prudent avec l’espace mémoire non alloué et de la mémoire obtenue à partir du noyau doit être remise à zéro ou être autrement initialisée avant de la rendre disponible à un processus utilisateur ou périphérique. Autrement, les fuites d’informations (révélation de données, mots de passes, etc.) pourrait être révélé. Si votre périphérique interprète les données transmises, soyez sûr que l’utilisateur ne puisse pas envoyer tout ce qui pourrait compromettre le système. Finalement, envisagez les effets possibles des opérations de périphériques. S’il y a des opérations spécifiques (par exemple, rechargé le firmware sur un panneau ou formater un disque) qui peuvent affecter le système, ces opérations devraient certainement restreintes aux utilisateurs privilégiés.
___

Citation:
Be careful, also, when receiving software from third parties, especially when the kernel is concerned: because everybody has access to the source code, everybody can break and recompile things. Although you can usually trust precompiled kernels found in your distribution, you should avoid running kernels compiled by an untrusted friend-if you wouldn't run a precompiled binary as root, then you'd better not run a precompiled kernel. For example, a maliciously modified kernel could allow anyone to load a module, thus opening an unexpected back door via init_module.
Citation:
Soyez prudent, aussi, quand vous recevez des logiciels d’une tierce personne, et plus particulièrement quand le noyau est concerné: car tout le monde a accès au code source, tout le monde peut le corrompre et recompiler certaines choses. Bien que vous puissiez faire confiance aux noyaux précompilés trouvés dans votre distribution, vous devriez éviter d’utiliser des noyaux par une personne à qui vous ne pouvez pas faire confiance. Si vous ne voulez pas exécuter les fichiers binaires précompilés en tant qu’administrateur système, alors vous ne devriez pas utiliser un noyau précompilé. Par exemple, un noyau malicieux modifié pourrait autoriser n’importe qui à charger un module, ceci ouvrant une porte secrète inattendue via <i>init_module</i>.
___

Citation:
Note that the Linux kernel can be compiled to have no module support whatsoever, thus closing any module-related security holes. In this case, of course, all needed drivers must be built directly into the kernel itself. It is also possible, with 2.2 and later kernels, to disable the loading of kernel modules after system boot via the capability mechanism.
Citation:
Notez que le noyau Linux peut être compilé pour de telle sorte à ce que les modules ne soit plus supportés, ceci fermant tous les trous de sécurité relatif aux modules. Dans ce cas, bien sûr, tous les pilotes requis doivent être directement écrits en dur dans le noyau. Il est aussi possible, avec les versions 2.2 du noyau et supérieures, de désactiver le chargement de modules dans le noyau après le système de démarrage par l’intermédiaire du mécanisme approprié.
___

La suite viendra bientôt
__________________
~~~~~ Responsable C et Hardware. ~~~~~
Pour rejoindre l'équipe C ou Hardware MP

Installation de Code::Blocks sous Debian à partir de Nightly Builds

C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère
buchs est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/07/2007, 13h34   #3 (permalink)
Responsable
Hardware
 
Avatar de buchs
 
Date d'inscription: août 2005
Localisation: Huttenheim
Âge: 21
Messages: 3 901
Envoyer un message via MSN à buchs Envoyer un message via Skype™ à buchs
Par défaut

Une partie un peu corsée et maladroitement traduite pour ma part, une relecture est plus qu'indispensable

Citation:
Version Numbering

Before digging into programming, we should comment on the version numbering scheme used in Linux and which versions are covered by this book.
Citation:
Avant d’approfondir le côté programmation, nous devrions commenter le schéma de numérotation des versions utilisée dans Linux, lesquelles sont couvertes par ce livre.
______


Citation:
First of all, note that every software package used in a Linux system has its own release number, and there are often interdependencies across them: you need a particular version of one package to run a particular version of another package. The creators of Linux distributions usually handle the messy problem of matching packages, and the user who installs from a prepackaged distribution doesn't need to deal with version numbers. Those who replace and upgrade system software, on the other hand, are on their own in this regard. Fortunately, almost all modern distributions support the upgrade of single packages by checking interpackage dependencies; the distribution's package manager generally does not allow an upgrade until the dependencies are satisfied.

Citation:
Tout d’abord, notez que <i>chaque</i> progiciel utilisé dans un système Linux à son propre numéro de parution et il y a souvent des interdépendances entre eux: vous avez besoin d’une version particulière d’un package pour faire tourner une autre version d’un package particulier. Les créateurs de distributions Linux manient habituellement le sale problème d’assortir les paquets, et l’utilisateur qui installe une distribution préemballée n’a pas besoin de s’occuper avec les numéros de versions. Ceux qui remplacent et mettent à jour les logiciels systèmes, de l’autre côté, ont leur propre point de vue. Heureusement, presque toutes les distributions modernes supportent la mise à jour de package unique en contrôlant les dépendances interpackage. Le gestionnaire de packages de la distribution n’autorise généralement pas la mise à jour si les dépendances ne sont pas satisfaites.
______


Citation:
To run the examples we introduce during the discussion, you won't need particular versions of any tool beyond what the 2.6 kernel requires; any recent Linux distribution can be used to run our examples. We won't detail specific requirements, because the file Documentation/Changes in your kernel sources is the best source of such information if you experience any problems.

Citation:
Pour exécuter les exemples nous introduisons au cours de la discussion, vous n’avez pas besoin de versions particulières de chaque outil au-delà de la version 2.6, n’importe quel distribution récente de Linux peut être utilisée pour exécuter nos exemples. Nous n’allons pas détailler les besoins spécifiques car le fichier <i>Documentation/Changes</i> dans les sources de votre noyau est la meilleure source d’information si vous rencontrez des problèmes.
______

Citation:
As far as the kernel is concerned, the even-numbered kernel versions (i.e., 2.6.x) are the stable ones that are intended for general distribution. The odd versions (such as 2.7.x), on the contrary, are development snapshots and are quite ephemeral; the latest of them represents the current status of development, but becomes obsolete in a few days or so.

Citation:
En ce qui concerne le noyau, les versions paires du noyau (par exemple, 2.6.x) sont stables, ils sont prévus pour la distribution générale. Les versions impaires (par exemple, 2.7.x), au contraire, sont en développement et sont tout à fait éphémères. La dernière d’entre elles représente l’état actuel du développement, mais deviendra obsolète dans quelques jours à peu près.
______


Citation:
This book covers Version 2.6 of the kernel. Our focus has been to show all the features available to device driver writers in 2.6.10, the current version at the time we are writing. This edition of the book does not cover prior versions of the kernel. For those of you who are interested, the second edition covered Versions 2.0 through 2.4 in detail. That edition is still available online at <link href="http://lwn.net/Kernel/LDD2/">http://lwn.net/Kernel/LDD2/</link>.

Citation:
Ce livre couvre la version 2.6 du noyau. Notre objectif a été de montrer toutes les nouvelles fonctionnalités disponibles aux programmeurs de pilotes de périphériques dans la version 2.6.10, la version actuelle à l’heure ou nous écrivons. Cette édition du livre ne couvre pas les versions antérieures du noyau. Pour ceux d’entre vous qui sont intéressés, la seconde édition montre le noyau 2.4 en détails. Cette édition est encore disponible en ligne à l’adresse <link href="http://lwn.net/Kernel/LDD2/">http://lwn.net/Kernel/LDD2/</link>.
______


Citation:
Kernel programmers should be aware that the development process changed with 2.6. The 2.6 series is now accepting changes that previously would have been considered too large for a "stable" kernel. Among other things, that means that internal kernel programming interfaces can change, thus potentially obsoleting parts of this book; for this reason, the sample code accompanying the text is known to work with 2.6.10, but some modules don't compile under earlier versions. Programmers wanting to keep up with kernel programming changes are encouraged to join the mailing lists and to make use of the web sites listed in the bibliography. There is also a web page maintained at <link href="http://lwn.net/Articles/2.6-kernel-api/">http://lwn.net/Articles/2.6-kernel-api/</link>, which contains information about API changes that have happened since this book was published.

Citation:
Les programmeurs du noyau devraient se rendre compte que le procédé de développement à changer avec la version 2.6. Les séries 2.6 acceptent maintenant les changements qui précédemment auraient été considérées comme trop grand pour un noyau « stable ». Entre autres, cela signifie que l’interface de développement interne au noyau peut changer, ceci rendant potentiellement obsolète certaines parties de ce livre. Pour cette raison, le code exemple accompagnant le texte est connu pour fonctionner avec la version 2.6.10, mais quelques modules ne compilent pas sur des versions précédentes. Les programmeurs voulant suivre les modifications de la programmation du noyau sont encouragés à joindre les mailing lists et utiliser les sites web listés dans la bibliographie. Il y a aussi une page web maintenue à l’adresse <link href="http://lwn.net/Articles/2.6-kernel-api/">http://lwn.net/Articles/2.6-kernel-api/</link> qui contient les informations à propos des changements de l’API qui sont produits depuis que ce livre a été édité.
______

Citation:
This text doesn't talk specifically about odd-numbered kernel versions. General users never have a reason to run development kernels. Developers experimenting with new features, however, want to be running the latest development release. They usually keep upgrading to the most recent version to pick up bug fixes and new implementations of features. Note, however, that there's no guarantee on experimental kernels,(Note that there's no guarantee on even-numbered kernels as well, unless you rely on a commercial provider that grants its own warranty.) and nobody helps you if you have problems due to a bug in a noncurrent odd-numbered kernel. Those who run odd-numbered versions of the kernel are usually skilled enough to dig in the code without the need for a textbook, which is another reason why we don't talk about development kernels here.
Citation:
Ce texte ne parle pas particulièrement des versions impaires du noyau. Les simples utilisateurs n’ont jamais de raison de tourner sur une version en développement. Les développeurs expérimentant les nouvelles caractéristiques, par contre, veulent tourner sur la dernière version en développement. Ils continuent habituellement à améliorer la version la plus récente pour corriger les bugs et les nouvelles implémentations de caractéristiques. Notez, par contre, qu’il n’y a aucune garantie sur les noyaux expérimentaux (notez qu’il n’y a pas non plus de garantie sur les versions «stables», à moins que vous comptiez sur un fournisseur commercial qui accorde sa propre garantie), et que personne ne vous aide si vous avez des problèmes dus à un bug dans noyau en cours de développement. Ceux qui exécutent une version impaire du noyau sont habituellement assez qualifiés pour plonger dans le code sans avoir besoin de livre, ce qui est une autre raison pour laquelle nous ne parlons pas des noyaux de développement ici.
______

Citation:
Another feature of Linux is that it is a platform-independent operating system, not just "a Unix clone for PC clones" anymore: it currently supports some 20 architectures. This book is platform independent as far as possible, and all the code samples have been tested on at least the x86 and x86-64 platforms. Because the code has been tested on both 32-bit and 64-bit processors, it should compile and run on all other platforms. As you might expect, the code samples that rely on particular hardware don't work on all the supported platforms, but this is always stated in the source code.
Citation:
Une autre caractéristique de Linux est qu’il est indépendant de la plate-forme indépendante du système d’exploitation, non plus juste «un clone Unix pour des clones PC»: il supporte actuellement quelques 20 architectures. Ce livre est indépendant de la plate-forme loin que possible et tous les exemples de codes ont été testés sur les plates-formes x86 et x86-64 au minimum. Car le code a été testé sur les processeurs 32 et 64 bits, il devrait compiler et tourner sur toutes les plates-formes. Comme vous pourriez le prévoir, les exemples de codes qui se fondent sur un périphérique spécifique ne fonctionnent pas sur toutes les plates-formes supportées, mais ceci est toujours énoncé dans le code source.
__________________
~~~~~ Responsable C et Hardware. ~~~~~
Pour rejoindre l'équipe C ou Hardware MP

Installation de Code::Blocks sous Debian à partir de Nightly Builds

C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère
buchs est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/07/2007, 15h07   #4 (permalink)
Responsable Système
 
Avatar de Michaël
 
Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 417
Par défaut

Citation:
License terms

Linux is licensed under Version 2 of the GNU General Public License (GPL), a document devised for the GNU project by the Free Software Foundation. The GPL allows anybody to redistribute, and even sell, a product covered by the GPL, as long as the recipient has access to the source and is able to exercise the same rights. Additionally, any software product derived from a product covered by the GPL must, if it is redistributed at all, be released under the GPL.
Citation:
Termes de licence

Linux est sous licence GNU General Public License (GPL) dans sa version 2, un document conçu pour le projet GNU de la Free Software Foundation. La GPL autorise n'importe qui à redistribuer, et même vendre, un produit publié sous GPL du moment que le destinataire a accès aux sources et est capable de bénéficier des mêmes droits. De plus, n'importe quel logiciel publié sous GPL doit, s'il est distribué, être sous licence GPL.
-------------------------------

Citation:
The main goal of such a license is to allow the growth of knowledge by permitting everybody to modify programs at will; at the same time, people selling software to the public can still do their job. Despite this simple objective, there's a never-ending discussion about the GPL and its use. If you want to read the license, you can find it in several places in your system, including the top directory of your kernel source tree in the COPYING file.
Citation:
Le principal but de cette licence est d'autoriser le développement des connaissances en permettant à tout le monde de modifier les programmes comme bon leur semble; dans le même temps, les gens vendant des logiciels au public peuvent continuer à faire leur travail. Malgré cet objectif simple, il existe une discussion sans fin à propos de la GPL et son utilisation. Si vous voulez lire la licence, vous pouvez la trouver à différents endroits dans votre système, y compris dans le répertoire de base contenant l'arborescence des sources du noyau dans le fichier COPYING.
-------------------------------

Citation:
Vendors often ask whether they can distribute kernel modules in binary form only. The answer to that question has been deliberately left ambiguous. Distribution of binary modules - as long as they adhere to the published kernel interface - has been tolerated so far. But the copyrights on the kernel are held by many developers, and not all of them agree that kernel modules are not derived products. If you or your employer wish to distribute kernel modules under a nonfree license, you really need to discuss the situation with your legal counsel. Please note also that the kernel developers have no qualms against breaking binary modules between kernel releases, even in the middle of a stable kernel series. If it is at all possible, both you and your users are better off if you release your module as free software.
Citation:
Les fournisseurs demande souvent s'ils peuvent distribuer des modules du noyau sous forme binaire seulement. La réponse à cette question a été délibérémment laissée ambiguë. La distribution de modules binaires - dès qu'ils adhèrent à l'interface du noyau - sont tolérés depuis longtemps. Mais les droits de copies du noyau sont maintenus par beaucoup de développeurs, et tous n'acceptent pas que les modules ne soient pas des produits dérivés. Si vous ou votre employeur veut distribuer des modules du noyau sous une licence non libre, vous aurez vraiment besoin avec votre service juridique. Veuillez également prendre note que les développeurs du noyau n'ont aucun scrupule à casser les modules binaires entre les publications du noyau, même en plein milieu d'une série stable de noyaux. Si c'est possible, vos utilisateurs et vous même préféreront que vous publiez votre module comme du code libre.
-------------------------------

Citation:
If you want your code to go into the mainline kernel, or if your code requires patches to the kernel, you must use a GPL-compatible license as soon as you release the code. Although personal use of your changes doesn't force the GPL on you, if you distribute your code, you must include the source code in the distribution-people acquiring your package must be allowed to rebuild the binary at will.
Citation:
Si vous voulez que votre code soit intégré officiellement dans le noyau, ou si votre code requiert de patcher le noyau, vous devez utiliser une licence compatible avec la GPL dès que vous publierez votre code. Quoique l'utilisation personnelle de vos changements ne vous force pas à la licence GPL, si vous fournissez le code, vous devez inclure le code source dans sa distribution - les gens qui récupèrent votre paquet doivent pouvoir reconstruire le fichier binaire à volonté.
-------------------------------

Citation:
As far as this book is concerned, most of the code is freely redistributable, either in source or binary form, and neither we nor O'Reilly retain any right on any derived works. All the programs are available at <link href="ftp://ftp.ora.com/pub/examples/linux/drivers/">ftp://ftp.ora.com/pub/examples/linux/drivers/</link>, and the exact license terms are stated in the LICENSE file in the same directory.
Citation:
Puisque ce livre est concerné, la plupart du code est redistribuable gratuitement, aussi bien sous forme de sources que sous forme binaire, et ni nous ni O'Reilly se réservent de droits sur tous les travaux dérivés. Tous les programmes sont disponibles à <link href="ftp://ftp.ora.com/pub/examples/linux/drivers/">ftp://ftp.ora.com/pub/examples/linux/drivers/</link>, et les termes exacts de licence sont situés dans le fichier LICENSE du même répertoire.
__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures...
Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation
Michaël est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/07/2007, 16h29   #5 (permalink)
Responsable Système
 
Avatar de Michaël
 
Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 417
Par défaut

attention à ceux qui ont téléchargé le xml ! il y a une petite erreur dedans. veuillez récupérer la nouvelle version dans le premier post de la discussion

__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures...
Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation
Michaël est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/07/2007, 16h30   #6 (permalink)
Responsable
Hardware
 
Avatar de buchs
 
Date d'inscription: août 2005
Localisation: Huttenheim
Âge: 21
Messages: 3 901
Envoyer un message via MSN à buchs Envoyer un message via Skype™ à buchs
Par défaut

Michaël

Voici la fin... Houleuse ...

__________________________________________________
Citation:
Joining the Kernel Development Community

As you begin writing modules for the Linux kernel, you become part of a larger community of developers. Within that community, you can find not only people engaged in similar work, but also a group of highly committed engineers working toward making Linux a better system. These people can be a source of help, ideas, and critical review as well-they will be the first people you will likely turn to when you are looking for testers for a new driver.
Citation:
Joignez la communauté de développement du noyau
Comme vous commencez à écrire des modules pour le noyau Linux, vous ferez partie d'une plus grande communauté de développeurs. Dans cette communauté, vous pouvez trouver non seulement des personnes engagées dans un travail semblable, mais aussi un groupe d'ingénieurs fortement engagés travaillant pour faire de Linux un système meilleur. Ces personnes peuvent être une source d'aide, d’idées et de revue critique. Ils seront les premiers vers qui vous vous tournerez quand vous chercherez des testeurs pour un nouveau pilote.

__________________________________________________


Citation:
The central gathering point for Linux kernel developers is the linux-kernel mailing list. All major kernel developers, from Linus Torvalds on down, subscribe to this list. Please note that the list is not for the faint of heart: traffic as of this writing can run up to 200 messages per day or more. Nonetheless, following this list is essential for those who are interested in kernel development; it also can be a top-quality resource for those in need of kernel development help.


Citation:
L’assemblée centrale de développeurs Linux est la mailing-list <i>linux-kernel</i>. Tous les développeurs en chef, de Linus Torvalds et inférieur, ont souscrit à cette liste. Notez s'il vous plaît que la liste n'est pas là pour les peines de cœur: le trafic de cette liste peut être de 200 messages par jour, voire plus. Néanmoins, suivre cette liste est essentielle pour ceux qui sont intéressés dans le développement du noyau. Elle peut donc être une ressource de première qualité pour ceux qui ceux qui aident au développement du noyau.

__________________________________________________


Citation:
To join the linux-kernel list, follow the instructions found in the linux-kernel mailing list FAQ : <link href="http://www.tux.org/lkml">http://www.tux.org/lkml</link>. Read the rest of the FAQ while you are at it; there is a great deal of useful information there. Linux kernel developers are busy people, and they are much more inclined to help people who have clearly done their homework first.

Citation:
Pour joindre cette liste, suivez les instructions trouvées sur la FAQ de cette mailing-list: http://www.tux.org/lkml. Lisez le reste de la FAQ pendant que vous y êtes. Il y a un grand nombre d’informations ici. Les développeurs du noyau Linux sont des personnes occupées, et elles sont plus enclines des personnes qui ont clairement fait leurs devoirs personnels en premier.

__________________________________________________


Citation:
Overview of the Book

From here on, we enter the world of kernel programming. Chapter 2 introduces modularization, explaining the secrets of the art and showing the code for running modules. Chapter 3 talks about char drivers and shows the complete code for a memory-based device driver that can be read and written for fun. Using memory as the hardware base for the device allows anyone to run the sample code without the need to acquire special hardware.

Citation:
Vue d’ensemble du livre

À partir d’ici, on entre dans le monde de la programmation du noyau. Le chapitre 2 introduit la modularisation, expliquant les secrets de l’art et montrant le code pour faire tourner les modules. Le chapitre 3 traite des pilotes de caractères et montre le code complet pour les pilotes périphériques basés sur la mémoire qui peut être lu et écrit pour le fun. Employer la mémoire pour le matériel de base pour le périphérique permet à n’importe qui d’exécuter les codes exemples sans avoir besoin d’acquérir du matériel spécial.

__________________________________________________


Citation:
Debugging techniques are vital tools for the programmer and are introduced in Chapter 4. Equally important for those who would hack on contemporary kernels is the management of concurrency and race conditions. Chapter 5 concerns itself with the problems posed by concurrent access to resources and introduces the Linux mechanisms for controlling concurrency.

Citation:
Les techniques de débogage sont des outils vitaux pour le programmeur et est introduit dans le chapitre 4. Egalement important pour ceux qui veulent pirater les noyaux contemporains est la gestion de la concurrence et de courses. Les soucis du chapitre 5 lui-même avec les problèmes posés par l'accès simultané aux ressources et présentent les mécanismes Linux pour contrôler la concurrence.

__________________________________________________


Citation:
With debugging and concurrency management skills in place, we move to advanced features of char drivers, such as blocking operations, the use of select, and the important ioctl call; these topics are the subject of Chapter 6.

Citation:
Avec le débogage et les compétences de gestion de concurrence en place, nous nous déplaçons aux fonctions avancées des pilotes caractères, comme le blocage d'opérations, l'utilisation de <i>select</i>, et l'appel important d'<i>ioctl</i>. Ces parties sont le sujet du Chapitre 6.

__________________________________________________


Citation:
Before dealing with hardware management, we dissect a few more of the kernel's software interfaces: Chapter 7 shows how time is managed in the kernel, and Chapter 8 explains memory allocation.

Citation:
Avant de traiter avec la gestion du matériel, nous disséquons encore plus des interfaces logicielles du noyau: le chapitre 7 montre comment le temps est géré dans le noyau et le chapitre 8 explique l'assignation de la mémoire.

__________________________________________________


Citation:
Next we focus on hardware. Chapter 9 describes the management of I/O ports and memory buffers that live on the device; after that comes interrupt handling, in Chapter 10. Unfortunately, not everyone is able to run the sample code for these chapters, because some hardware support is actually needed to test the software interface interrupts. We've tried our best to keep required hardware support to a minimum, but you still need some simple hardware, such as a standard parallel port, to work with the sample code for these chapters.

Citation:
Ensuite nous nous penchons sur le matériel. Le chapitre 9 décrit la gestion des ports d’entrées/sorties et les tampons mémoire qui sont sur le périphérique. Après ça vient la manipulation des interruptions dans le chapitre 10. Malheureusement, tout le monde n’est pas capable d’exécuter les exemples de code pour ce chapitre, car un peu de support matériel est en réalité encore nécessaire pour tester l’interface des interruptions logicielles. Nous avons fait notre possible pour garder le support de matériel nécessaire au minimum, mais vous avez encore besoin d’un peu de matériel basique, comme un port parallèle standard pour travailler avec les exemples de codes pour ces chapitres.

__________________________________________________


Citation:
Chapter 11 covers the use of data types in the kernel and the writing of portable code.

Citation:
Le chapitre 11 couvre l’utilisation des types de données et l’écriture de code portable.

__________________________________________________


Citation:
The second half of the book is dedicated to more advanced topics. We start by getting deeper into the hardware and, in particular, the functioning of specific peripheral buses. Chapter 12 covers the details of writing drivers for PCI devices, and Chapter 13 examines the API for working with USB devices.

Citation:
La seconde moitié de ce livre est dédiée à des sujets plus avancés. Nous commençons par entrer plus profondément dans le matériel et, plus particulièrement le fonctionnement de certains bus périphériques. Le chapitre 12 couvre en détail l’écriture de pilotes de périphériques pour les périphériques PCI, et le chapitre 13 décortique l’API pour travailler avec les périphériques USB.

__________________________________________________

Citation:
With an understanding of peripheral buses in place, we can take a detailed look at the Linux device model, which is the abstraction layer used by the kernel to describe the hardware and software resources it is managing. Chapter 14 is a bottom-up look at the device model infrastructure, starting with the kobject type and working up from there. It covers the integration of the device model with real hardware; it then uses that knowledge to cover topics like hot-pluggable devices and power management.


Citation:
Avec une compréhension des bus périphériques, nous pouvons faire une vue détaillée du modèle de périphériques Linux, lequel est la couche d’abstraction utilisée par le noyau pour décrire la gestion des ressources matérielles et logicielles. Le chapitre 14 est une vue d'ensemble de l'infrastructure du modèle de périphérique. Il couvre l’intégralité des modèles de périphériques avec le vrai matériel. Il utilise alors cette connaissance pour couvrir le sujet des périphériques connectables à chaud et la gestion de l’alimentation.

__________________________________________________


Citation:
In Chapter 15, we take a diversion into Linux memory management. This chapter shows how to map kernel memory into user space (the mmap system call), map user memory into kernel space (with get_user_pages), and how to map either kind of memory into device space (to perform direct memory access [DMA] operations).
Citation:
Dans le chapitre 15, nous faisons une déviation dans la gestion de la mémoire dans Linux. Ce chapitre montre comment organiser la mémoire du noyau dans l’espace utilisateur (l’appel système <i>nmap</i>), organiser la mémoire dans l’espace du noyau (avec < i>get_user_page</i>) et comment organiser l’une ou l’autre mémoire dans l’espace périphérique (pour accomplir les opérations d’accès direct de la mémoire [DMA]).

__________________________________________________


Citation:
Our understanding of memory will be useful for the following two chapters, which cover the other major driver classes. Chapter 16 introduces block drivers and shows how they are different from the char drivers we have worked with so far. Then Chapter 17 gets into the writing of network drivers. We finish up with a discussion of serial drivers (Chapter 18) and a bibliography.

Citation:
Vos connaissances sur la mémoire vont être utile pour suivre les deux prochains chapitres, qui couvrent les autres principales classes de pilotes. Le chapitre 16 introduit les pilotes en mode bloc et montre en quoi ils sont différents des pilotes en mode caractère avec lesquels nous avons travaillé jusqu’ici. Ensuite, le chapitre 17 rentre dans la manière d’écrire des pilotes réseau. Nous conclurons avec une discussion sur les pilotes séries (chapitre 18) et une bibliographie.








Fin du premier chapitre
__________________
~~~~~ Responsable C et Hardware. ~~~~~
Pour rejoindre l'équipe C ou Hardware MP

Installation de Code::Blocks sous Debian à partir de Nightly Builds

C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère
buchs est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/09/2007, 14h04   #7 (permalink)
Responsable Système
 
Avatar de Michaël
 
Date d'inscription: juillet 2003
Localisation: Blois
Âge: 21
Messages: 2 417
Par défaut

Citation:
Il y a quelques concepts généraux, néanmoins, qu’il vaut la peine de mentionner maintenant.
devient
Citation:
Il y a néanmoins quelques concepts généraux qu’il vaut la peine de mentionner maintenant.
Citation:
Chaque contrôle dans le système est imposé par le code du noyau
devient
Citation:
Chaque contrôle de sécurité dans le système est imposé par le code du noyau
Citation:
Si le noyau contient des trous de sécurité, alors tout le système tout entier en contient
devient
Citation:
Si le noyau contient des trous de sécurité, alors tout le système en contient
Citation:
De cette manière, quand est un noyau officiel est actif
devient
Citation:
De cette manière, quand un noyau officiel est actif
Citation:
Si possible, les programmeurs de pilotes devraient éviter de coder la police de sécurité dans leur code
devient
Citation:
Si possible, les programmeurs de pilotes devraient éviter de coder la politique de sécurité dans leur code
Citation:
Néanmoins, il y a toujours des explications.
devient
Citation:
Néanmoins, il y a toujours des exceptions
Citation:
rechargé le firmware sur un panneau
devient
Citation:
recharger le firmware d'une carte d'extension
Citation:
ces opérations devraient certainement restreintes aux utilisateurs privilégiés.
devient
Citation:
ces opérations devraient certainement être restreintes aux utilisateurs privilégiés.
Citation:
Notez que le noyau Linux peut être compilé pour de telle sorte
devient
Citation:
Notez que le noyau Linux peut être compilé de telle sorte
Citation:
Tout d’abord, notez que <i>chaque</i> progiciel utilisé
devient
Citation:
Tout d’abord, notez que <i>chaque</i> paquet logiciel utilisé
tous les package à remplacer par paquet

Citation:
Les créateurs de distributions Linux manient habituellement le sale problème d’assortir les paquets, et l’utilisateur qui installe une distribution préemballée n’a pas besoin de s’occuper avec les numéros de versions
devient
Citation:
Les créateurs de distributions Linux gèrent habituellement le problème de dépendances et l'utilisateur qui installe une distribution précompilée n'ont pas besoin de s'occuper des numéros de versions
Citation:
Heureusement, presque toutes les distributions modernes supportent la mise à jour de package unique en contrôlant les dépendances interpackage. Le gestionnaire de packages de la distribution n’autorise généralement pas la mise à jour si les dépendances ne sont pas satisfaites.
devient
Citation:
Heureusement, presque toutes les distributions modernes supportent la mise à jour de paquets unique en contrôlant les dépendances interpaquets. Le gestionnaire de paquets de la distribution n’autorise généralement pas la mise à jour si les dépendances ne sont pas satisfaites.
Citation:
Pour exécuter les exemples nous introduisons au cours de la discussion
devient
Citation:
Pour exécuter les exemples que nous introduisons au cours de la discussion
__________________
Cours systèmes : systèmes temps réels, distribués, embarqués, tolérants aux fautes, parallèles, OS, architectures...
Mes articles : php gd, création de dvd vidéo, bootsplash, virtualisation

Dernière modification par Michaël ; 23/09/2007 à 10h20
Michaël est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/09/2007, 16h35   #8 (permalink)
Responsable
Hardware
 
Avatar de buchs
 
Date d'inscription: août 2005
Localisation: Huttenheim
Âge: 21
Messages: 3 901
Envoyer un message via MSN à buchs Envoyer un message via Skype™ à buchs
Par défaut

Je me suis permis de déplacer le post dans la bonne discussion, c'est plus pratique pour corriger

Sinon, j'ai mis le XML à jour à une exception prête :
Citation:
l'utilisateur qui installe une distribution précompilée n'ont pas besoin
devient :
Citation:
l'utilisateur qui installe une distribution précompilée n'a pas besoin
++
__________________
~~~~~ Responsable C et Hardware. ~~~~~
Pour rejoindre l'équipe C ou Hardware MP

Installation de Code::Blocks sous Debian à partir de Nightly Builds

C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère