Difference between revisions of "ZephyrProject"
Yohann.mateo (talk | contribs) |
Yohann.mateo (talk | contribs) |
||
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 |
+ | 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 |
+ | 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 |
+ | • HereO |
− | • CommSolid |
+ | • CommSolid |
− | • Grush |
+ | • Grush |
− | Plus techniquement, Zephyr est un unikernel, c’est |
+ | 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 |
+ | • 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