Originariamente inviato da XVincentX
Sapete che sono noob ancora in linux ma sto cercando di imparare e quindi mi servono delle informazioni.
Alura, vediamo un po`

1.Il kernel è il cuore del sistema operativo, ma in particolare cosa ci sta scritto?
Dunque, fondamentalmente ci stanno i device driver, i vari meccanismi di gestione, ovvero scheduler (i/o e processi), filesystem, allocatori (memoria) e le implementazioni di vari protocolli di rete, piu` probabilmente qualcos'altro che non ricordo al momento

2.www.kernel.org è il sito ufficiale del Kernel di Linux...chi lo sta sviluppando?
Linus Torvalds, Alan Cox, Rusty Russel, Andrew Morton e molti, molti altri. Vedi i ChangeLog per trovare un po` di nomi.
3.Se scarico il kernel aggiornato posso sostituirlo a quello della mia distro? In che modo?
Si, puoi sostituirlo con qualche precauzione e accortezza.
Il fatto e` che parecchie distribuzioni personalizzano e adattano il kernel, cosi` sostituendolo con uno standard e` possibile che alcune parti della distro, anche sostanziali, potrebbero smettere di funzionare...
Per capire come ricompilare il kernel potresti iniziare dal Kernel-HOWTO.
4.Come si programma una distro e il suo kernel? In C++?
Programmare una distro e` diverso da programmare il kernel.
Il kernel e` quasi tutto C (ma lo stile di programmazione e` molto simile alla programmazione a oggetti), con punte di ASM e qualche script di shell o perl.
Le distro (tool di gestione, script di avvio...) si programmano in quasi tutti i linguaggi esisitenti, con prevalenza di shell scripting, perl, python, C e C++.
Idem, grossomodo, per i programmi costituenti una distribuzione.
5.Sbaglio o il kernel è presente anche in Windows (kernel32)
Certamente. Il kernel e`, in generale, un componente dei sistemi operativi, quindi un sistema operativo avra` un kernel. Poi ovviamente molto dipende dalle scelte di design e di implementazione, ma come concetto il kernel c'e` (quasi) sempre
6. Unix è una piattaforma versatilissima per i server web soprattutto (ed è anche un'alternativa molto economica a Windows). Ma in particolare per quali altri impeghi può essere utilizzato?
Con percentuale variabile di successo, tutte. Dal (soft) realtime all'embedded passando per il desktop e finendo sul mainframe.
7. Mettiamo caso ho fatto un programma in C/C++
Se lo compilo su Windows mi da gli eseguibili per windows, se lo compilo su Linux mi da eseguibili per linux...quindi un programma in C/C++ è versatilissimo in quanto basta compilarlo su piattaforme diverse per avere versioni per ogni sistema operativo che supporti un compilatore?
Si, in teoria. Ma programmi non-banali possono usare caratteristiche particolari del sistema operativo (quindi non disponibili su altri), o particolari librerie.
Non e` quello che si intende comunemente per "versatilita` massima"