Как работает свопинг в смартфонах на базе Android?

Сколько бы гигабайт оперативной памяти не было в устройстве – её всегда хочется больше. Ещё в середине 2010 годов появлялись сторонние приложения, позволявшие увеличить ОЗУ для любого телефона. Но почему-то только в 2021 году лишь у некоторых смартфонов появляется встроенная опция расширения оперативной памяти. Почему же инженеры так долго не внедряли эту полезную опцию? Как она работает и работает ли? Или это просто рекламный трюк? В статье попробуем разобраться с этими вопросами.

Как работает технология расширения ОЗУ?

Подкачка виртуальной памяти (свопинг) работает по одному и тому же принципу и в смартфонах, и на настольном компьютере. Подобная опция доступна для всех популярных ОС: Windows, Mac и Linux.

Принцип следующий: при уменьшении доступной памяти ОЗУ, все непомещающиеся байты перемещаются в постоянную память. Для этого на винчестере предварительно выделяется определённое место для виртуальной памяти. И если на компьютере у жёсткого диска места много, то на мобильных устройствах объём выделяемой памяти ограничен несколькими гигабайтами.

Для персонального компьютера опция виртуальной памяти бывает очень полезной, так как можно запустить десятки задач, которые будут действовать с одинаковым приоритетом без деления на фоновые и активные. Если бы свопинга не было, при нехватке физической памяти ОС стала бы тормозить и сбоить, так как ей бы приходилось останавливать первоочередные задачи.

Принцип работы ОЗУ в Android

Разработчики Android также использовали опции увеличения ОЗУ, но добивались этого за счёт компрессии данных. Если на мобильном устройстве заканчивается доступное пространство, мобильная ОС проводит анализ данных и разделяет весь объём оперативки на блоки в 4 КБ. Каждый из этих блоков отмечается как «чистый» и «грязный». К «чистым» поступают данные, не нужные для работы в фоновом режиме, куда относятся изображения, части визуальной составляющей и т.п. В «грязные» блоки попадает то, что нельзя выгрузить или сжать.

Далее данные в «чистых» блоках подвергаются сжатию. Информация всё ещё остаётся в памяти, но потребляет меньше пространства. Если в данных появляется необходимость – они декомпрессируются. Подобный метод работы ОЗУ называется zRAM.

Свопинг в смартфонах на базе Android

Таким образом экономится и пространство, и программ больше вмещается в память. Хотя и тут есть недостатки: на распаковку/запаковку нужно время и ресурс процессора и это делает работу устройства более медленным и энергозатратным.

Поэтому когда имеется много постоянной памяти с хорошим быстродействием, например стандарта UFS 2.1, то лучше данные не архивировать, а направить в виртуальную память, что позволит меньше загружать процессор.

Оперативная память, в отличие от постоянной, является энергозависимой, и чтобы информация не удалялась, ОЗУ необходим постоянный приток энергии. Если устройство лежит без дела, но у него загружена оперативная память, то ОЗУ будет непродуктивно потреблять энергию батареи. Поэтому для экономного расхода продуктивнее направить все «чистые» блоки информации в энергонезависимое ПЗУ. А когда они понадобятся – выгрузить их опять.

Почему свопинг не применялся в Android ранее?

Прежде всего, свопинг был неактуален из-за медленной скорости обработки памяти формата eMMC, который использовался в большинстве устройств. Сейчас даже на бюджетные модели устанавливаются накопители стандарта UFS, с которым свопинг будет эффективным.

Другая причина – это недостаток современной технологии флеш-накопителей из-за небольшого эксплуатационного ресурса. Ячейки памяти изнашиваются тем быстрее, чем чаще перезаписываются байты. И использование подкачки памяти также ускоряет износ. Хотя ресурс флеш-памяти уменьшается только при перезаписывании информации, а не при чтении. Принцип действия свопинга реализован так, что запись проводится значительно реже, чем чтение. В цифровом соотношении это выглядит так: на 1 операцию перезаписывания приходится 40 операций чтения, поэтому степень износа некритична. Но здесь стоит учитывать, что эта технология реализуется в мобильных устройствах не так давно, поэтому статистических данных для точного анализа мало.

Также свопинг не будет эффективен для всех смартфонов. Для бюджетных устройств с ПЗУ формата eMMC эта опция малоэффективна, а у ведущих моделей с 10 ГБ ОЗУ всё и без того хорошо. Но для среднеценового сегмента телефонов с 6 ГБ оперативной памяти технология подкачки памяти станет наиболее актуальной.

В любом случае свопинг можно реализовать для любого мобильного устройства даже без официальной поддержки. Для этого нужен лишь root-доступ и подходящие программы, среди которых наиболее популярны ROEHSOFT RAM Expander, RAM Manager Pro и Link2SD.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *