Introduction : Le DNS pour Domain Name System, est un protocole ancien qui permet de retrouver une adresse d’un serveur depuis son nom. Il est pour la première fois décrit dans les RFC1034, RFC1035 et RFC2782, en 1987. Ce protocole est basé sur un serveur qui répond sur des requêtes envoyées sur le port 53 du protocole UDP (et TCP si…
Présentation des Wireless Daemon sous Linux
Introduction À en croire les forums de différentes distributions GNU/Linux ; le Wi-Fi sous Linux est lent, difficile à configurer, la documentation est pauvre et globalement il est bien trop compliqué à utiliser. Si une si grande partie de la communauté tend à avoir des difficultés avec le Wi-Fi c’est que ces reproches sont en partie fondés. Une des cibles de…
Ordonnancement temps réel souple et affinité CPU sous Linux Vanilla
Linux est un système d’exploitation préemptif offrant des interfaces très riches pour bien ordonnancer, synchroniser et contrôler l’affinité de chaque processus (ou thread) utilisateur.En effet, les fonctionnalités temps réel déja disponibles sous Linux vanilla (appelé aussi Linux standard) sont généralement largement suffisantes pour répondre à nos besoins temps réel souple et applications industrielles non critiques. Echéances des tâches et sources…
Emulating WLAN in Linux – part I: the 802.11 stack
WLAN networks are a hassle to set up, even more than « physical » cables and RJ45 plugs. While wireless communication is a commodity for the end user, the engineer, in charge of developing and testing it at software level, can be quickly annoyed. This article is written from the point of view of someone having to develop Wi-Fi related code, e.g.…
La cuisine Alsa
Le son Le son est une onde mécanique qui peut être générée par un signal analogique, ce qui rend son traitement en informatique délicat mais possible. L’oreille humaine a toute son importance dans la manière d’utiliser l’outil informatique, car celui-ci ne permet pas un rendu parfait. Notre oreille permet d’entendre des sons dans une bande de fréquence approximative de 16Hz…
Introduction à SIGFOX
1. Introduction Générale SIGFOX est une technologie propriétaire créée par la société française éponyme fondée en 2009. Le réseau SIGFOX fait partie des réseaux LPWAN (Low Power Wide Area Network) au même titre que le LORAWAN basé sur la modulation LoRa. Le réseau utilise les bandes de fréquences libres ISM (Industrial, Scientific and Medical frequency band). Par exemple, en Europe,…
Contiki-NG et AWS IoT
Le réseau de capteurs sans fil (RCSF) appelé aussi WSN (Wireless Sensor Network) est un domaine de recherche en expansion qui a su trouver son chemin vers l’industrie. Le succès de ces petites cartes embarquées revient principalement à leurs systèmes d’exploitation conçus spécifiquement pour des environnements à ressources très limitées (dont Contiki est le plus connu).Une liste exhaustive des OS destinés au…
Overcommit memory in Linux
On Linux systems (including real time ones with PREEMPT-RT), C programs allocates memory using the system libc, usually using malloc(). On modern systems, the dynamic memory allocation uses the principle of overcommit. This is based on MMU and the interruption generated when accessing non-mapped memory (or mapped memory with wrong flags, like write on read-only page). When this principle is applied (not…
Storing crash data of the Linux kernel for post-crash debugging
Logging problems are key features of any complex system in order to detect and locate any unexpected behavior. On Linux system, there are lots of solutions to generate debugging information for an unexpected behavior of a userspace application (log messages, core dump). But what could we do if there is a kernel problem ? Few solutions exist although none are trivial.…
Gestion de versions des bibliothèques partagées
Tout code est susceptible au changement, avec pour objectif d’ajouter des fonctionnalités, de résoudre des BUGS ou même d’aller jusqu’a modifier les interfaces (altérer les prototypes des fonctions). Généralement plus un code est utilisé par la communauté, plus il est déconseillé de modifier les interfaces lors d’une évolution. Cependant, la rétrocompatibilité reste floue pour certains développeurs surtout lors de la…