QNA > C > Cos'è Il Kernel Samepage Merging In Android?

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.

Di Gader Dorvee

Negli smartphone, qual è il significato di codice sorgente del kernel? :: Come influiscono i fuori bilancio sul conto economico?
Link utili