1 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Free Electrons Introduction au.

Slides:



Advertisements
Présentations similaires
Mondialiser la solidarité Une stratégie de participation sur Internet.
Advertisements

Parcours de Professionnalisation Epreuve E6 BTS SIO OPTION SISR Ngouma Lorris.
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
SRT 2 NTP. Nécessité ● Les ordinateurs utilisent des horloges à quartz – Peu de précision – Tendance à dériver – Parfois plusieurs secondes par jour.
1 Logiciels Libres Planète en fête 6-7 Juillet 2007.
Présenter le Logiciel Libre Lionel Allorge Frédéric Mandé.
Présentation du système GNU/ LINUX Journée des Logiciels Libres - 10 Décembre 2006.
Lycée Pablo Picasso au Clos Banet BTS iRiSt (informatique & Réseaux) Recrutement Quelles conditions pour être candidat ? ● Bac S, Sti, Gel, Get ● pas de.
Logiciels Libres quels enjeux pour l'ingénieur ? Thomas Petazzoni.
Présentation LabPlus v3. Solution novatrice en Technologies de l’information Solution novatrice en Technologies de l’information Application pour la Gestion.
25/09/2016 La communauté des développeurs du noyau Linux Jean DELVARE SuSE R&D, Support noyau Solutions Linux 2007, 31 janvier 2007.
Apéro SPIP – 16 Novembre 2009 SPIP en chiffres. Les sites SPIP* Introduction Présentation Avantages / Inconvénients SPIP 2.0 Après SPIP 2.0 Démonstration.
Développement d'applications Web avec le framework PHP Symfony 2 Mathieu Peltier (Mercator Océan - CNRS) (UMS 831, Observatoire Midi-Pyrénées)
Date : 9/27/2016 Title : Introducing The Fedora Project and Live CDs_ by Chitlesh GOORAH
1 Créer un extension OpenOffice.org avec Eclipse Créer une extension OpenOffice.org avec Eclipse.
L’évolution du SI. Introduction De nombreux éléments peuvent amener une organisation à faire évoluer son système d’information : Modification des besoins.
Le Bug Tracking Pourquoi chasser les insectes? Théotim Delannay Aymeric Boisard.
Utiliser le nouveau site internet du lycée niort/
Université de La Manouba Ecole Supérieure d’Economie Numérique Élaborer par : LAOUINI Sarra.
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
appareil de mesure (pHmètre P310 Chauvin-Arnoux) Pierre DIEUMEGARD,
Présenté par M. Anis DIALLO
Préhistoire et histoire de Linux
DropBox Projet App’Ifa.
Version (S60) Lien entre le Document unique (DAU) et la banque de données des autorisations MASP pour la procédure de domiciliation et l’allégement.
FARAH.Z "Cours sécurité1" /2016
Utilisation de Windows
Comment accroître le nombre de contributions externes ?
Sécurité - Cisco ASA Supervision du contenu
Séminaire EOLE Dijon octobre 2010
Fedora 26 Quelles nouveautés ? License CC-BY-SA.
Comprendre les valeurs
Les composants informatiques
Présentation J GUIRANDE.
Virtualisation d’applications mobiles dans un réseau de Cloudlets
Algorithmique & Langage C
KORRIGO UN PROJET BILLETIQUE INTEROPÉRABLE
KORRIGO UN PROJET BILLETIQUE INTEROPÉRABLE
QoS - Configuration de NBAR (Network-Based Application Recognition)
1ers pas des utilisateurs migrés
SP6 Cas d'usage & intégration 06/12/2016
Guide des différences entre les deux versions de l’interface web
Démarche de conception. Démarche didactique.
Droit à l’image et droit de l’image.
La plateforme InteropSanté - GAZELLE
Présentation de la carte graphique
Formation sur les bases de données relationnelles.
Module 10 : Configuration de l'impression
Développement d’applications interactives
Le jeu de la bière en réseau
USER GUIDE : BASE DE DOCUMENTATION
Programmation Android Première application Android
Mind mapping.
Gérez vos documents CIRCABC Module 1 DIGIT A3
Assembleur, Compilateur et Éditeur de Liens
PRISE DE LICENCE Et Application FFjudo
Module 13 : Implémentation de la protection contre les sinistres
Communication Assistant V2.0
Odi goo.gl/pBO5i5.
Présenté par M. Anis DIALLO
Présentation du Portail Client
ENREGISTREMENT DES INSPECTIONS VISUELLES
Logiciel de présentation
La gestion des pilotes de périphériques
Les différents modes de démarrage de Windows
La dématérialisation des marchés publics
Exploitation de vos données
IBM Software Cincom Systems Réduire d'environ 20 % le délai de mise sur le marché avec IBM WebSphere Liberty Profile Le besoin: L'équipe d'ingénieurs de.
Gestion des destinataires (recipients)
Traitement de TEXTE 2 Stage – Semaine 3.
Transcription de la présentation:

1 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Free Electrons Introduction au noyau Linux Michael Opdenacker Thomas Petazzoni Free Electrons Traduit en français par Matthieu Rioteau © Copyright , Free Electrons. Creative Commons BY-SA 3.0 license Latest update: 20/09/2016, Document sources, updates and translations: Corrections, suggestions, contributions and translations are welcome !

2 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Développement de pilotes Linux embarqué Généralités sur le noyau Caractéristiques de Linux

3 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Espace utilisateur Le noyau Linux dans le système Bibliothèque C (langage) Noyau Linux Matériel Bibliothèque “A”Application “A” Application “B” Notification des événements, mise à disposition d'informationsAppel des services Notification des événementsGestion du matériel

4 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Historique Le noyau Linux est un des composants d'un système qui requiert également des bibliothèques et des applications afin de fournir des fonctionnalités aux utilisateurs. Le noyau Linux fut créé comme passe-temps en 1991 par un étudiant finlandais : Linus Torvalds. Linux commença rapidement à être utilisé comme noyau dans des systèmes d'exploitations libres. Linus Torvalds fut capable de créer une communauté importante et dynamique de développeurs et d'utilisateurs autour de Linux. De nos jours, des centaines de personnes contribuent à chaque version du noyau, des particuliers et des entreprises, grandes ou petites.

5 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com La licence de Linux L'intégralité des sources de Linux sont libres et sont publiées sous la licence « GNU General Public version 2 » (GPL v2). Pour le noyau Linux, cela implique essentiellement que : Quand vous recevez ou achetez un appareil équipé de Linux, vous devriez recevoir les sources de Linux, avec le droits de les étudier, de les modifier et de les redistribuer. Quand vous fabriquez des produits basés sur Linux, vous devez distribuer les sources au bénéficiaire avec les mêmes droits, sans aucune restriction.

6 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Les fonctions clé du noyau Linux Portabilité et compatibilité matérielle Fonctionne sur la plupart des architectures. Flexibilité Tourne sur des super- ordinateurs comme sur de petits microprocesseurs (4 MB de RAM suffisent). Conformité aux standards et interopérabilité. Support complet du réseau. Sécurité Ses failles ne peuvent être cachées. Le code est revu par des nombreux experts. Stabilité et fiabilité Modularité Peut inclure seulement ce dont le système a besoin pour son exécution Facile à programmer Vous pouvez apprendre depuis le code existant. Beaucoup de ressources utiles sur Internet.

7 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Les architectures matérielles supportées Statut de la version Regarder le répertoire arch/ dans les sources du noyauarch/ Minimum: processeur 32 bits, avec ou sans MMU, support de GCC Architectures 32 bits (sous-répertoires de arch/) arm, avr32, blackfin, cris, frv, h8300, m32r, m68k, m68knommu, microblaze, mips, mn10300, parisc, s390, sparc, um, xtensaarch/ armavr32blackfincrisfrvh8300m32rm68km68knommu microblazemipsmn10300pariscs390sparcumxtensa Architectures 64 bits: alpha, ia64, sparc64 alphaia64sparc64 Architectures 32/64 bits powerpc, x86, sh powerpcx86sh Plus de détails dans les sources : arch/ /Kconfig, arch/ /README, ou Documentation/ /

8 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Les appels système L'interface principale entre le noyau et l'espace utilisateur est l'ensemble des appels système. Environ 300 appels système fournissent les principaux services noyau Opérations sur les fichiers et les périphériques, gestion du réseau, communication entre les process, gestion des process, mappage mémoire, timers, threads, primitives de synchronisation, etc. L'interface est stable dans le temps: les développeurs peuvent seulement ajouter de nouveaux appels système. L'interface d'appels système est couverte par la bibliothèque C et les applications en espace utilisateur ne font en général jamais appel directement à l'interface, mais utilisent plutôt la fonction correspondante de la bibliothèque C.

9 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Les systèmes de fichiers virtuels Linux met les informations système et noyau à disposition de l'espace utilisateur à travers des systèmes de fichiers virtuels (des fichiers qui n'existent sur aucun support réel). Pas besoin de connaître le code du noyau pour accéder à ces informations ! Monter /proc: sudo mount -t proc none /proc Monter /sys: sudo mount -t sysfs none /sys Système de fichier Périphérique ou image Dans le cas des systèmes virtuels, toute chaîne convient Point de montage

10 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Détails de /proc Quelques exemples: /proc/cpuinfo: informations sur le processeur /proc/meminfo: statut de la mémoire /proc/version: version du noyau et information sur la compilation /proc/cmdline: ligne de commande du noyau /proc/ /environ: environnement d'appel du process /proc/ /cmdline: ligne de commande du process... et bien d'autres à découvrir par vous-mêmes. Beaucoup de détails sur l'interface /proc sont disponibles dans Documentation/filesystems/proc.txt (presque 2000 lignes) dans les sources du noyau Documentation/filesystems/proc.txt

11 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Les utilisations de Linux embarqué Généralités sur le noyau Schéma du versionage de Linux et processus de développement

12 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Jusqu'à la version 2.6 (1) Une branche majeure stable tous les 2 ou 3 ans Identifiée par un nombre milieu pair Exemples: 1.0, 2.0, 2.2, 2.4 Une branche de développement pour intégrer les nouvelles fonctionnalités et les changements majeurs Identifiée par un nombre milieu impair Exemples: 2.1, 2.3, 2.5 Après quelques temps, une version de développement devient la nouvelle version de base pour la branche stable Le numéro des publication mineures est incrémenté progressivement: , , etc.

13 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Jusqu'à la version 2.6 (2) Version stable Développement Stable Note: En réalité, il y a beaucoup plus de version mineures dans les branches stable et de développement

14 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Changements depuis Linux 2.6 (1) Depuis la version 2.6.0, les développeurs du noyau ont introduit beaucoup de nouvelles fonctionnalités à un rythme soutenu, sans avoir à effectuer de changements majeurs dans les sous-systèmes déjà existants. Ouvrir une nouvelle branche de développement 2.7 (ou 2.9) ne deviendra nécessaire qu'une fois que Linux 2.6 ne sera plus capable d'accepter de nouvelles fonctions sans causer de profonds changements. Grâce à cela, plus de nouvelles fonctions sont rendues disponibles aux utilisateurs à un rythme plus rapide.

15 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Changements depuis Linux 2.6 (2) Depuis la version , les développeurs du noyau se sont mis d'accord sur le modèle de développement suivant: Après la publication d'une version 2.6.x, un délai de 2 semaines est ouvert pendant lequel les changements majeurs sont intégrés Cette intégration est clôturée par la parution d'une version 2.6.(x+1)-rc 1 Une période de correction des bugs est ouverte, pour 6 à 10 semaines A intervalles réguliers pendant cette période, des versions 2.6.(x+1)- rcY sont publiées. Quand elle est considérée suffisamment stable, une version de noyau 2.6.(x+1) paraît, et le processus redémarre

16 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Intégration et correction de bugs IntégrationCorrection de bugs rc rc rc rc rc semaines6 à 10 semaines Mise à jour de correction de bugs

17 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Plus de stabilité dans l'arbre du noyau 2.6 Problème : les corrections de bugs et de sécurité ne paraissent que pour les versions stables du noyau les plus récentes. Certaines personnes ont besoin d'un noyau récent, mais avec un support à long terme concernant les corrections de sécurité. Il est possible d'obtenir un support à long terme auprès d'un fournisseur Linux embarqué payant. Il est possible de réutiliser les sources du noyau présent dans les versions « Ubuntu Long Term Support » (corrections de sécurité gratuites pendant 5 ans). Il est possible de choisir une version annoncée comme « long term » sur la page kernel.org. Elle sera maintenue plus longtemps (2 ou 3 ans) que les autres versions.

18 Free Electrons. Noyau, pilotes et développement Linux embarqué, conseil, formation et support. http//free-electrons.com Nouveautés dans chaque version La liste officielle des changements de chaque version de Linux paraît sous la forme d'une immense liste de patchs. Difficile d'identifier les changements majeurs et de s'en faire une image globale à partir d'une liste de changements individuels. Heureusement, un résumé des changements clé avec suffisamment de détails est disponible sur : (en) commit 3c92c2ba33cd7d666c5f83cc32aa590e794e91b0 Author: Andi Kleen Date: Tue Oct 11 01:28: [PATCH] i386: Don't discard upper 32bits of HWCR on K8 Need to use long long, not long when RMWing a MSR. I think it's harmless right now, but still should be better fixed if AMD adds any bits in the upper 32bit of HWCR. Bug was introduced with the TLB flush filter fix for i386 Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds... ??!??!