Dans le développement sur matériel spécifique, il est parfois ardu, ou non-souhaitable, de développer directement un driver dans le kernel. Dans cet article, nous allons voir comment permettre à des applications de l'espace utilisateurs d'interagir…
Tag : kernel
Découverte des mécanismes d’économie d’énergie du kernel Linux
Introduction Dans le cadre de mon stage au sein de Smile ECS, j’ai travaillé sur des moyens d’optimiser la consommation énergétique des systèmes embarqués. Le but de ce post est de vous présenter une méthode pour mesurer la consommation et le…
Introduction au Co-design CPU-FPGA avec Petalinux
Introduction Dans cet article, nous aborderons une introduction au co-design CPU/FPGA en créant une plateforme matérielle sur un FPGA et en développant un système d'exploitation avec PetaLinux, un kit de développement logiciel basé sur Yocto. …
Intégration d'un driver Rust dans Linux via Buildroot
Introduction Depuis quelques années, le langage Rust parvient à se démarquer des quelques nouveaux langages de programmation qui se veulent plus modernes et plus pratiques à utiliser. En effet, grâce à sa prédisposition à éliminer les…
Emulating WLAN in Linux - part II: mac80211_hwsim
Let's continue exploring the WLAN stack in Linux. In the first part of this series, we took a quick glance at what exactly a WLAN "interface" is in Linux, and studied the kernel modules handling them for us in userspace. We…
Linux MMUless
Avant-propos Cela fait bien des années que Linux fonctionne sur des architectures sans MMU. Les plus anciens se souviendront de cette image d'un Pingouin sur un Palm Pilot III. Cependant, 1998 est déjà loin, et depuis qu'en est-il ? …
Gestion de fichiers avancée sous Linux
Gestion de fichiers avancée sous Linux Introduction Les accès disques sont souvent sources de latences considérables et semblent être un point mal maîtrisé au risque de pénaliser les performances du système. Pourtant Linux offre…
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…
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…
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…