Cos'è il Kernel samepage merging in Android?
Kernel Same page Merging è una vecchia caratteristica di Linux e Android l'ha adottata dalla versione Kitkat per facilitare i dispositivi a bassa RAM. Come suggerisce il nome, questa funzione fonde due pagine del kernel se si trova che hanno gli stessi dati. Le pagine unite sono contrassegnate come di sola lettura e condivise tra i proprietari di quella pagina in modo COW. Aiuta a ridurre l'impronta della memoria durante l'esecuzione e fornisce più spazio libero alle applicazioni utente. Identificare le pagine simili in tutta la RAM con memcmp() è un'operazione costosa e non è raccomandata. Quindi, la selezione dell'area candidata su cui viene eseguito l'algoritmo KSM è un criterio critico per ottenere i benefici. In generale, i contenuti di immagini, video, codec e altra grafica 2D hanno più probabilità di contenere dati grezzi simili. Poiché la selezione dell'area candidata è molto probabilmente un'applicazione specifica, KSM fornisce un meccanismo alle applicazioni dello spazio utente con l'aiuto di parametri speciali MADV_MERGEABLE & MADV_UNMERGEABLE della chiamata di sistema madvise(). Questa caratteristica dà più vantaggi per i server. Se l'area candidata è selezionata in modo efficiente bilanciando la potenza e le prestazioni, è una caratteristica molto buona per i telefoni cellulari.
Articoli simili
- Cos'è un kernel? Quali sono i vantaggi e gli svantaggi di installare kernel personalizzati sugli smartphone Android?
- Come fare il porting del kernel più recente su un dispositivo Android con il kernel esistente
- Cosa si intende per kernel stock e kernel personalizzato?
- Cos'è l'algoritmo di congestione TCP nel kernel di Android?