Difference between revisions of "ZephyrProject"

From air
Jump to navigation Jump to search
Line 1: Line 1:
 
Zephyr Project
 
Zephyr Project
   
Le projet Zephyr est un projet open source pour construire un petit, évolutif RTOS (Real Time OS) optimisé pour l’IoT. C’est un projet de collaboration hébergé par « Foundation Linux », il réunit plusieurs leaders industriels tel que (Intel, Linaro, Nordic, NXP, Synopsys…). Anciennement appelé Rocket OS (avant qu’il passe sous la gouvernance de « Foundation Linux »), Zephyr connaît depuis 2016 un rapide développement, quelques chiffres pour illustrer (2016 → 2018) :
+
Le projet Zephyr est un projet open source pour construire un petit, évolutif RTOS (Real Time OS) optimisé pour l’IoT. C’est un projet de collaboration hébergé par « Foundation Linux », il réunit plusieurs leaders industriels tels que (Intel, Linaro, Nordic, NXP, Synopsys…). Anciennement appelé Rocket OS (avant qu’il passe sous la gouvernance de « Foundation Linux »), Zephyr connaît depuis 2016 un rapide développement, quelques chiffres pour illustrer (2016 → 2018) :
 
• Répertoires : 5 → 15
 
• Répertoires : 5 → 15
 
• Auteurs : 80 → 354
 
• Auteurs : 80 → 354
Line 7: Line 7:
 
• Boards : 4 → 82
 
• Boards : 4 → 82
   
Les principales qualitées de zephyr sont :
+
Les principales qualités de zephyr sont :
• Participation de la communauté et une gouvernance neutre
+
• Participation de la communauté et une gouvernance neutre
 
• Sécurité
 
• Sécurité
 
• Complet, intégré, configurable, flexible
 
• Complet, intégré, configurable, flexible
Line 14: Line 14:
   
 
Quelques objets connectés utilisent déjà Zephyr :
 
Quelques objets connectés utilisent déjà Zephyr :
• HereO[https://www.hereofamily.com/]
+
• HereO
• CommSolid[https://commsolid.com/]
+
• CommSolid
• Grush[https://www.grushgamer.com/]
+
• Grush
   
Plus techniquement, Zephyr est un unikernel, c’est à dire que le code de l’application et celui du kernel sont dans le même binaire à la compilation, il contient un seul espace d’adressage, il n’a pas de notion de privilège et les fonctionnalités sont choisies avant la compilation. Cela a plusieurs conséquences :
+
Plus techniquement, Zephyr est un unikernel, c’est-à-dire que le code de l’application et celui du kernel sont dans le même binaire à la compilation, il contient un seul espace d’adressage, il n’a pas de notion de privilège et les fonctionnalités sont choisies avant la compilation. Cela a plusieurs conséquences :
 
• performance stable aux changements de contexte
 
• performance stable aux changements de contexte
 
• Sécurité améliorée du point de vue des allocations mémoires 100 % dynamiques
 
• Sécurité améliorée du point de vue des allocations mémoires 100 % dynamiques
• Diminution de l’empreinte mémoires
+
• Diminution de l’empreinte mémoire
 
• Pour modifier un module de l’objet, obligé de recompiler un nouveau binaire
 
• Pour modifier un module de l’objet, obligé de recompiler un nouveau binaire
   

Revision as of 21:23, 8 April 2018

Zephyr Project

Le projet Zephyr est un projet open source pour construire un petit, évolutif RTOS (Real Time OS) optimisé pour l’IoT. C’est un projet de collaboration hébergé par « Foundation Linux », il réunit plusieurs leaders industriels tels que (Intel, Linaro, Nordic, NXP, Synopsys…). Anciennement appelé Rocket OS (avant qu’il passe sous la gouvernance de « Foundation Linux »), Zephyr connaît depuis 2016 un rapide développement, quelques chiffres pour illustrer (2016 → 2018) :

   • Répertoires : 5 → 15
   • Auteurs : 80 → 354
   • Commits : 2 806 → 23 324
   • Boards : 4 → 82

Les principales qualités de zephyr sont :

   • Participation de la communauté et une gouvernance neutre
   • Sécurité 
   • Complet, intégré, configurable, flexible
   • Licence permissive : Apache

Quelques objets connectés utilisent déjà Zephyr :

   • HereO
   • CommSolid
   • Grush

Plus techniquement, Zephyr est un unikernel, c’est-à-dire que le code de l’application et celui du kernel sont dans le même binaire à la compilation, il contient un seul espace d’adressage, il n’a pas de notion de privilège et les fonctionnalités sont choisies avant la compilation. Cela a plusieurs conséquences :

   • performance stable aux changements de contexte
   • Sécurité améliorée du point de vue des allocations mémoires 100 % dynamiques
   • Diminution de l’empreinte mémoire
   • Pour modifier un module de l’objet, obligé de recompiler un nouveau binaire

Les fonctionnalités clés de Zephyr sont les suivantes :

   • Threading coopératif et préventif
   • Mémoire et ressource alloué statiquement
   • Interface de pilote de périphérique intégrée 
   • Protection de mémoire 
   • BLE (Bluetooth Low Energy)
   • Natif, complet et optimisé au niveau du réseau
   • Plusieurs architectures : ARC, ARM, Nios II, RISC-V, Tensilica, x86