%chapters; ]> Livre de chevet du développeur FreeBSD Le groupe du projet de documentation FreeBSD Août 2000 2000 2001 2002 2003 Le groupe du projet de documentation FreeBSD &legalnotice; $FreeBSD$ Bienvenue dans le livre de chevet du développeur &trans.a.praca; N.d.T.: La version française est publiée sur le serveur World Wide Web du groupe de traduction en langue française de la documentation de FreeBSD. N.d.T.: Contactez la &a.fr-doc; si vous voulez collaborer à la traduction. La traduction de ce manuel est “en cours”. Dans la table des matières ci-dessous: Les chapitres marqués de deux astérisques sont en cours de traduction. Les chapitres marqués de trois astérisques sont à traduire. L'astérisque simple est réservé aux chapitres et sections en cours de rédaction dans la version U.S. Introduction Développer sous FreeBSD Ce document a pour but de décrire FreeBSD comme une plateforme de développement, la vision de BSD, un survol de l'architecture, l'agencement de /usr/src, l'histoire, etc. Merci d'adopter FreeBSD comme votre plateforme de développement ! Nous espérons qu'elle ne vous laissera pas tomber. La vision BSD Survol de l'architecture L'agencement de /usr/src Le code source complet de FreeBSD est disponible depuis notre base CVS publique. Le code source est normalement installé sous /usr/src qui contient les sous-répertoires suivants. Répertoire Description bin/ Sources des fichiers de /bin contrib/ Sources des fichiers des logiciels fournis ("contributed"). crypto/ Sources du DES etc/ Sources des fichiers de /etc games/ Sources des fichiers de /usr/games gnu/ Utilitaires sous licence publique GNU include/ Sources des fichiers de /usr/include kerberosIV/ Sources de Kerbereros version IV kerberos5/ Sources de Kerbereros version 5 lib/ Sources des fichiers de /usr/lib libexec/ Sources des fichiers de /usr/libexec release/ Fichiers requis pour la production d'une version stable de FreeBSD sbin/ Sources des fichiers de /sbin secure/ Sources de FreeSec share/ Sources des fichiers de /sbin sys/ Fichiers source du noyau tools/ Outils utilisés pour la maintenance et les tests de FreeBSD usr.bin/ Sources des fichiers de /usr/bin usr.sbin/ Sources des fichiers de /usr/sbin Les fondamentaux &chap.tools; &chap.secure; Le noyau Histoire du noyau Unix Un peu d'histoire sur le noyau Unix/BSD, les appels système, comment fonctionnent les processus, bloquer, planifier, les threads (noyau), le basculement de contexte, les signaux, les interruptions, les modules, etc. &chap.locking; Mémoire et mémoire virtuelle La mémoire virtuelle MV, gestion par page, gestion sur disque, allouer de la mémoire, tester les fuites de mémoires, mmap, vnodes, etc. Système E/S (Entrées/Sorties) UFS UFS, FFS, Ext2FS, JFS, inodes, mémoire tampon, mettre à jour les données d'un disque, verrouillage, metadata, soft-updates, LFS, portalfs, procfs, vnodes, partage de mémoire, objets en mémoire, TLBs, mettre en cache Communication InterProcessus (IPC) Les signaux Signaux, tubes, sémaphores, files de message, segments de mémoire partagée, ports, prises, portes Le réseau Les prises Prises, bpf, IP, TCP, UDP, ICMP, OSI, ponts, pare-feux, translation d'adresses (NAT), séparation de réseaux, etc Systèmes de fichiers en réseau AFS AFS, NFS, SANs etc] Gestion du terminal Syscons Syscons, tty, PCVT, console en liaison série, économiseurs d'écran, etc Le son OSS OSS, formes d'ondes, etc Pilotes de périphérique &chap.driverbasics; &chap.pci; &chap.scsi; &chap.usb; NewBus Ce chapître traitera de l'architecture NewBus de FreeBSD. Architectures IA-32 Traite des spécificités de l'architecture x86 sous FreeBSD. Alpha Traite des spécificités de l'architecture Alpha sous FreeBSD. Explication des erreurs d'alignements, comment les réparer, comment les ignorer. Exemple de code assembleur pour FreeBSD/alpha. IA-64 Traite des spécificités de l'architecture IA-64 sous FreeBSD. Déverminage Truss diverses descriptions sur les méthodes de déverminage de certains aspects du système utilisant truss, ktrace, gdb, kgdb, etc Les couches de compatibilité Linux Linux, SVR4, etc Bibligraphie DaveAPatterson JohnLHennessy 1998Morgan Kaufmann Publishers, Inc. 1-55860-428-6 Morgan Kaufmann Publishers, Inc. Computer Organization and Design The Hardware / Software Interface 1-2 W.RichardStevens 1993Addison Wesley Longman, Inc. 0-201-56317-7 Addison Wesley Longman, Inc. Advanced Programming in the Unix Environment 1-2 MarshallKirkMcKusick KeithBostic MichaelJKarels JohnSQuarterman 1996Addison-Wesley Publishing Company, Inc. 0-201-54979-4 Addison-Wesley Publishing Company, Inc. The Design and Implementation of the 4.4 BSD Operating System 1-2 AlephOne Phrack 49; "Smashing the Stack for Fun and Profit" ChrispinCowan CaltonPu DaveMaier StackGuard; Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks ToddMiller Theode Raadt strlcpy and strlcat -- consistent, safe string copy and concatenation.