Как разбить память андроид

Разбивка памяти в ОС Андроид

Разбивка памяти в ОС Андроид

Внутренняя память устройства на Android разбита на несколько логических дисков (разделов). Работа с накопителями тоже внесла разнообразие в вариантах организации памяти.

  • Раздел sdcard отсутствует во внутренней памяти, а вместо него используется внешний накопитель — самый популярный вариант. (Рисунок 1)
  • В устройствах со встроенной памятью большого размера, данный раздел видится какsdcard, а внешняя карта памяти видится какsdcard2илиextsd(могут быть и другие варианты названия). Обычно, встречается на устройствах сAndroid3+ и старше. (Рисунок 2, Вариант 1)
  • Данный вариант пришел на смену предыдущему варианту, вместе с Андроид 4.0. РазделUserзаменили папкойmediaна разделеData, что позволило использовать всю доступную пользователю память для установки программ и хранения данных, а не то количество, что выделил нам производитель. Иными словамиsdcardиdataявляются одним целым. (Рисунок 2, Вариант 2). Основной признак (но не гарантия), что у вас именно данный вариант распределения памяти работа с ПК только в режиме MTP, без варианта подключения: USB-накопитель.

Bootloader – здесь находится программа (загрузчик), позволяющая запускать операционную систему Android, Recovery и другие сервисные режимы.
Recovery – как видно из названия, тут установлено инженерное меню восстановления или просто Рекавери.
Boot – сердце Андроид ОС, тут находится ядро, драйвера и настройки управления процессором и памятью.
System – системный раздел, в котором находятся все, необходимые для работы Android ОС, файлы, это как папка Windows на вашем диске С:\ (здесь и далее будем проводить ассоциацию с ОС Windows)
Data – раздел для установки приложений и хранения их данных. (Program files)
User – это всем известная sdcard или, проще говоря, место под пользовательские файлы (Мои документы).Здесь мы вынуждены сделать отступление, т.к. размещение данного раздела имеет несколько вариантов:

Рисунок 2 — Альтернативная разметка разделов встроенной памяти смартфона

После того как усвоили немного матчасти и теории объясню немного про архитектуру папок.
Перейдем в корневой каталог и посмотрим на внутренности самой Android OS:

Рисунок 3 — Часть структуры папок разделов смартфона

В этой схеме, только необходимые для ознакомления, директории. На самом деле их гораздо больше и на обзор только одной папки System можно написать статью объёмом с диссертацию.
И так, папка data. Как можно догадаться из названия, она как-то связана с данными, но с какими? Да практически со всеми, это и данные о синхронизации и аккаунтах, пароли к точкам доступа wifi и настройки vpn, и так далее. Среди всего прочего тут можно обнаружить папки app, data и dalvikcache – рассмотрим их назначение:

  • app – сюда устанавливаются программы и игры.
  • data – здесь хранятся данные приложений, их настройки, сэйвы игр и прочая информация.
  • dalvikcache — программная область кэш-памяти для программы Dalvik. Dalvik это Java-виртуальная машина, которая является основой для работы программ, имеющих *.apk расширение. Для того, чтобы сделать запуск программ быстрее — создается их кэш.

Папка System хранит в себе системные данные и все необходимое для работы ОС. Давайте рассмотрим некоторые из этих папок:

  • app – здесь находятся системные приложения (смс, телефон, календарь, настройки и т.п.), а так же приложения установленные производителем устройства (фирменные виджеты, живые обои и т.д.).
  • fonts – системные шрифты
  • media – содержит стандартные мелодии звонков, уведомлений, будильников и звуков интерфейса, а так же загрузочную анимацию (bootanimation)
  • build.prop – Этот файл упоминается, чуть ли не первым, в разговорах и статьях о тонкой настройке системы. В нем содержится огромное количество настроек, таких как плотность экрана, время задержки сенсора приближения, управление wifi, имя и производитель устройства и многие другие параметры.
Читайте также:  Управление ардуино с андроида по usb

Источник

Как разбить память андроид

Разметка памяти мобильных устройств. Теория и практика

В этой теме будут затронуты следующие вопросы:

  • строение файлов разметки памяти, таких как scatter, MBR, EBR, GPT, EFI, parameter и др.;
  • предложены средства (приложения) для изменения разметки памяти;
  • даны практические рекомендации по осуществлению операций по переразбивке (переразметке) памяти мобильных устройств.

Для начала стоит начать с материала под спойлером «Полезная информация«, а затем, наполнившись знаниями, приступить и к практике, используя приложения, представленные ниже:

Требования:

  • операционная система Windows 7 или выше;
  • установленный пакет .NET 4.0.

Возможности:

  • позволяет изменять размер ЛЮБОГО раздела памяти с автоматическим пересчетом параметров всех разделов;
  • позволяет удалять любой раздел полностью;
  • восстанавливать PMT-файл по имеющемуся scatter-файлу;
  • восстанавливать scatter-файл по имеющемуся PMT-файлу;
  • автоматически формирует файлы разметки памяти (scatter, MBR+EBR);
  • устанавливает верхнюю границу памяти 3 способами ;
  • размеры памяти привязаны к размеру блока, размер которого можно выбрать ;
  • работает с нестандартными scatter-файлами;
  • мультиязычность. Поддерживается два языка: русский и английский.

Свежая версия
Архив содержит папку с ресурсами русского языка, распаковать ВСЮ структуру вместе.
ScatterEditor_v1.06.zip ( 43.32 КБ )

Инструкция
Инструкция пользователя ScatterEditor_v1.06.zip ( 1.36 МБ )

Требования:

  • операционная система Windows 7 или выше;
  • установленный пакет .NET 4.0.

Возможности:

  • поддерживает файлы новой структуры;
  • позволяет изменять размер ЛЮБОГО раздела памяти с автоматическим пересчетом параметров всех разделов;
  • позволяет удалять разделы;
  • автоматически формирует файлы разметки памяти (scatter, MBR+EBR);
  • правильно устанавливает верхнюю границу памяти, которая просматривается через свойства аппарата;
  • мультиязычность. Поддерживается два языка: русский и английский.

Свежая версия
Архив содержит папку с ресурсами русского языка, распаковать ВСЮ структуру вместе.
Scatter2Editor_v207.7z ( 34.77 КБ )

Инструкция в pdf формате
Инструкция пользователя Scatter2Editor_v2.03.zip ( 1011.1 КБ )

Требования

  • операционная система Windows 7 или выше;
  • установленный пакет .NET 4.0.

Возможности

  • позволяет редактировать размер и флаг ЛЮБОГО раздела;
  • позволяет изменять параметры командной строки запуска;
  • мультиязычная версия;

Свежая версия
RK_ParamEd_v1.01.rar ( 20.43 КБ )

Инструкция пользователя
RK_ParamEd_1.01. Users manual.rar ( 990.79 КБ )

  • PartitionsA23 — разметка разделов на процессорах AllWinner — для чипов А23 и А33, A31s (возможно подойдёт и для других чипов)

Приложение для обработки файлов разметки схем DOS (MBR+EBR, partition.bin и т.п.) и GUID (файл GPT, EFI и т.п.).
Требования

  • операционная система Windows 7 или выше;
  • установленный пакет .NET 4.0.

Свежая версия
PartitionsEditor_1.02.rar ( 122.15 КБ )

Инструкция пользователя
Скоро будет.

В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.
Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).

Сообщение отредактировал derak1129 — 12.10.21, 06:08

Проверить успешность процесса переразмеки, можно только одним способом : посмотреть каким стал размер того раздела, манипуляции с которым Вы проводили в программе ScatterEditor .
Посмотреть размеры разделов телефона можно, например, через программку MTK Droid Tools Для этого подключите тел. к ПК, на котором уже установлены все необходимые драйвера, и запускаем прогу (через эту же прогу получаем временный Root-Shell , если его нет) затем жмем на кнопку «Карта блоков» . Появляется новое окошко, в котором и смотрим размеры разделов телефона.

Сообщение отредактировал SevenMaxs — 15.09.14, 17:14

ps: Могу помочь в создании топиков (в стиле Android update-script, лучшую инфу с форума собрал в одном месте).

Prince_Saint
Спасибо за информацию, но Вы не поняли замысел. Я не буду собирать в ОДНО место известные ссылки по тематике разметки, а ПРЕДЛАГАЮ готовые решения для работы. И все это буду подкреплять легкой теорией.
Беда многих перечисленных Вами ссылок в том, что они описывают решение КОНКРЕТНОЙ задачи, не описывая основ. Это приводит к тому, что при бездумном повторении этих решений, большая часть пользователей получает «кирпич» из своего любимца.
Чтобы не быть голословным начнем с описания файла MBR

Что такое MBR-файл.

Введение.
Для работы операционной системы (ОС) необходимо создать таблицу размещения ее частей. Эта таблица находится в MBR (Master Boot Record — главная загрузочная запись), которая физически располагается в начале памяти.
MBR содержит саму таблицу размещения разделов, сигнатуру файла (т.е. признак Boot Record) и исполнимый код, используемый некоторыми ОС для загрузки.

Структура MBR и EBR файлов.

MBR имеет размер 512 байт, т.е. один физический сектор и имеет следующую структуру:

Каждая запись таблицы разделов имеет длину 16 байт, а содержимое зависит от используемой ОС. Для мобильных устройств формат записи таблицы разделов имеет следующий вид:

Структура записи таблицы разделов
——————————————
Смещение Длина Описание
——————————————
00h-03h 4 Неиспользуется (всегда 0х0)
04h 1 Код типа раздела
05h-07h 3 Неиспользуется (всегда 0х0)
08h 4 Смещение раздела (в секторах по 512 байт)
0Ch 4 Количество секторов раздела (длина раздела)
——————————————

Смещение раздела указывается от первого сектора описываемой этой таблицей области памяти. Т.е. если в поле смещения раздела указано значение 0х400, а сама таблица (MBR) расположена в памяти, начиная с адреса 0х00600000 (это указывается в scatter-файле), то этот раздел физически будет расположен в памяти с адреса

0х00600000
+ 0х00080000 (0х400*0х200=0х00080000)
—————
0х00680000

Код типа раздела описывает его содержимое. Так, если раздел не содержит информации, т.е. пуст, то его код устанавливается в 0х00.
Если разделов больше 4 и в одну таблицу MBR они не помещаются, то заводится дополнительная таблица — расширительная. Она называется EBR1 (Extended Boot Record). Код такого раздела 0х05. Коды часто используемых разделов приведены в таблице.
Раздел, содержащий EBR1 имеет точно такую же структуру, только отсутствует исполнимый код. Если количество разделов не помещается и в дополнительную таблицу, то одна из записей будет содержать описание следующей таблицы, имеющей название EBR2. И так далее по мере надобности.

Работа с MBR и EBR файлами.
В файлы, содержащие таблицы MBR и EBR, вносятся изменения после корректировки scatter-файла. Зная первоначальные размер и смещение раздела, его можно найти в таблице BR.
Затем новые значения этих параметров переводятся из байт в сектора, разделив на 512 (0х200), и вписываются в соответствующие поля таблицы.

В связи с большим объемом материала примеры я решил вынести в отдельный пост.

Сообщение отредактировал vin2809 — 12.02.14, 20:39

Введение.
Разметка памяти, т.е. разбивка на разделы, в устройствах на чипах МТК производится при помощи файла, который называется «scatter file».
Он используется программами-прошивальщиками, т.н. флешерами (от английского «flasher») при прошивке полного образа памяти или отдельных ее частей, называемых разделами.
Структура scatter file содержит описание всех существующих разделов памяти, независимо от того, что они будут содержать в работающем устройстве.

Строение scatter file.
Существует две версии структуры scatter-файла. Рассмотрим первую версию, используемую в большинстве мобильных устройств на чипах MTхх.
Полное описание раздела памяти представляет собой набор строк вида:

[__NODL_]name offset [length]
<
>, где

  • __NODL_ — «No download» признак того, что раздел будет пропущен флешером, и для его работы не требуется файл для прошивки. Такой раздел можно вообще исключить из scatter file;
  • name — название раздела;
  • offset — смещение раздела от начала памяти в 16-ричном виде, байт;
  • length — длина раздела в 16-ричном виде, байт.

Квадратные скобки означают необязательный параметр.
Чаще всего используется сокращенная запись вида:

  • — partition_index — индексный номер раздела, например, SYS1;
  • — partition_name — имя раздела, например, MBR;
  • — file_name — имя файла, содержащего образ раздела, или NONE;
  • — is_download — признак загружаемости раздела (что-то типа __NODL_);
  • — type — тип раздела. Указывает на содержимое раздела. Может принимать следующие значения:

EXT4_IMG — раздел содержит часть файловой системы EXT4;
NORMAL_ROM — раздел содержит сохраненный образ или отдельный файл;
SV5_BL_BIN — раздел содержит «сырой код» (Raw Code), т.е. исполнимый код;

  • — linear_start_addr — начальный адрес размещения раздела в файле прошивки, байт;
  • — physical_start_addr — начальный адрес размещения раздела в памяти устройства (физический адрес), байт;
  • — partition_size — размер раздела, байт;
  • — region — размещение раздела. Может принимать следующие значения:

EMMC_BOOT_1 —
EMMC_USER —

  • — storage — HW_STORAGE_EMMC
  • — boundary_check — признак необходимости отметки границы раздела (во внутренней БД или PMT);
  • — is_reserved — признак необходимости резервного копирования;
  • — operation_type — тип операции. Может принимать следующие значения:

BINREGION — область «сырого кода»;
BOOTLOADERS — загрузчик;
INVISIBLE — невидимый раздел;
PROTECTED — защищенный раздел;
RESERVED — зарезервирован;
UPDATE — обновляемый раздел.

  • — reserve

Пример полного scatter-файла второй версии, приведен в файле «Scatter_v2.txt».

Работа со scatter file.
Любой флешер использует scatter file только для ПОЛНОЙ разметки памяти.
Если Вы прошиваете один или несколько разделов, то флешер размещение разделов берет из внутренней «базы данных» — файла PMT (Partitions Map Table). Он считывает значение смещения для раздела (физический адрес) и копирует,т.е. «прошивает» образ раздела в память, начиная с этого физического адреса.
Т.к. scatter file содержит перечень и физические адреса размещения всех разделов памяти, то изменив его можно произвести переразметку этой памяти. Для этого необходимо изменить значения смещений необходимых разделов.
Например, в разделе USRDATA располагаются данные программ пользователя: логи работы и ошибок, данные о рекордах игр и т.д. Поэтому этот раздел чаще других переполняется, что приводит к появлению сообщений вида «Память переполнена».
В типовом scatter file он имеет смещение 0x34f80000 и размер 0x74f80000-0x34f80000=0х40000000(или 1073741824=1Гб). Увеличим его, например, на 256Мб(268435456). Тогда размер раздела станет 1073741824+268435456=1342177280(или 0х50000000 в hex). Т.е. мы добавили в раздел еще 0х10000000 байт. Тогда смещение следующего раздела передвинется на эту же величину:
было — 0х74f80000
стало — 0х84f80000
Если сделать так со смещениями ВСЕХ последующих разделов, то они ВСЕ передвинутся и на эту величину увеличится ОБЩИЙ размер памяти, занимаемой прошивкой. А это недопустимо. Поэтому нужно уменьшить размер какого-либо последующего раздела. У нас это раздел пользователя (FAT).
Изменить его размер мы не можем, т.к. он расположен до конца существующей памяти. Он просто автоматически укоротится.
Казалось бы и все, но укорачивать разделы можно до определенного предела (до «нуля»). Поэтому, если смещение последнего раздела переходит верхнюю границу памяти, то придется откатывать назад все изменения или уменьшать размер «прибавки» раздела.

Пример scatter-файла
Scatter_v2.rar ( 1 КБ )

Сообщение отредактировал vin2809 — 27.02.14, 15:26

Источник

Читайте также:  Синхронизация аккаунта google android как отключить
Оцените статью