Linux Day 2012 Kernel Linux: caratteristiche ed utilizzo in ambito produttivo Domenico Chiefali
Cos'è un kernel? E' un software avente il compito di fornire ai processi in esecuzione sull'elaboratore un accesso sicuro e controllato all'hardware
Architetture Kernel Kernel Monolitico MicroKernel Kernel IbridoEsokernel
Kernel Linux Monolitico e Modulare
Numerazione Versioni Linux Schema: A.B.C.D A: versione (modifiche rare a causa di mutamenti radicali) B: revisione maggiore C: revisione minore Aggiunta consistente di Sicurezza e nuovi Driver Correzione errori importanti D: correzione di errori meno consistenti e patch di sicurezza minori
Linea Temporale dello Sviluppo
Diffusione di Linux: le ragioni Basso costo (OpenSource) Customization (OpenSource) AffidabilitàEfficienza Basso Footprint Sicurezza Trend del supporto
Embedded Linux Mobile Phones/SmartPhone Personal Digital Assistants (PDA) Media Players Set-Top Boxes (STB) Consumer Electronics Devices Networking Equipment Machine Control, Industrial Automation Navigation Equipment Medical Instruments
Embedded Linux
Altri contestiAzienda Ambienti di sviluppo Software Server Web/FTP/... Multimedia Cloud Computing Shell Scuole ed Università Enti Pubblici Utente individuale
Problematiche Grandezza del codice (oltre 15 milioni di righe) crescita: +15 mila righe/giorno Parti di codice di difficile interpretazione Sistema di gestione Memoria Virtuale Buona notizia Resisterà grazie alla modularità
Alternativa a Linux... Kernel HURD (microkernel) E' in fase di sviluppo (release 0.2 nel 2007) Collaborazione di Debian GNU/Linux Cattive Notizie Solo il 68% del port dei pacchetti Debian funziona Mancano alcune funzionalità