QNA > Q > Quali Sono I Principali Cambiamenti Che Android Ha Apportato Al Kernel Di Linux?

Quali sono i principali cambiamenti che Android ha apportato al kernel di Linux?

La cosa interessante del design di Android è quanto poco abbiamo modificato il kernel. La maggior parte dei sistemi embedded su cui ho lavorato ha apportato drastici cambiamenti al kernel, solo per lasciare lo spazio utente da solo - per esempio, un kernel "realtime" pesantemente modificato ma X11 per una GUI.

Android è l'opposto: solo minime modifiche al kernel, ma uno spazio utente completamente diverso da quello di qualsiasi altro sistema Unix. Infatti, lo spazio utente di Android è così diverso da quello di Linux, che si può facilmente dire che Android non è in alcun modo un sistema Linux, tranne che per il kernel.

Ecco una lista concisa delle modifiche che abbiamo fatto al kernel Linux:

  • ashmem (Android Shared Memory), un sistema di memoria condivisa basato su file.
  • Binder, un sistema di comunicazione inter-processo (IPC) e chiamata di procedura remota (RPC).
  • logger, un meccanismo di logging in-kernel ad alta velocità ottimizzato per le scritture.
  • Paranoid Networking, un meccanismo per limitare l'I/O di rete a certi processi.
  • pmem (Physical Memory), un driver per mappare grandi porzioni di memoria fisica nello spazio utente.
  • Viking Killer, un OOM killer sostitutivo che implementa la logica di Android "kill least recently used process" in condizioni di bassa memoria.
  • wakelocks, l'unica soluzione di gestione energetica di Android, in cui lo stato predefinito del dispositivo è il sonno ed è richiesta un'azione esplicita (tramite un wakelock) per impedirlo.


E, naturalmente, il solito assortimento di driver, porte per l'architettura ARM, e altro codice di basso livello associato necessario per supportare Android su un dato dispositivo.

Di questa lista, quasi tutti i punti sono stati implementati come driver di dispositivo con poche o nessuna modifica necessaria al codice del kernel. L'unico cambiamento significativo che riguarda il sottosistema è wakelocks.

(Per i curiosi, dalla lista di cui sopra, sono autore di ashmem, logger, e Paranoid Networking.)

Di Darach

Quali sono alcune delle migliori app di realtà aumentata oggi? :: Quali sono i migliori strumenti per lo sviluppo della realtà aumentata? Artboard
Link utili