book.pdf
(
519 KB
)
Pobierz
Livre de chevet du
développeur FreeBSD
Livre de chevet du développeur FreeBSD
Version:
43184
Août 2000 par .
Copyright
©
2000, 2001, 2002, 2003 Le groupe du projet de documentation FreeBSD
Résumé
Bienvenue dans le livre de chevet du développeur
Version française de Frédéric Praca
<frederic.praca@freebsd-fr.org>
.
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 liste de diffusion du groupe d'utilisateurs francophones de FreeBSD
tions@FreeBSD-fr.org>
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.
Copyright
Redistribution and use in source (XML DocBook) and 'compiled' forms (XML, HTML, PDF, PostScript, RTF and so forth) with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code (XML DocBook) must retain the above copyright notice, this list of conditions and the following dis-
claimer as the rst lines of this le unmodified.
2. Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce
the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided
with the distribution.
<freebsd-ques-
Important
THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHAN-
TABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD
DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
ii
Table des matières
I. Introduction ............................................................................................................................ 1
1. Développer sous FreeBSD ................................................................................................... 5
2. La vision BSD .................................................................................................................. 7
3. Survol de l'architecture ..................................................................................................... 9
4. L'agencement de /usr/src ................................................................................................. 11
II. Les fondamentaux .................................................................................................................. 13
5. Outils de programmation ................................................................................................. 17
5.1. Synopsis ............................................................................................................. 17
5.2. Introduction ........................................................................................................ 17
5.3. Introduction à la programmation ............................................................................. 17
5.4. Compiler avec
cc
................................................................................................. 19
5.5. Make ................................................................................................................. 25
5.6. Déverminer ......................................................................................................... 28
5.7. Utiliser Emacs comme environnement de développement ............................................. 31
5.8. Pour aller plus loin ............................................................................................... 39
6. Programmation sécurisée ................................................................................................. 41
6.1. Synopsis ............................................................................................................. 41
6.2. Méthodologie de développement sécurisé .................................................................. 41
6.3. Dépassement de capacité ....................................................................................... 41
6.4. Les problèmes liés à SetUID .................................................................................... 43
6.5. Limiter l'environnement de votre programme ............................................................ 44
6.6. La conance ........................................................................................................ 45
6.7. Les conditions de course ........................................................................................ 45
III. Le noyau ............................................................................................................................. 47
7. Histoire du noyau Unix .................................................................................................... 51
8. Notes sur le verrouillage .................................................................................................. 53
8.1. Les mutex ........................................................................................................... 53
8.2. Les verrous du gestionnaire de verrous (Lock Manager) ................................................ 55
8.3. Variables protégées atomiquement .......................................................................... 55
IV. Mémoire et mémoire virtuelle ................................................................................................. 57
9. La mémoire virtuelle ....................................................................................................... 61
V. Système E/S (Entrées/Sorties) ................................................................................................... 63
10. UFS ............................................................................................................................ 67
VI. Communication InterProcessus (IPC) ......................................................................................... 69
11. Les signaux .................................................................................................................. 73
VII. Le réseau ........................................................................................................................... 75
12. Les prises .................................................................................................................... 79
VIII. Systèmes de fichiers en réseau ............................................................................................... 81
13. AFS ............................................................................................................................ 85
IX. Gestion du terminal ............................................................................................................... 87
14. Syscons ....................................................................................................................... 91
X. Le son ................................................................................................................................. 93
15. OSS ............................................................................................................................ 97
XI. Pilotes de périphérique .......................................................................................................... 99
16. Ecrire des pilotes de périphériques pour FreeBSD ............................................................... 103
16.1. Introduction ..................................................................................................... 103
16.2. L'éditeur de liens dynamiques du noyau - KLD ......................................................... 103
16.3. Accéder au pilote d'un périphérique ...................................................................... 104
16.4. Les périphériques caractères ................................................................................ 105
16.5. Pilotes Réseau .................................................................................................. 108
17. Les périphériques PCI ................................................................................................... 109
17.1. Rechercher et rattacher ...................................................................................... 109
17.2. Les ressources du bus ......................................................................................... 112
18. Contrôleurs SCSI Common Access Method (CAM) ** ............................................................ 115
18.1. En cours de traduction ....................................................................................... 115
19. Périphériques USB *** .................................................................................................. 117
Table des matières
19.1. Introduction .....................................................................................................
20. NewBus .....................................................................................................................
XII. Architectures .....................................................................................................................
21. IA-32 .........................................................................................................................
22. Alpha ........................................................................................................................
23. IA-64 .........................................................................................................................
XIII. Déverminage ....................................................................................................................
24. Truss ........................................................................................................................
XIV. Les couches de compatibilité ................................................................................................
25. Linux ........................................................................................................................
XV. Bibligraphie .......................................................................................................................
Bibliographie ...................................................................................................................
117
119
121
125
127
129
131
135
137
141
143
147
iv
Liste des tableaux
8.1. Liste du mutex .................................................................................................................... 54
8.2. lockmgr(9) List de verrou ....................................................................................................... 55
Plik z chomika:
musli_com
Inne pliki z tego folderu:
book.pdf
(519 KB)
index.html
(5 KB)
Inne foldery tego chomika:
faq
fdp-primer
handbook
Zgłoś jeśli
naruszono regulamin