Ceci est une version archivée de
Introduction à 2006-11-16 14:21:52.
Introduction
Les auteurs de cet ouvrage ont fait le choix délibéré de restreindre le domaine des exemples et des exercices aux environnements que le lecteur peut le plus facilement rencontrer chez lui : GNU/Linux et Microsoft Windows. Ainsi, tous les points abordés dans ce cours sont vérifiables et réalisables sans plus de ressources qu’un ordinateur personnel et une connexion internet. Ce choix ne nuit absolument pas à la généralité des propos, et tous les sujets traités restent également valables pour tous les systèmes d’exploitation. Un soin particulier a été apporté pour que exemples fonctionnent sur le plus d’environnements possibles, mais il est impossible de garantir leur adéquation à tous les systèmes. Les configurations de référence que nous avons utilisées et testées sont :
- Windows XP Pro – SP2
- Linux Kubuntu Version 6.06 LTS (Dapper), téléchargeable gratuitement depuis http://kubuntu.org, ou livraison gratuite de CDs depuis https://shipit.kubuntu.org . Tous les logiciels sont téléchargés et installés à travers le gestionnaire d'installation fourni (Adept).
- Environnement de développement C et Java :
- GNU make 3.80
- Eclipse 3.1.2
- Compilateur C : gcc-4.0
- Java : Sun Java JDK 5.0
Quelques exemples ont également été validés sur Mac OS X, la version du système d’exploitation Unix développée par Apple.
Le vocabulaire utilisé dans ce livre reprend le plus possible les termes français, en fournissant la traduction anglaise lorsque les nouveaux concepts sont introduits pour la première fois. La seule exception notable est le terme thread, dont l’équivalent français, enfilade, n’est quasiment jamais rencontré dans les ouvrages techniques traitant du sujet. En raison de la ressemblance entre Linux et Unix, les deux termes sont utilisés dans ce livre, avec les significations suivantes :
- Le terme Unix, lorsqu’il est utilisé dans des références historiques, désigne le système d’exploitation développé aux Bell Labs, au début des années 1970, et à tous les systèmes qui en ont été dérivés et ayant acquittés la licence officielle d’AT&T (Linux n’en fait pas partie). Le même terme, lorsqu’il est utilisé dans un contexte technique, ou pour décrire des fonctionnalités du système, est un terme générique qui se réfère aux différentes versions d’Unix et de Linux.
- Le terme Linux désigne les fonctionnalités propres de ce système, et qui ne se retrouvent pas nécessairement dans tous les Unix. Il est entendu que, lorsqu’on traite de fonctionnalités en dehors du noyau, le terme Linux désigne tout l’environnement GNU/Linux. Linux est très dépendant des utilitaires GNU (http://www.gnu.org), mais ces derniers ne font pas formellement partie de Linux.
- Le terme Windows réfère aux versions du système d'exploitation de Microsoft issu de la branche Windows-NT : Windows-NT, Windows 2000, Windows-XP, Windows 2003 Server et Vista. Microsoft a, en effet, commercialisé différents produits sous le nom générique de Windows. Ces autres systèmes d'exploitation ne mettaient que très partiellement en œuvre les concepts évoqués dans cet ouvrage.