Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
FDD-book — Livre sur les pilotes de périphériques FreeBSD | Kitploit
Outils/GitHubGitHub/ebrandi/fdd-book
Sécurité des Systèmes EmbarquésRétro-ingénierieDébogueursHacking MatérielSécurité MatérielleApprentissage et ÉducationParcours et CoursAnalyse de MicrologicielLabs et Pratique
GitHubebrandi/fdd-book

FDD-book

Livre sur les pilotes de périphériques FreeBSD

6005020il y a 1 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Couverture du livre FreeBSD Device Drivers

FreeBSD Device Drivers

Des premiers pas à la maîtrise du noyau

par Edson Brandi · Version 2.0 (Avril 2026)

Licence FreeBSD Pages Statut Langues


À propos de ce livre

FreeBSD Device Drivers : Des premiers pas à la maîtrise du noyau est un livre gratuit et open source qui vous emmène de « Je n’ai jamais écrit de code dans le noyau » à « Je sais écrire, déboguer et soumettre des pilotes FreeBSD de qualité professionnelle ». Il s’agit davantage d’un cours guidé que d’une référence, structuré autour de 38 chapitres, 6 annexes et des dizaines de laboratoires pratiques qui se compilent et se chargent sur un vrai système FreeBSD 14.x.

Le livre s’adresse à des lecteurs qui sont prêts à apprendre plutôt que déjà qualifiés. Il commence par les fondamentaux d’UNIX et du langage C, avance pas à pas à travers chaque concept que le noyau exigera de vous, et seulement ensuite ouvre la porte au développement de pilotes. Quand vous arriverez à la DMA, aux interruptions et au travail avec PCI, le vocabulaire vous semblera acquis, non imposé.

« La programmation du noyau reste de la programmation, seulement avec des règles plus explicites, plus de responsabilités et un peu plus de pouvoir. Une fois que vous comprenez cela, la peur laisse place à l’enthousiasme. » (extrait du chapitre 1)

Pourquoi ce livre ?

Il existe déjà d’excellentes références sur le noyau FreeBSD, notamment man 9, le Architecture Handbook et les articles sur Newbus. Ce qui manquait, c’est un texte unique qui :

  • Part de zéro. UNIX, C et l’environnement FreeBSD sont enseignés avant qu’aucun code noyau ne soit écrit.
  • Cible spécifiquement FreeBSD 14.x. Chaque API, chaque exemple, chaque laboratoire a été vérifié par rapport à l’arborescence source de FreeBSD 14.3.
  • Traite les laboratoires comme des éléments de première classe. Environ la moitié du temps d’étude recommandé est pratique. Les mêmes motifs (attachement, nettoyage, verrouillage) reviennent dans tous les chapitres jusqu’à devenir un réflexe.
  • Construit un pilote tout au long du livre. Le pilote myfirst évolue chapitre après chapitre, gagnant la synchronisation, puis l’accès au matériel, puis les interruptions, puis la DMA. Vous voyez le même code mûrir entre vos mains.
  • Couvre l’intégralité du cycle de vie. De « Bonjour, module noyau » jusqu’à la soumission d’une revue sur Phabricator et l’intégration d’un pilote dans l’arbre FreeBSD.

À qui s’adresse ce livre

  • Les débutants qui connaissent peu le C, UNIX ou les noyaux mais sont prêts à apprendre.
  • Les développeurs curieux de comprendre comment les systèmes d’exploitation fonctionnent réellement sous le capot.
  • Les professionnels qui utilisent déjà FreeBSD (ou des systèmes similaires) et souhaitent approfondir leurs connaissances en apprenant comment les pilotes sont construits en pratique.

À qui ce livre ne s’adresse pas

  • Aux lecteurs qui cherchent un manuel prêt à copier-coller. Le livre privilégie la compréhension aux raccourcis.
  • Aux développeurs noyau aguerris qui n’ont pas besoin des bases. Le rythme part des fondations.
  • Aux lecteurs souhaitant une référence matérielle encyclopédique. L’accent est mis sur le développement de pilotes FreeBSD dans le monde réel, pas sur des spécifications exhaustives de bus ou de périphériques.

Ce que vous apprendrez

Le livre est organisé en sept parties qui s’appuient les unes sur les autres :

PartieTitreObjectif
1Fondations : FreeBSD, C et le noyauConfiguration du laboratoire, UNIX, C pour le noyau, anatomie d’un pilote
2Construire votre premier pilotePilotes caractère, fichiers de périphérique, lecture/écriture, E/S
3Concurrence et synchronisationThreads, mutex, condvars, temporisateurs, taskqueues, sémaphores
4Intégration matérielle et au niveau de la plateformePCI, interruptions, MSI/MSI-X, DMA, gestion d’énergie
5Débogage, outils et pratiques du monde réelTrace, KGDB, débogage avancé, réglage des performances
6Écrire des pilotes spécifiques à un transportUSB, série, stockage/VFS, pilotes réseau
7Sujets de maîtrise : scénarios particuliers et cas limitesPortabilité, virtualisation, sécurité, embarqué, rétro-ingénierie, soumission en amont

À la fin, vous aurez écrit et chargé vos propres modules noyau, construit un pilote de type caractère, géré de vraies interruptions et de la DMA, débogué des paniques noyau, profilé votre pilote sous charge et parcouru chaque étape de contribution de votre travail au projet FreeBSD.

Statistiques du livre

Pages4 500+
Chapitres38
Annexes6
Temps de lecture~100 heures
Temps de laboratoire~100 heures
Temps d’étude total~200 heures (≈6 mois à 5 h/semaine)
Version cible de FreeBSD14.3
LanguesAnglais (original) · Portugais brésilien (traduit par IA) · Espagnol (traduit par IA)
FormatsPDF · EPUB · HTML · Source Markdown

Table des matières complète

Cliquez pour développer la liste complète des chapitres

Partie 1 : Fondations de FreeBSD, C et le noyau

  1. Introduction : De la curiosité à la contribution
  2. Configuration de votre laboratoire
  3. Une douce introduction à UNIX
  4. Un premier regard sur le langage C
  5. Comprendre le C pour la programmation du noyau FreeBSD
  6. L’anatomie d’un pilote FreeBSD

Partie 2 : Construire votre premier pilote

  1. Écrire votre premier pilote
  2. Travailler avec les fichiers de périphérique
  3. Lire et écrire sur des périphériques
  4. Gérer efficacement les entrées et sorties

Partie 3 : Concurrence et synchronisation

  1. Concurrence dans les pilotes
  2. Mécanismes de synchronisation
  3. Temporisateurs et travaux différés
  4. Taskqueues et travaux différés
  5. Plus de synchronisation : conditions, sémaphores et coordination

Partie 4 : Intégration matérielle et au niveau de la plateforme

  1. Accéder au matériel
  2. Simuler du matériel
  3. Écrire un pilote PCI
  4. Gérer les interruptions
  5. Gestion avancée des interruptions
  6. DMA et transfert de données à haute vitesse
  7. Gestion d’énergie

Partie 5 : Débogage, outils et pratiques du monde réel

  1. Débogage et trace
  2. Intégration avec le noyau
  3. Sujets avancés et conseils pratiques

Partie 6 : Écrire des pilotes spécifiques à un transport

  1. Pilotes USB et série
  2. Travailler avec les périphériques de stockage et la couche VFS
  3. Écrire un pilote réseau

Partie 7 : Sujets de maîtrise

  1. Portabilité et abstraction des pilotes
  2. Virtualisation et conteneurisation
  3. Bonnes pratiques de sécurité
  4. Device Tree et développement embarqué
  5. Réglage des performances et profilage
  6. Techniques avancées de débogage
  7. E/S asynchrones et gestion des événements
  8. Créer des pilotes sans documentation (rétro-ingénierie)
  9. Soumettre votre pilote au projet FreeBSD
  10. Dernières réflexions et prochaines étapes
Télécharger l’outil