Ram dump что это
Русские Блоги
Введение в ramdump-парсер платформы Qualcomm
ramdump Что это? Проще говоря, это файл сбоя памяти, который извлекает информацию о данных в определенный момент времени из системной памяти и сохраняет ее определенным способом, который относится к формату файла ELF.
Если в системе возникает неустранимая ошибка, которую невозможно восстановить, это очень важный расширенный метод отладки, позволяющий активно активировать ramdump для захвата, чтобы сохранить ненормальную сцену для автономного анализа и локализации.
После срабатывания ramdump в Qualcomm его можно подключить к USB и извлечь через ПК. Это набор двоичных файлов. Вам необходимо использовать специальный инструмент сценариев для дальнейшего анализа, прежде чем использовать его для отладки, как показано ниже. Кратко опишите, как использовать инструмент-скрипт для анализа ramdump:
1、Сохраните следующее содержимое скрипта в:
/ work / script / ramdump-parser.sh,
#! /bin/bash
echo “”
echo “Start ramdump parser…”
local _path= KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 61: …» style=»color:#̲008080;»> local_path /
vmlinux= KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 72: …» style=»color:#̲008080;»> local_path /out
/tools/gnu-tools/aarch64-linux-android- 4.9 /bin/aarch64-linux-android-gdb
nm=
/tools/gnu-tools/aarch64-linux-android- 4.9 /bin/aarch64-linux-android-nm
objdump=
/tools/gnu-tools/aarch64-linux-android- 4.9 /bin/aarch64-linux-android-objdump
# git clone git://codeaurora.org/quic/la/platform/vendor/qcom-opensource/tools
ramparse_dir=
echo «cd KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 138: …» style=»color:#̲008080;»> ramparse_dir
echo “”
cd KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 192: …» style=»color:#̲008080;»> out »
echo “”
exit 0
2、Удалите инструмент разбора Qualcomm со следующего адреса:
3、воляgdb,nm,objdumpс участиемramdumpИнструмент синтаксического анализа размещается по следующему пути, и он должен различать 32/64 бита.
4、Возьмиramdump+vmulinuxПоложите в любой каталог:
5、Выполните синтаксический анализ (требуется python2.7.5):
Start ramdump parser…
cd /home/android/tools/ramdump/tools/linux-ramdump-parser-v2
. Out directory does not exist. Creating…
Получаем образ оперативной памяти
Содержание оперативной памяти является очень важной информацией при изучении предыдущих действий с машиной. Оперативная память может содержать как части самих исполняемых процессов, так и части удаленных файлов, пользовательских сессий, криптографических ключей. При современном распространении сложных систем защиты информации, основанных на криптовании восстановление их ключей становиться чуть-ли не одной из основных задач для исследования. В защищенных системах зачастую оперативная память это единственное место где могут сохраниться защитные ключи и другая временная, но очень важная информация.
Процесс получения информации, которая содержится в оперативной памяти состоит из двух этапов: изъятие содержимого оперативной памяти
и
анализ полученных во время изъятия данных.
Обращая внимание на первый этап стоит заметить, что изъятие оперативной памяти может быть выполнено с помощью ряда средств: непосредственный доступ к памяти с использованием специальных плат расширения, порта FireWire, и даже физическом изъятии запоминающего устройства оперативной памяти (потребует замораживания плат),
но в данном материале мы рассмотрим программные средства, которые позволяют изъять содержимое оперативной памяти защищенных машин путем так называемой «горячей» перезагрузки и запуска машины в Live-режиме.
Для выполнения этой задачи будем использовать специальный дистрибутив Ubuntu CyberPack (IRF) 1.0, состоящий из минимального набора компонент, а именно, только те, которые необходимы для изъятия данных из памяти. Соответственно отсутствует и графический интерфейс.
Использование такого подхода к изъятию содержимого оперативной памяти имеет ряд преимуществ и недостатков сравнительно с другими перечисленными выше средствами.
Плюсы:
— использование Live-дистрибутива позволяет проводить действие не зависимо от того какая операционная система установлена на исследуемой машине;
— отсутствуют затраты на приобретение дорогостоящих специальных устройств, кабелей, плат, и др.
Недостаток:
— содержимое оперативной памяти будет неполным — ее часть будет перезаписана данными, необходимыми для запуска Live-дистрибутива (приблизительно 125 Мб).
Для использования доступны специально собранные дистрибутивы для машин с памятью объемом до 3 Гб (і386) и свыше 3 Гб (amd64). С их помощью можно создать загрузочный CD/DVD-диск или загрузочный USB-диск.
Замечания:
— второго шанса система нам не дает — у нас есть только одна попытка. т. е. при повторной перезагрузке исследуемого компьютера большая вероятность того что мы уже не найдем необходимой информации. Отсюда следует что не надо перезагружать его несколько раз, экспериментировать, прицеливаться.
Необходимо заранее подготовится и знать как компьютер себя поведет после перезагрузки.
Большинство современных компьютеров позволяют прямо при старте указать откуда производить загрузку, но если этого нет, тогда необходимого настроить BIOS машины на загрузку с CD/DVD-привода или USB-привода/накопителя, после чего загрузить Live-дистрибутив с указанного устройства.
Перезагружаем компьютер.
ВАЖНО: перезагрузка ни в коем случае не должна быть холодной (путем нажатия кнопки «ресет» или выключение\включение питания), а именно — перезагрузка должна быть осуществлена средствами самой работающей системы (например нажатием кнопок Ctrl-Alt-Del или путем выбора пункта «перезагрузка» в системе)
После загрузки дистрибутива пользователю доступна привычная строка консоли Linux, и краткая информация для запуска модуля.
Замечание: Для дальнейших действий понадобиться примонтировать заранее подготовленный носитель (внешний жесткий диск, флеш-накопитель) с файловой системой ext2/3/4, в который будет сохраняться файл с содержимым оперативной памяти.
Для того, что бы узнать какой идентификатор присоединенному носителю присвоила система, необходимо после его подключения к компьютеру ввести следующую команду:
# dmesg | tail (Команда выводит на экран информацию буфера сообщений ядра. Нас будет интересовать последняя запись.)
Как например вот это:
[16091.995428] sd 9:0:0:0: Attached scsi generic sg2 type 0
[16091.995996] sd 9:0:0:0: [sdb] 32096120 512-byte logical blocks: (16.4 GB/15.3 GiB)
[16091.998192] sd 9:0:0:0: [sdb] Write Protect is off
[16091.998205] sd 9:0:0:0: [sdb] Mode Sense: 0b 00 00 08
[16091.999433] sd 9:0:0:0: [sdb] No Caching mode page found
[16091.999447] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[16092.003486] sd 9:0:0:0: [sdb] No Caching mode page found
[16092.003495] sd 9:0:0:0: [sdb] Assuming drive cache: write through
[16092.004251] sdb: sdb1
(где «sdb» — присвоенное обозначение физического накопителя, а «sdb1» — присвоенное обозначение логического раздела накопителя).
Далее следует примонтировать логический раздел накопителя к папке /tmp загруженной в Live-режиме операционной системы:
# mount /dev/sdb1 /tmp
(где
«mount» — команда монтирования устройства
«/dev/sdb1» — адрес файла логического раздела присоединенного накопителя
«/tmp» — папка в которую необходимо подключить накопитель).
Все подготовительные шаги сделаны — можно переходить к изъятию содержимого оперативной памяти:
И ждем…
В результате удачного выполнения команды, мы получим сообщение похожее на это:
521453568 bytes (521 MB) copied, 158.405 s, 3.3 MB/s
(где
«521453568 bytes (521 MB) copied» — объем скопированной информации
«158.405 s» — время в течении которого проводилась операция
«3.3 MB/s» — скорость при которой проводилась операция)
В результате мы получили содержимое оперативной памяти машины в файле «ram-image.mem» на накопителе. Теперь его можно обрабатывать в т.ч. извлекая части исполняемых процессов, удаленных файлов, информацию о пользовательских сессиях, криптографических ключах и многое другое.
P.S.
Также стоит обратить внимание что все современные системы используют в своей работе и swap-память (так называемый «файл подкачки»)
Файл подкачки – это своеобразное дополнение к оперативной памяти (которая занимается временным хранением данных для быстрой доставки их на обработку процессору) Вашего компьютера. Даже не столько дополнение, сколько её уширение или, можно сказать, продолжение. Дело в том, что когда не хватает оперативной памяти система может переносить данные из памяти на диск (так называемая дополнительная память), в котором соответственно также хранятся данные.
И для полной картины анализа памяти необходимо также получить и их.
Различные операционные системы используют разные способы их хранения.
В случае с Windows это обычно файлы в корне на системном диске С:
pagefile.sys для Win XP и Win 7 и достаточно просто скопировать файл
Для MacOS необходимо скопировать все файлы из директории /private/var/vm/swapfile*
Обработка и анализ полученных результатов (как дампа оперативной памяти так и swap-памяти) может проводиться как в ручную с помощью например HEX-редактора, так и с помощью ряда программ о которых будет рассказано в следующий раз.
Дамп памяти в Windows – зачем нужен и как его включить
С критическими ошибками «оконной» ОС знаком практически каждый её пользователь, и появляющиеся при этом синие экраны смерти (BSoD) обычно ничего хорошего не предвещают. Они могут быть спровоцированы программными или аппаратными причинами, и поскольку источник неприятности не всегда очевиден, решение начинается с диагностических мероприятий.
Исправить ошибку бывает непросто, и часто самым полезным средством для диагностики причин возникшего сбоя становится дамп памяти, представляющий собой снимок состояния оперативной памяти операционки с отладочными сведениями. Причём в Windows не всегда активировано автоматическое создание и сохранение на жёсткий диск дампов памяти, тогда как в исправлении BSoD независимо от характера сбоя эти данные могут сильно помочь.
Для чего нужен дамп памяти Windows
Содержимое оперативной памяти и материалы, касающиеся сбоя, могут писаться в файл подкачки, при следующем старте операционки создаётся аварийный дамп с информацией об отладке, сформированной на базе сохранённых данных (ОС может создавать memory dump и минуя файл подкачки). В журнале событий будет сделана запись об ошибке, если данная опция настроена.
Вывод участка дампа 32-х битной ОС Windows с помощью программы Debug.exe
Тип записываемого дампа может задаваться в свойствах ОС, поддерживаются варианты:
*Дамп пользовательского режима представляет собой дамп определённого процесса. Так, содержимым может являться полная память процесса или фрагмент, список, стек, состояние потоков, списки библиотек, состояние потоков, дескрипторы объектов ядра.
Чаще всего аварийный дамп памяти Windows 7, 8, 10 используется в целях диагностики и позволяет выяснить, как исправить критическую ошибку. Проанализировав содержимое, можно понять, что стало причиной неполадки, и приступить к её устранению.
Как включить создание дампа памяти в Windows
Чтобы активировать автоматическое сохранение memory dump в Виндовс, нужно сделать следующее:
Как настроить дамп памяти в Windows
Настройки действий, производимых при аварийной остановке работы ОС, выполняются в том же окне, что и включение создания memory dump («Загрузка и восстановление»), куда мы попадаем из свойств системы.
Здесь можно настроить параметры запуска ОС и назначить определённые действия в случае её отказа, например:
При эксплуатации SSD лучше оставить тип записи «Автоматический дамп памяти», но если нужен файл аварийного дампа, лучше выставить «Малый дамп памяти», он самый лёгкий и его несложно переслать другому пользователю, если вам нужна помощь в анализе состояния.
Иногда может потребоваться увеличение размера файла подкачки больше, чем доступно в оперативке, чтобы он соответствовал полному дампу.
Прочитать memory dump можно посредством специализированных утилит, таких как Microsoft Kernel Debugger, BlueScreenView и других.
Установка WinDbg в Windows
Утилита, являющаяся отладчиком для юзермодных приложений и драйверов, позволяет проанализировать снимок памяти и выяснить, что спровоцировало BSoD. Поставляется она в составе пакета SDK для Windows 10, инсталлятор скачивается на сайте Microsoft. Для Семёрки и ранних версий систем WinDbg можно найти в пакете Microsoft Windows SDK for Windows 7 and NET Framework 4.
Анализ аварийного дампа памяти в WinDbg
Перед анализом memory dump необходимо выполнить некоторые настройки. Для работ с софтом понадобится пакет символов отладки Debugging Symbols, загруженный с учётом версии и разрядности системы.
Можно настроить извлечение утилитой символов из интернета, что безопасно, поскольку используется официальный ресурс компании Майкрософт.
Для того чтобы объекты при нажатии на них открывались посредством утилиты:
cd C:\Progran Files (x86)\Windows Kits\10\Debuggers\x64
exe –IA
cd C:\Progran Files (x86)\Windows Kits\10\Debuggers\x86
exe –IA
Настройка сервера отладочных символов
Отладочные символы, которые генерируются в процессе компиляции приложения вместе с исполняемым файлом, нужны при отладке. Настраиваем WinDbg на извлечение символов из сети:
Анализ memory dump в WinDbg
Чтобы перейти к процедуре, открываем объект в утилите (File – Open Crash Dump) или, если предварительно настраивались ассоциации файлов, открываем элемент щелчком мыши. Утилита начнёт анализировать файл, затем выдаст результат.
В окне предполагается ввод команд. Запрос «!analyze –v» позволит получить более детальные сведения о сбое (STOP-код, имя ошибки, стек вызовов команд, приведших к проблеме и другие данные), а также рекомендации по исправлению. Для остановки отладчика в меню программы жмём «Debug» – «Stop Debugging».
Как удалить файлы дампа памяти
Если понадобилось удалить memory dump, это можно выполнить вручную, пройдя по пути месторасположения объекта на диске. Так, в системном каталоге Windows нужно найти и удалить файл MEMORY.DMP, а также элементы в каталоге Minidump. Кроме того, можно использовать штатный инструмент системы «Очистка диска»:
Создание снимков бывает отключено, даже если вы когда-либо активировали эту функцию по причине деятельности специального софта. Если речь о SSD-накопителе, это могут быть программы для работы с твердотельными дисками. Отключение некоторых опций ОС выполняется ими с целью оптимизации работы, поскольку многократные процессы чтения/записи сокращают продолжительность жизни диска. Также причиной отключения дампа памяти могут быть различные программы очистки компьютера и оптимизации системы.
Русские Блоги
Android Stability-сбой и ramdump
Как и файл coredump, файл ramdump также является файлом дампа памяти, но файл ramdump больше, потому что он является почти зеркальным отображением всей физической памяти. За исключением некоторых типов памяти, которые не могут быть захвачены, почти весь драм является захвачено., Некоторые проблемы имеют низкую вероятность повторения, а некоторые проблемы вызваны воздействием на память. Этот вид проблемы часто невозможно проанализировать с помощью журнала. Поэтому, если зеркало памяти может быть сохранено при возникновении проблемы, это очень полезно для анализа проблемы.
Способ отлова ramdump на платформе MTK
Введение в инструмент сбоя
После завершения компиляции в текущем каталоге будет сгенерирован аварийный исполняемый файл, и ramdump можно будет проанализировать, выполнив этот файл. При анализе ramdump, помимо файла ramdump, также требуется файл vmlinux, который является символьный файл ядра.
Как и в случае с инструментом GDB, у crash есть своя собственная справка по командам. Я не буду вдаваться в подробности. Заинтересованные детские туфли можно увидеть одну за другой. Здесь мы расскажем, как сбой и ramdump помогают нам в анализе проблемы. раньше. Проанализируйте проблему.
Фон проблемы
На определенной модели с запущенной обезьяной почти все машины будут зависать после работы в течение определенного периода времени. В случае зависания невозможно подключить adb и последовательный порт. Более того, после перезапуска обнаруживается, что только журнал каталог на SD-карте сохраняется. Небольшая часть журнала пропала, мы можем видеть только небольшую информацию через файл трассировки в / data / anr
Судя по информации здесь, все связующие потоки system_server застряли, и большинство из них застряли на интерфейсе, чтобы получить емкость SD. SD-карта не может хранить здесь информацию о файле журнала и трассировки. Подозреваем, что SD-карта. проблема с работой. В то время sd-карта использовала файловую систему fuse. В файловой системе fuse в пользовательском пространстве был процесс-демон, называемый sdcard, но поскольку adb и последовательные порты не могли быть подключены, мы не могли знать состояние процесса SDCard и другая информация на тот момент Поскольку вероятность повторения этой проблемы по-прежнему высока, а застревание происходит из-за SWT system_server, было решено активно позволить ядру аварийно завершить работу и захватить файл ramdump для анализа, когда процесс system_server имеет SWT.
echo c> / proc / sysrq-trigger может вызвать аварийный перезапуск ядра
Поскольку файловая система fuse разделена на два уровня: пространство пользователя и пространство ядра, и если есть проблема с уровнем ядра, высока вероятность того, что другие модули на уровне ядра будут иметь проблемы, но со сцены нескольких проблемы, ядро все еще должно работать нормально, поэтому сосредоточьтесь на демоне SDCard на уровне пользовательского пространства:
Отфильтровать все процессы в состоянии D,UN = UNINTERRUPTIBLE
С точки зрения стека, эти два потока удаляют файлы и, наконец, блокируются в состоянии ядра.Определения mutex_lock и mutex следующие:
Мьютекс записывает, кто держит блокировку, поэтому, если можно найти содержимое мьютекса, то можно найти и держатель блокировки. Затем вводится простой метод поиска держателя блокировки, разобранный методом mutex_lock
Регистр X19 в инструкциях от 0xffffffc000ae5e80 до 0xffffffc000ae5eb8 больше не изменялся, поэтому выясните, что содержимое регистра X19 является адресом struct mutex, а затем посмотрите на код дизассемблирования __mutex_lock_slowpath:
4 [ffffffc095e43a80] __mutex_lock_slowpath at ffffffc000ae5da4
5 [ffffffc095e43ae0] mutex_lock at ffffffc000ae5eb8
Экспортируйте содержимое памяти из ffffffc095e43a80 в ffffffc095e43ae0
Вы можете получить адрес struct mutex как ffffffc00f387b98. Таким образом, вы можете получить содержимое нужной переменной. Распечатайте эту блокировку, чтобы получить держатель блокировки:
Держателем блокировки, ожидающей потока SDCard 3046, является процесс 5446, а затем получается стек 5446:
Проанализировав эту проблему, мы можем приблизительно узнать, что есть два потока, одновременно удаляющих файлы из файловой системы fuse, а затем система зависает. Можно смутно почувствовать, что это проблема тупика, но это не нормальный тупик потока., но тупик между процессами, пространством пользователя и пространством ядра. Поскольку файлы удаляются, какие файлы они удаляются? Подобно предыдущему методу получения адреса мьютекса, мы получаем файлы, которые они удаляют, из контекста двух потоков 5446 и 12051.
Представленное выше представление недостаточно интуитивно понятно. В инструменте сбоя я также нашел очень полезные командные файлы, которые можно использовать для интуитивного ввода пути к файлу.
Из вышеизложенного мы можем узнать, что блокировка процесса 3048 была получена 12051, а 12051 удаляет файл /storage/runtime/default/emulated/0/com.xxx/15919563341606802260, а затем можем получить его из 3048 процесс Какой файл удаляется? Если из его контекста будет получено, что он удаляет файл 10048316241362964103, то можно доказать, что это проблема взаимоблокировки.И снова используйте вышеуказанный метод, чтобы проанализировать, какой файл удаляется из контекста стека 3048.
На этом этапе анализа мы можем знать, что эта проблема действительно является проблемой взаимоблокировки процессов, а затем, согласно полученной в настоящее время информации, два процесса с разными разрешениями одновременно удаляют файлы в одном каталоге на SD-карте (например, Surfaceflinger и обычные процессы приложений). Разумеется, эта проблема была воспроизведена, и путь, который нужно было найти, был найден. Сообщив соответствующим коллегам из BSP, они подумали, что это дефект самой файловой системы fuse, но из-за аварийной ситуации проекта, это было просто рабочее место.
Метод извлечения файла coredump с помощью ramdump
Create a core dump file of a user-space task that was running in a kernel dumpfile. The module supports the X86, X86_64, ARM, ARM64, MIPS and PPC64 architectures.
To build the module from the top-level crash- directory, enter:
$ tar xzf crash-gcore-command-1.4.0.tar.gz
$ mv crash-gcore-command-1.4.0/* extensions
$ make extensions
This module’s source files are self-contained in crash-gcore-command-1.4.0.tar.gz.
Author: Daisuke Hatayama [email protected]
Как увеличить оперативную память на смартфонах Samsung
В последнее время все больше производителей Android смартфонов внедряют технологию, позволяющую расширить оперативную память. Сначала идею подхватили в Oppo, затем в ZTE и Xiaomi, и только потом в Samsung решили добавить фишку в новые модели Galaxy A52s 5G и Galaxy Z Fold3. Сейчас нововведение стало доступно и в других смартфонах линейки Galaxy A. Сегодня постараемся разобраться в чем суть виртуальной оперативки, как ее активировать, и зачем это вообще нужно на примере телефонов от Samsung.
Компания Samsung позволит увеличить количество оперативной памяти на своих смартфонах.
Совсем недавно компания Samsung выпустила очередные исправления безопасности для своих гаджетов, в числе которых была и модель Samsung Galaxy A52. Естественно, неравнодушные сразу решили залезть под капот и разобраться в исправлениях. Так, ребята из SamMobile обнаружили в новом патче функцию RAM Plus.
Что такое виртуальная память
Оперативная память (ОЗУ) — это краткосрочная память компьютера, где хранятся данные, которые в данный момент использует процессор.
Понятно, что данная величина постоянная. Расширить ее технически абсолютно невозможно, однако технология RAM Plus предлагает сделать это на программном уровне. Идея предельно простая: часть постоянной памяти вашего устройства просто перекочует в оперативку и будет использоваться там.
Из этого тезиса сразу становится понятно, почему Samsung со своей технологией делает упор именно на линейку Galaxy A, а не топовые Galaxy S или Z. Обычно памяти не хватает именно бюджетным смартфонам. Кстати, если вы до сих пор путаетесь в названиях смартфонов Samsung, наш автор Иван Герасимов подготовил статью по этому поводу.
Виртуальное увеличение оперативки используется с целью повышения стабильности работы и более качественной реализации многозадачности. Допустим, вы запустили одновременно на смартфоне 10 приложений. В обычном режиме телефон просто сбрасывает их и при повторном открытии будет запускает программу заново.
Так выглядит обновление на смартфонах Samsung.
Сейчас же, все будет чуть-чуть по-другому. При заполнении ОЗУ, смартфон сможет еще некоторое время поддерживать часть программ в полноценной работе. При этом система сама будет распознавать, какие приложения оставить в оперативке, а какие загрузить через RAM Plus. Понятно, что если вы запустите какую-нибудь игру с крутой графикой, рациональнее будет ее оставить в основной памяти, ведь скорость виртуальной гораздо ниже.
Но есть одна загвоздка. Смартфоны из бюджетного и среднего ценового сегмента редко наделены большим объемом хранилища и вряд ли смогут выделить из 64 ГБ еще 4 на новую функцию. Чаще всего бывает обратная ситуация, когда постоянная память полностью забита, и приходится пользоваться облаком, чтобы телефон начал быстрее работать. Так что, выходит, палка о двух концах.
Подписывайтесь на нас в Google Новости, там вы найдете много полезной информации из мира Android.
RAM Plus от Samsung
Несмотря на то, что абсолютно все производители используют новую фишку примерно одинаково, Samsung решила внести сюда свои коррективы. Так, если в китайских смартфонах Oppo или Xiaomi можно использовать неограниченное количество Virtual RAM, то корейцы предлагают для использования только малую часть пространства. Для Galaxy A52 это 4 ГБ.
Не стоит ждать от RAM Plus чуда производительности.
Кроме того, Samsung не позволяет пользователям ни отключать функцию виртуальной памяти, ни изменять ее объём. Ожидается, что в ближайшее время функция Samsung RAM Plus появится и на других моделях линейки Samsung Galaxy. По некоторым слухам, обновление получили также владельцы Galaxy A12. Для них расширение возможно только на 2 ГБ.
Как расширить оперативную память на Андроид
Как я уже писал выше, новая фича Samsung работает полностью в автономном режиме и не поддается каким-либо изменениям со стороны пользователей. Проверить наличие RAM Plus на вашем устройстве можно следующим образом:
В заключение хотелось бы сказать, что не стоит возлагать на эту функцию большие надежды. На скорости работы она скажется самым минимальным образом. Однако, если касаться многозадачности, то здесь можно заметить серьезные улучшения. Ну, сами подумайте. Сюда, например, можно будет выгрузить родные приложения вроде Календаря и Заметок, оставив для громоздкого YouTube или TikTok чуть-чуть больше пространства.
Владельцев смартфонов Samsung Galaxy A прошу отписаться по этому поводу в нашем Телеграм-чате и рассказать о своих впечатлениях от нововведения. Будет крайне интересно прочесть.