Анатомия программы в памяти
Управление памятью – одна из главных задач ОС. Она критична как для программирования, так и для системного администрирования. Я постараюсь объяснить, как ОС работает с памятью. Концепции будут общего характера, а примеры я возьму из Linux и Windows на 32-bit x86. Сначала я опишу, как программы располагаются в памяти.
Каждый процесс в многозадачной ОС работает в своей «песочнице» в памяти. Это виртуальное адресное пространство, которое в 32-битном режиме представляет собою 4Гб блок адресов. Эти виртуальные адреса ставятся в соответствие (mapping) физической памяти таблицами страниц, которые поддерживает ядро ОС. У каждого процесса есть свой набор таблиц. Но если мы начинаем использовать виртуальную адресацию, приходится использовать её для всех программ, работающих на компьютере – включая и само ядро. Поэтому часть пространства виртуальных адресов необходимо резервировать под ядро.

Это не значит, что ядро использует так много физической памяти – просто у него в распоряжении находится часть адресного пространства, которое можно поставить в соответствие необходимому количеству физической памяти. Пространство памяти для ядра отмечено в таблицах страниц как эксклюзивно используемое привилегированным кодом, поэтому если какая-то программа пытается получить в него доступ, случается page fault. В Linux пространство памяти для ядра присутствует постоянно, и ставит в соответствие одну и ту же часть физической памяти у всех процессов. Код ядра и данные всегда имеют адреса, и готовы обрабатывать прерывания и системные вызовы в любой момент. Для пользовательских программ, напротив, соответствие виртуальных адресов реальной памяти меняется, когда происходит переключение процессов:

Голубым отмечены виртуальные адреса, соответствующие физической памяти. Белым – пространство, которому не назначены адреса. В нашем примере Firefox использует гораздо больше места в виртуальной памяти из-за своей легендарной прожорливости. Полоски в адресном пространстве соответствуют сегментам памяти таким, как куча, стек и проч. Эти сегменты – всего лишь интервалы адресов памяти, и не имеют ничего общего с сегментами от Intel. Вот стандартная схема сегментов у процесса под Linux:

Когда программирование было белым и пушистым, начальные виртуальные адреса сегментов были одинаковыми для всех процессов. Это позволяло легко удалённо эксплуатировать уязвимости в безопасности. Зловредной программе часто необходимо обращаться к памяти по абсолютным адресам – адресу стека, адресу библиотечной функции, и т.п. Удаленные атаки приходилось делать вслепую, рассчитывая на то, что все адресные пространства остаются на постоянных адресах. В связи с этим получила популярность система выбора случайных адресов. Linux делает случайными стек, сегмент отображения в память и кучу, добавляя смещения к их начальным адресам. К сожалению, в 32-битном адресном пространстве особо не развернёшься, и для назначения случайных адресов остаётся мало места, что делает эту систему не слишком эффективной.
Самый верхний сегмент в адресном пространстве процесса – это стек, в большинстве языков хранящий локальные переменные и аргументы функций. Вызов метода или функции добавляет новый кадр стека (stack frame) к существующему стеку. После возврата из функции кадр уничтожается. Эта простая схема приводит к тому, что для отслеживания содержимого стека не требуется никакой сложной структуры – достаточно всего лишь указателя на начало стека. Добавление и удаление данных становится простым и однозначным процессом. Постоянное повторное использование районов памяти для стека приводит к кэшированию этих частей в CPU, что добавляет скорости. Каждый поток выполнения (thread) в процессе получает свой собственный стек.
Можно прийти к такой ситуации, в которой память, отведённая под стек, заканчивается. Это приводит к ошибке page fault, которая в Linux обрабатывается функцией expand_stack(), которая, в свою очередь, вызывает acct_stack_growth(), чтобы проверить, можно ли ещё нарастить стек. Если его размер не превышает RLIMIT_STACK (обычно это 8 Мб), то стек увеличивается и программа продолжает исполнение, как ни в чём не бывало. Но если максимальный размер стека достигнут, мы получаем переполнение стека (stack overflow) и программе приходит ошибка Segmentation Fault (ошибка сегментации). При этом стек умеет только увеличиваться – подобно государственному бюджету, он не уменьшается обратно.
Динамический рост стека – единственная ситуация, в которой может осуществляться доступ к свободной памяти, которая показана белым на схеме. Все другие попытки доступа к этой памяти вызывают ошибку page fault, приводящую к Segmentation Fault. А некоторые занятые области памяти служат только для чтения, поэтому попытки записи в эти области также приводят к Segmentation Fault.
После стека идёт сегмент отображения в память. Тут ядро размещает содержимое файлов напрямую в памяти. Любое приложение может запросить сделать это через системный вызов mmap() в Linux или CreateFileMapping() / MapViewOfFile() в Windows. Это удобный и быстрый способ организации операций ввода и вывода в файлы, поэтому он используется для подгрузки динамических библиотек. Также возможно создать анонимное место в памяти, не связанное с файлами, которое будет использоваться для данных программы. Если вы сделаете в Linux запрос на большой объём памяти через malloc(), библиотека C создаст такую анонимное отображение вместо использования памяти из кучи. Под «большим» подразумевается объём больший, чем MMAP_THRESHOLD (128 kB по умолчанию, он настраивается через mallopt().)
Сама куча расположена на следующих позициях в памяти. Она обеспечивает выделение памяти во время выполнения программы, как и стек – но, в отличие от него, хранит те данные, которые должны пережить функцию, размещающую их. В большинстве языков есть инструменты для управления кучей. В этом случае удовлетворение запроса на размещение памяти выполняется совместно программой и ядром. В С интерфейсом для работы с кучей служит malloc() с друзьями, а в языке, имеющем автоматическую сборку мусора, типа С#, интерфейсом служит ключевое слово new.
Если в куче оказывается недостаточно места для выполнения запроса, эту проблему может обработать сама программа без вмешательства ядра. В ином случае куча увеличивается системным вызовом brk(). Управление кучей – дело сложное, оно требует хитроумных алгоритмов, которые стремятся работать быстро и эффективно, чтобы угодить хаотичному методу размещению данных, которым пользуется программа. Время на обработку запроса к куче может варьироваться в широких пределах. В системах реального времени есть специальные инструменты для работы с ней. Кучи тоже бывают фрагментированными:

И вот мы добрались до самой нижней части схемы – BSS, данные и текст программы. BSS и данные хранят статичные (глобальные) переменные в С. Разница в том, что BSS хранит содержимое непроинициализированных статичных переменных, чьи значения не были заданы программистом. Кроме этого, область BSS анонимна, она не соответствует никакому файлу. Если вы пишете static int cntActiveUsers , то содержимое cntActiveUsers живёт в BSS.
Сегмент данных, наоборот, содержит те переменные, которые были проинициализированы в коде. Эта часть памяти соответствует бинарному образу программы, содержащему начальные статические значения, заданные в коде. Если вы пишете static int cntWorkerBees = 10 , то содержимое cntWorkerBees живёт в сегменте данных, и начинает свою жизнь как 10. Но, хотя сегмент данных соответствует файлу программы, это приватное отображение в память (private memory mapping) – а это значит, что обновления памяти не отражаются в соответствующем файле. Иначе изменения значения переменных отражались бы в файле, хранящемся на диске.
Пример данных на диаграмме будет немного сложнее, поскольку он использует указатель. В этом случае содержимое указателя, 4-байтный адрес памяти, живёт в сегменте данных. А строка, на которую он показывает, живёт в сегменте текста, который предназначен только для чтения. Там хранится весь код и разные другие детали, включая строковые литералы. Также он хранит ваш бинарник в памяти. Попытки записи в этот сегмент оканчиваются ошибкой Segmentation Fault. Это предотвращает ошибки, связанные с указателями (хотя не так эффективно, как если бы вы вообще не использовали язык С). На диаграмме показаны эти сегменты и примеры переменных:

Изучить области памяти Linux-процесса можно, прочитав файл /proc/pid_of_process/maps. Учтите, что один сегмент может содержать много областей. К примеру, у каждого файла, сдублированного в память, есть своя область в сегменте mmap, а у динамических библиотек – дополнительные области, напоминающие BSS и данные. Кстати, иногда, когда люди говорят «сегмент данных», они имеют в виду данные + bss + кучу.
Бинарные образы можно изучать при помощи команд nm и objdump – вы увидите символы, их адреса, сегменты, и т.п. Схема виртуальных адресов, описанная в этой статье – это т.н. «гибкая» схема, которая по умолчанию используется уже несколько лет. Она подразумевает, что переменной RLIMIT_STACK присвоено какое-то значение. В противном случае Linux использует «классическую» схему:
Где программа хранит свои данные после запуска
Больше не придётся вручную сортировать документы, музыку и фотографии. Эти приложения всё сделают за вас.
- Платформа: Windows.
- Цена: бесплатно.

Удобное приложение с открытым исходным кодом. Принцип его работы прост: вы создаёте собственные правила (или ассоциации), и DropIt выполняет определённые действия с файлами, которые подпадают под указанные критерии.
Программа может учитывать кучу параметров (имя, расширение, тип, дату открытия и другие) и выполнять 21 действие (перемещение, копирование, переименование, архивирование, склейку и разделение документов, отправку по электронной почте и так далее).
Создав правила для обработки объектов, перетяните нужные файлы на значок приложения, отображающийся поверх прочих окон. Либо выберите элементы и в контекстном меню «Проводника» нажмите «Отправить» → DropIt.
А если хотите полностью всё автоматизировать, скройте значок, затем укажите в настройках программы, какие папки нужно отслеживать, и DropIt будет выполнять операции с файлами самостоятельно.
2. TagScanner
- Платформа: Windows.
- Цена: бесплатно.

Это более узкоспециализированный инструмент, который занимается упорядочиванием вашей музыкальной библиотеки. Если вы до сих пор не можете приучить себя к стриминговым сервисам и предпочитаете хранить свою музыку на компьютере или домашнем медиасервере, TagScanner будет невероятно полезен.
Программа позволяет массово редактировать теги в вашей музыке, а затем сортировать композиции по папкам в зависимости от их метаданных. Добавьте, например, в окно TagScanner большую папку с хаотично разбросанными музыкальными файлами, укажите правила их сортировки и нажмите на кнопку. Композиции будут разложены по жанрам, исполнителям и альбомам автоматически.
Кроме того, TagScanner умеет искать тексты песен, скачивать из интернета обложки альбомов, подставлять недостающие теги и переименовывать музыкальные файлы так, чтобы они выглядели единообразно.
3. PhotoMove
- Платформа: Windows.
- Цена: бесплатно; 8,99 доллара за Pro‑версию.

Если у вас много фотографий, то вы наверняка знаете, как утомительно поддерживать среди них порядок. Справиться с этой задачей поможет PhotoMove. Приложение считывает данные EXIF из ваших снимков, затем раскладывает их по папкам в зависимости от даты создания по шаблону «год — месяц — день». Также доступен шаблон «год — месяц — день — модель камеры».
В бесплатной версии PhotoMove только два варианта сортировки. В Pro‑версии их 10, а ещё в ней можно отслеживать дубликаты фотографий.
- Платформа: Windows, macOS, Linux.
- Цена: бесплатно.

С программой PhotoMove легко разобраться, она мало весит, но бесплатная версия имеет урезанные настройки. Если хотите чуть больше возможностей для сортировки снимков, но не хотите платить, попробуйте XnView. Это приложение для организации и упорядочивания библиотеки фото, абсолютно бесплатное и с открытым исходным кодом.
Установите XnView, откройте его и нажмите «Инструменты» → «Пакетная обработка». Здесь вы сможете массово рассортировать свои снимки по папкам в соответствии с EXIF‑данными, переименовать их по своему вкусу и при необходимости конвертировать в другой формат. А ещё XnView умеет искать дубликаты.
- Платформа: macOS.
- Цена: 32 доллара, 14‑дневный ознакомительный период.

Великолепное приложение для macOS, которое может сделать с вашими файлами практически что угодно. Разложить загрузки по папкам так, чтобы было видно, где картинки, а где документы. Рассортировать музыку по тегам и исполнителям. Переименовать гору объектов в Finder и назначить им теги. Создать архивы с бэкапами. Автоматически очистить корзину. Всё это по силам Hazel.
Вы просто указываете список действий, которые должно выполнять приложение, и выбираете, за какими папками ему следить. Все файлы, попадающие в эти папки и соответствующие нужным критериям, будут обработаны. Создавать правила для Hazel — одно удовольствие, интерфейс здесь очень прост и понятен. Ещё одна приятная особенность: после удаления ненужного приложения программа может стирать и связанные с ним объекты, такие как файлы настроек, кеша и другой мусор.
Единственный недостаток Hazel — цена. Но программа определённо стоит своих денег.
6. File Juggler
- Платформа: Windows.
- Цена: 40 долларов, 30‑дневный ознакомительный период.

Это приложение умеет практически то же, что и Hazel. Создайте правило, укажите, какие папки подлежат обработке, какие файлы в них подходят под ваши условия и что с ними делать.
File Juggler может переименовывать, перемещать, копировать, удалять объекты и сортировать их по папкам, а также отправлять в Evernote. Также программа способна менять названия файлов PDF по их содержимому или заголовку. Это особенно пригодится, если вы хотите упорядочить большое количество документов. Музыкальные теги File Juggler тоже читает, что позволяет разложить композиции по альбомам или жанрам.
7. Easy File Organizer
- Платформа: Windows, macOS, Linux.
- Цена: урезанная версия бесплатна, полная — 19,95 доллара.

Гибкий и простой в обращении инструмент. Принцип работы такой же, как у прочих программ из этого списка. Вы создаёте правила, по которым следует обрабатывать файлы, а затем указываете приложению нужную папку и нажимаете кнопку Organize. Все лежащие там объекты будут рассортированы по отдельным директориям. Если результат вас не устроит, все изменения легко отменить нажатием клавиши Undo.
При необходимости можно настроить автоматический запуск сортировки каждые несколько минут. К сожалению, Easy File Organizer только раскладывает файлы по папкам, а удалять их или читать теги и метаданные не умеет.
В бесплатной версии нет возможности обрабатывать директории с подпапками. Покупка лицензии снимает это ограничение.
Где хранить информацию от запуска к запуску
Как и где лучше хранить информацию программы
я хочу сохранить какую-то информацию ,которую ввожу в программу например почтовый ящик, в каком.
Где и как лучше всего хранить структурированную информацию
У меня строковые данные вида: департамент строительства приказ N 21 письмо 12 письмо о.
где хранить текст файлы? или как хранить данные?
Есть прога простенкая: берет инфу из текстфайла, редактирует и записывает обратно в тхт файл. Нужно.
Выполнять действия «по очереди» от запуска к запуску
Доброго дня, есть консольное приложение, в нём параметр командной строки case "toggle": .
Файлы vs БД (в чем лучше хранить секретную информацию?)
Здравствуйте. Такой вопрос — в чем лучше хранить секретную информацию на ПК пользователя? Т.е. в.
Если под винду, то реестр
Из предложенного, подойдет реестр или Properties.Settings, но, реестр ручками — это гемор ненужный зачастую, а Properties.Settings — как 2 пальца.
Но, есть пара «но»:
Properties.Settings хранит данные в С:UsersUserAppDataLocalMyApp.
При первом запуске все будет дефолтно, — при последующих все будет сохранятся (естественно, если закодить нормально).
Будут отличия в запуске от админа, запуске из других директорий, запуске экземпляров DebugRelease.
Это все мелочи, раз установил релизную версию, — и все, не каждый день же занимаешься извращениями с прогой.
Где хранятся файлы и программы? Программа проводник.
Одна из основных задач, с которой едва ли не ежеминутно сталкивается работающий за компьютером пользователь, — это знать где хранятся файлы и программы. Для этих целей в составе Windows предусмотрена специальная программа Проводник, которую можно запустить, выполнив последовательность команд Пуск ► Все программы ► Стандартные ► Проводник, или просто щелкнув правой клавишей мыши на кнопке Пуск и выбрав в появившемся контекстном меню пункт Проводник. Внешний вид этой программы показан на скриншоте.

Рабочее пространство программы Проводник разделено на два основных поля: в левом отображается вертикальная панель, открывающая доступ к древовидной структуре дисков, файлов и папок, в правом — содержимое выбранного диска или папки.
Чтобы просмотреть содержимое какой-либо папки или диска, достаточно щелкнуть на его изображении в левом поле — в правом появится список хранящихся в этой папке подпапок и файлов. Если, например, вы хотите перейти в папку Мои документы, просто щелкните на ее значке левой кнопкой мыши — содержимое этой папки тут же отобразится в основном окне Проводника. Щелчок на обозначении дисковода или жесткого диска, приведет вас в корневую папку выбранного диска.
Некоторые папки в окне программы Проводник отмечены символом « + » — это означает, что такая папка содержит вложенные папки. Щелчок на значке папки приводит к ее открытию: в левом окне вы сможете увидеть подпапки этой папки, а в правом — ее полное содержимое. Вы можете также перемещаться между различными объектами файловой системы, дважды щелкая мышью на обозначении этих объектов в правом окне.
Дополнительные возможности навигации по файловой системе предоставляют графические кнопки, расположенные в панели инструментов Проводника.
Кнопка Назад возвращает вас в папку, которая была открыта непосредственно перед текущей. По нажатию кнопки Вперед осуществляется обратный переход в папку, которую пользователь покинул, нажав на кнопку Назад.
Кнопка Вверх перемещает программу на один уровень вверх в файловой системе вашего компьютера.
При нажатии на кнопку Поиск прохрамма переключается в режим поиска файлов и папок. Кнопка Папки включает в левом окне программы отображение древовидной структуры файлов и папок вашего компьютера. Если кнопка не нажата, в левом окне Проводника демонстрируется информация о выбранном файле или папке, а также появляется перечень команд, которые можно выполнить с данным объектом.
Кнопка Вид позволяет изменить внешний вид отображающихся в основном рабочем окне Проводника значков, например сделать их более крупными или более мелкими.
В адресной строке этой панели вы можете набрать с клавиатуры нужный путь, нажав затем клавишу Enter или щелкнув на кнопке Переход. Другой вариант — развернув контекстное меню щелчком мыши на направленной вниз черной стрелке в правой части адресной строки, выбрать нужный диск из списка, там хранятся файлы и программы.
автобусные туры по европе
Где Android-приложения хранят данные?
Не могли бы вы перечислить все возможные каталоги, в которых приложения Android могут хранить данные, предоставляя описание того, какие данные хранятся в каждом каталоге?
Все приложения (root или нет) имеют каталог данных по умолчанию, который является /data/data/
. По умолчанию здесь загружаются базы данных приложений, настройки и все другие данные. Если приложение ожидает, что огромное количество данных будет сохранено, или по другим причинам хочет «быть хорошим для внутреннего хранилища», на SDCard есть соответствующий каталог ( Android/data/
Кроме того, все приложения могут хранить данные в любом месте на SDCard, так как ограничений нет — и многие приложения делают это. Они могут свободно использовать имена каталогов (и они снова это делают), что часто затрудняет решение, для чего предназначен этот «мусор» на карте, и что из этого можно удалить.
Хотя, Том указал , корневые приложения могут хранить свои данные почти везде на вашем устройстве, они обычно следуют тем же правилам, что и другие приложения.
Общее описание иерархии каталогов Android вы найдете в в моем ответе здесь . Для вашего конкретного вопроса я могу добавить более подробную информацию о /data/data/
(и соответствующую SD-часть):
- databases/ : здесь идут базы данных приложения
- lib/ : библиотеки и помощники для приложения
- files/ : другие связанные файлы
- shared_prefs/ : настройки и настройки
- cache/ : хорошо, кеширует
В этом месте может быть несколько каталогов, или меньше — все зависит от приложения. В своем собственном «домашнем каталоге» (и это то, что в основном есть, говорят Linux-мудрый), они могут размещать файлы там, где они хотят. Обычно эти файлы и каталоги доступны только самому приложению (и конечному пользователю root) — кроме тех, что хранятся на SDCard, которые доступны для всех приложений.
Ответ на ваш вопрос, который вы задаете, слишком велик. Я могу, однако, дать вам базовый ответ, который охватывает основы.
Существует два вида приложений:
Корневой и не root .
Приложения Root могут в основном хранить /изменять файлы там, где они хотят.
Приложения без root могут хранить или изменять файлы здесь: /sdcard/ и каждой папке, что происходит после.
В основном, установленные приложения хранятся в /sdcard/Android/data или /sdcard/Android/obb .
Некоторые приложения хранят свои файлы сохранения /файлы конфигурации на /sdcard/APPNAME/ или только на /sdcard/
Чтобы иметь возможность использовать приложения root , вам необходимо укоренить свое Android-устройство и получить разрешение от одного из приложений суперпользователя.
Где хранить данные приложения в Windows 7 и Vista
Мое приложение должно, как и большинство, хранить данные. Приложение ранее использовалось на XP только там, где оно будет хранить данные в Program Files . Теперь, когда наши клиенты переходят на Windows 7, мне пришлось обновить его, чтобы он хранил данные в новой папке. Я выбрал папку ApplicationData , поскольку я думал, что мне будет разрешен доступ без необходимости UAC вообще.
Теперь на некоторых машинах Windows 7 это нормально, но на других доступ к папке не удается, предположительно из-за разрешений, но при запуске с Администратором privelidges программа работает нормально.
Я использую неправильную папку или эти случаи являются выбросами? В любом случае, что является лучшей практикой для такого рода вещей?
Я использую следующий C# SpecialFolder , чтобы получить расположение папки AppData.
System.Environment.SpecialFolder.ApplicationData является для каждого пользователя и перемещается. Это не похоже на то, что ты хочешь. Вы, по-видимому, хотите иметь широкие настройки машины и поэтому должны использовать System.Environment.SpecialFolder.CommonApplicationData .
Поскольку CommonApplicationData является общим для всех пользователей, контроль доступа по умолчанию ограничен. По умолчанию стандартные пользователи не могут писать в этом расположении. Рекомендуется создать подпапку CommonApplicationData во время установки и назначить ей соответствующие разрешающие параметры управления доступом.
Дэвид прав. Насколько я знаю, есть также некоторая разница, если вы развертываете свое приложение через ClickOnce или установщик: первый позволяет несколько подмножеств разрешений, чем обычный установщик. Должен признаться, я в этом деле не специалист.
Конечно, программные файлы-это худшее место для хранения данных, даже после XP.
Похожие вопросы:
У меня есть приложение (32 бит c++), работающее под XP, которое мне нужно адаптировать для работы под Windows 7 и Vista. Он должен хранить несколько десятков байт данных где-то независимо от.
Я создаю приложение, которое скоро нацелится на Windows, Mac и Linux. Мне было интересно, где я должен хранить данные приложения, такие как настройки и т. д. Папка установки приложения является.
У меня есть приложение, написанное в Delphi 2006, которое отлично работало в Windows XP. Я упаковал приложение с помощью Inno Setup, используя Program Files в качестве папки по умолчанию. Несколько.
При активации Aero Windows Vista и Windows 7 отображаются полупрозрачные формы. И некоторые приложения для съемки экрана, такие как WinSnap или Windows вырезки , могут захватывать эти windows в виде.
Я разрабатываю одно приложение, и я хочу сохранить файлы данных xml на Windows XP, Windows 7 и Windows Vista может ли кто-нибудь сказать, какую папку я использую, чтобы она работала для всех этих.
У кого-нибудь есть пример файла манифеста для Delphi 7, который позволяет приложениям работать от имени администратора на Windows XP / Vista / 7? Запуск приложения с этой функцией обычно приводит к.
Я пытаюсь найти, где хранилище BCD (Boot Configuration Data) на самом деле хранится в windows vista/7. это информация, которая в предыдущих версиях хранилась в файле boot.ini (обычно находится в.
Где в системе Windows (Vista) я должен размещать данные, которые должны быть доступны для чтения и записи всеми, т. е. каждым пользователем компьютера? Понятия Vista о файлах.
Может ли кто-нибудь сказать мне, есть ли вообще возможность разрабатывать мобильные приложения blackberry в Windows Vista ? Мне нужно разработать приложения для blackberry OS 7 & 6. Я пытался.
У меня есть тип файла для моего приложения, для которого я хочу показать некоторую пользовательскую информацию в области сведений(которая появляется внизу) в windows explorer в vista и win 7.
Где программа хранит свои данные после запуска?
Почему нельзя полностью удалить программу обычным способом
Наверняка вы слышали о программах для удаления программ, которые достаточно распространены среди продвинутых пользователей компьютеров под управлением Windows. Но далеко не все пользователи понимают разницу между ними и обычным удалением. Разработчики таких программ заявляют, что их продукт может полностью удалить программу вместе со всеми следами. Но разве стандартный инструмент Windows не может сделать это же? Почему вместо штатного способа удаления нужно прибегать к использованию каких-то сторонних программ? И насколько вообще это нужно рядовому пользователю?
Где программы хранят данные
Чтобы понять ситуацию, стоит рассмотреть типичную структуру данных программ. Наверняка вы знаете, что программные файлы в подавляющем большинстве случаях хранятся в папках Program Files и Program Files (x86). Именно туда программа установщик записывает все файлы, которые необходимы для запуска программ. Иногда программы устанавливаются в папку пользователя (это может быть нужно по ряду причин, например, для автоматического обновления программы в фоновом режиме без оповещения пользователя, как делает тот же Google Chrome).
А еще программы часто создают в папках AppData и LocalAppData хранилища для различных рабочих файлов, которые постоянно изменяются и пополняются. Результаты работы программ могут быть записаны в папку с личными документами пользователя (Документы, Изображения, Музыка и прочее). Также бывают случаи, когда сама система записывает данные программ в специальную папку внутри папки пользователя (папка Virtual Store).
Ну и конечно же системный реестр, который упоминается везде и всюду. Там программы хранят свои настройки. В реестре может быть 2-3 места, где программы размещают свои данные.
Как работает установщик/деинсталлятор
Теперь давайте рассмотрим, как работает типичный инсталлятор/деинсталлятор, которые разработчики используют для установки своих продуктов. В подавляющем большинстве случаев это отдельные программные модули, которые написаны совершенно другими авторами и которые просто взяты для того, чтобы не писать свой уникальный инсталляционный пакет.
В настройках установщика обычно задается, в какие папки нужно скопировать файлы из установочного пакета. Как правило, это Program Files или Program Files (x86), а также в ряде случаев копирование отдельных рабочих файлов в AppData и LocalAppData, а также создание базовых ключей реестра. На этом процесс установки заканчивается, программа установщик записывает все эти файлы и ключи в специальный файл, который потом будет использован при удалении.
Все же дополнительные ключи реестра и файлы, которые будут созданы уже в процессе использования программы, установщику неизвестны. Потому по логике работы установщика/деинсталлятора они являются чужеродными и не относятся к установленной программе. Хотя по факту это не так.
В процессе удаления, который является по сути обратным процессом установки, деинсталлятор проходит по списку ключей и файлов, который был создан в процессе установки, и удаляет их. Все остальные элементы остаются в компьютере, так как считаются «чужими» (их нет в списке установки).
Почему остаются «хвосты»
Казалось бы, что разработчику программы достаточно приложить небольшие усилия и доделать процесс удаления своего продукта, но не все об этом даже задумываются. А кто-то из разработчиков считает, что оставшиеся на компьютере настройки и рабочие файлы даже хорошо, потому что при повторной установке все будет так, как было до удаления. Хотя, конечно, хороший разработчик подумает об этом заранее и на одном из этапов удаления спросит у пользователя, сохранить ли рабочие файлы и настройки на компьютере.
Есть еще и такие разработчики программ, которые перекладывают вину за свою недоработку на плечи разработчиков утилит установки/удаления, считая, что это их работа. При этом разработчики установщиков/деинсталляторов ссылаются на то, что разработчики программ должны заниматься этим сами, указывая дополнительные параметры для удаления.
Каждый спихивает вину друг на друга, а в результате страдают обычные пользователи. Именно потому штатное удаление в подавляющем большинстве случаев не обеспечивает полного удаления программ, в результате чего приходится использовать деинсталляторы.
Нужны ли сторонние деинсталляторы вам?
Теперь осталось понять, насколько вообще целесообразно использовать деинсталляторы вам (если вы еще не решили). И чтобы ответить на этот вопрос, надо понять, как часто вы устанавливаете/удаляете программы, какое количество следов остается после удаления программ обычным способом, а также сколько места на диске всего и сколько свободно.
Если на вашем диске очень много свободного места и удаление лишних 2-10 гигабайт не сыграет никакой роли, то в принципе заморачиваться этим вопросом и не стоит. Но если у вас системный диск на 120 Гб и свободно места, что называется «впритык», то об этом стоит задуматься, потому что 2-10 гигабайт для 120 Гб диска уже достаточно внушительный объем.
Еще есть такой момент, как проблемное программное обеспечение. В случае возникновения проблем можно попытаться полностью удалить приложение и установить его заново, чтобы сбросить все настройки на «заводские». В этом случае деинсталлятор также может помочь.
Кстати, если вы ранее удаляли большое количество программ штатными средствами, то можете удалить все следы от удаленных программ разом. Подробнее об этом в статье «Как разом избавиться от остатков всех удаленных программ в Windows 7«.
Как полностью очистить данные на своем рабочем компе, но не затронув при этом программы, а только их кэши и автосейвы(windows os)?
Во первых это зависит от операционной системы, а во вторых от программы. Как это сделать на Mac OS я сказать не могу, а вот для Windows есть метод.
Программы под Windows, как правило, хранят свои данные (такие как настройки, истории сообщений, профили) в папках Roaming и Local внутри “C:Users%UserName%AppData” (Win7 и далее) или внутри “C:Documents and Settings%UserName%Application Data” (WinXP).
Содержимое этих папок (Local и Roaming) в принципе можно удалять — программы просто потеряют все настройки и всю накопленную за все время работы информацию и начнут “с чистого листа”. Продукты Adobe или например браузеры спокойно работают после таких манипуляций. Но есть и программы хранящие все “пользовательские” данные в своей папке в Program Files — тут уж придется вручную копаться и аккуратно, вдумчиво удалять, чтобы не задеть важный для работы программы файл.
Но, как бы там ни было, перед тем как прибегать к подобным грубым методам советую всегда делать резервную копию удаляемого. Все таки какие-то программы могут не пережить такого события по недосмотру создателей.
А я расскажу про Mac Os. Хотя, если подумать, на винде должно быть точно так же.
Создаете нового пользователя с правами админа.
Переключаетесь в него.
Удаляете старого пользователя.
Итог – у вас чистая система, программы на месте.
Как максимально очистить диск с в windows 10?
Помимо ненужных программ и файлов, которые вы можете удалить вручную есть еще пара способов.
На локальном диске C: нажмите правой кнопкой, Свойства. В общих есть Очистка диска. Примените ёё.
С:WindowsTemp – временные файлы, можно удалить, но зачастую там файлы весят немного и удалять их нет смысла.
В корне диска C: могут быть папки Windows.old – старые копии после обновления. Так же папки sd0ad021d00d2910d012 и подобные.
Как обойти пароль администратора? Взял комп с работы, а там стоит пароль администратора, Не могу из за него установить программы.
Или,, можно пробовать через безопасный режим, правда там, в зависимости от настроек системы может не всегда удастся. Для этого:
Загружаемся в безопасном режиме с поддержкой командной строки
Выбираем любую учетную запись администратора без пароля
в окне Интерпретатора команд после приглашения системы введите net user, через пробел имя пользователя, через пробел пароль, и жмем
Вместо – имя вашей локальной пользовательской учетной записи, вместо пароль – вводим новый пароль.
– закрываем окно;
– перезагружаем компьютер.
Как очистить кэш на компьютере с системой Windows 7?
В ОС Windows есть несколько видов КЭШа. Каждый требует очистки.
- Браузер. В настройках браузера нужно найти раздел очистки, либо нажать клавиши ctrl-shift-del и выбрать то, что нужно очистить.
- ОЗУ. В оперативной памяти часто находится много хлама, который тормозит ПК. Чтобы от него избавиться нужно нажать Пуск – Выполнить и ввести команду: %windir%system32rundll32.exe advapi32.dll,ProcessIdleTasks (32-битные ОС) %windir%SysWOW64rundll32.exe advapi32.dll,ProcessIdleTasks (64-битные ОС)
- DNS. Для очистки DNS-кэша нужно запустить командную строку от имени администратора и выполнить в ней команду ipconfig /flushdns.
- Эскизы файлов. Нужно запустить утилиту Очистка диска. Она просканирует систему и обнаружит временные файлы, которые можно удалить.
Также можно воспользоваться специальными сторонними программами, которые проводят комплексную очистку. Например, популярностью пользуется CCleaner.
Хотел переустановить виндоус, но что то пошло не так. Помогите пожалуйста.
Я несколько раз имел дело со сборками и очень сильно от этого пострадал поэтому ставь винду с оф сайта, откат на 7 с 10 всегда сопровождается болью и страданиями по причине отката файловой системы итд.
Правда ли,что на 10 windows нельзя пользоваться торентом и сам windows может удалять пиратский контент с компьютера?
Торренты пока на моей win10 работают.
Но вот одну из программ у меня десятка уже удалила. Причем это была не пиратская программа, а софт производителя ноутбука, предустановленный на нем.
Как перезапустить компьютер windows 7 чтобы он работал с самого начала?
Потребуется диск или флешка с установочной Windows 7
Пуск > Панель управления > Система и безопасность (Архивирование данных) > Восстановить системные параметры или компьютер > Расширенные методы > Переустановка.
Это удалит все программы и файлы в системе, будет чистый Windows. Всё что было останется в папке Windows.old в корне диска C:
Надеюсь, я правильно вас понял
Как удалить ssdp32.dll? Антивирус его удаляет, но он потом опять появляется.
Trojan из Windows: SSDP32.DLL Trojan, удалять его нужно непосредственно с источником захода. Проверьте автозагрузку службы, процессы чем они заняты. Возможно после удаления он как раз его и восстанавливает вновь. AnVir Task Manager программа, которая позволяет контролировать многое, что запущено у вас на компьютере, как раз может быть вам в этом хорошим помощником и вот шпаргалка, чтоб проверить службы и процессы. Успехов!
Если, что компью-помощь, придёт на помощь!
Я продаю пк. На нем было много личных фото и видео. Я сбросил Windows до заводских настроек и, тем самым стер все файлы с пк. Может ли новый покупатель восстановить мой фото и видео?
Да, он сможет восстановить большую часть.
Как этого избежать:
Выньте носители и оставьте себе. Без винчей и SSD восстанавливать будет нечего. Поставьте вместо них новые.
Если по какой-то причине вы хотите продать диски вместе с компьютером, необходимо записать в каждый байт свободного места 0 (ноль), затем 255 (двести пятьдесят пять), затем снова 0 (ноль). После этого можно заполнить их случайными данными. Это можно сделать специальными программами для безопасной очистки диска (wipe).
Кроме всего прочего, нужно убедиться, что к компьютеру автоматически не подсоединяется ваше облако. Эффект маловероятный, но я вижу целых два варианта почему это может быть. Ну и не в последнюю очередь если система после очистки до сих пор зарегистрирована на вас.
Отсоедините компьютер от сервисов. Например, от iCloud.
Выньте SD-карты и симки.
Выньте флэшки, отключите внешние винчи.
Отклейте липкие листочки с паролями.
Уберите заначку из корпуса.
Где в компьютере искать внутренний кеш данных?
Термин “внутренний кеш данных” не очень корректный по нескольким причинам:
кеш не бывает внутренним и внешним, если мы говорим о приложении для ПК (персонального компьютера), а не о веб-приложении например
кеш данных на ПК не хранится в одном месте и более характерен для приложений, нежели операционной системы, так как именно конкретное приложение взаимодействует с кешем и использует его для быстрого отображения или реакции на действия пользователя
в случае с операционной системой Miscrosoft Windows под кешем данных можно подразумевать файл подкачки например, который хранит состояние ОС в момент проведения гибернации. Его назвнаие pagefile.sys, место хранения как правило “C:pagefile.sys”
Подробнее о файле подкачи можно прочитать здесь
- Кеш программ в ОС Windows может храниться в разных местах, но наиболее распространены следующие системные пути:
Также кеш программы может храниться в директории с исполняемым файлом (директория куда установлена программа).
Как повысить эффективность и быстродействие Windows, чтобы больше никогда не переустанавливать эту ОС?
Если не брать в расчет сбои оборудования, которые приводят к необходимости переустанавливать ОС в силу повреждений, которые нанесло компонентам ОС неисправное оборудование, то придерживаясь простых правил можно продлить её работоспособность на очень длительное время.
Определитесь с программами и дополнениями, которые нужны вам для работы и развлечений. Проверьте их безопасность. И не устанавливайте дополнительных программ.
Не кликайте на сообщения выдаваемые системой не прочитав их.
Не соглашайтесь на предложенные ОС операции, если вы не понимаете почему они возникли или в чем их суть.
Определитесь со своими интересами в Сети и старайтесь не посещать незнакомых сайтов.
Имейте работающий и своевременно обновляющийся антивирус, не игнорируйте сообщения от него.
Проводите полную проверку системы антивирусом не реже раза в неделю-две.
Выключайте компьютер только штатным образом.
Собственно все рекомендации сводятся к необходимости быть аккуратным, понимать что и зачем вы делаете и к чему это может привести. Windows – это просто программа, пусть и сложная, её написали такие же люди как вы. И поскольку искусственный интеллект превосходящий человеческий еще не изобрели, то в противостоянии “человек – машина” пока всегда выигрывает человек – поскольку мы, как венец творения, всегда можем попытаться сделать то, что системой (и программистами её написавшими) не было предусмотрено, система не способна учиться в отличие от человека.
Если человек не умеет пользоваться машиной, то машина ломается. Это не удивляет нас при работе со сложными инструментами в жизни, и не должно удивлять тут – потому что компьютер и программы в нём тоже инструменты.
Таким образом чтобы повысить эффективность использования “машины” под названием Windows – нужно научиться ей правильно пользоваться. Впрочем, это актуально и для любых других операционных систем :).
Могу сказать про себя – я не переустанавливаю Windows по несколько лет не испытывая при этом никаких особенных неудобств, а Windows у нас с вами одинаковый – только мы сами и неисправности оборудования разные.
Для чего на компьютере папка AppData – можно ли удалить

Приложения Windows часто хранят свои данные и настройки в папке AppData, и каждая учетная запись пользователя Windows имеет свою собственную. Это скрытая папка, поэтому вы увидите её только в том случае, если включите отображение скрытых файлов в проводнике.
Где найти папку AppData
Каждая учетная запись пользователя имеет свою собственную папку AppData со своим собственным содержимым. Это позволяет программам Windows хранить несколько наборов параметров, если компьютер используется несколькими людьми. Папка AppData была представлена в Windows Vista и по-прежнему используется в Windows 10, 8 и 7 сегодня.
Папку AppData Вы найдёте в пользовательском разделе каждой учетной записи пользователя – это сокращение от Application Data. Например, если ваше имя пользователя «Max», по умолчанию папка данных приложений располагается по адресу C:UsersMaxAppData. Вы можете просто вставить этот адрес в адресную строку, чтобы перейти к папке AppData, или включите отображение скрытых папок.

Вы также можете ввести %APPDATA% в адресную строку Проводника, чтобы перейти непосредственно в папку AppDataRoaming, о которой мы поговорим через мгновение.
Что такое Local, LocalLow и Roaming
На самом деле, AppData содержит три папки, которые хранят разные типы настроек. Откройте папку AppData, и вы увидите папки Local, LocalLow и Roaming.
Начнем с Roaming . Папка «Roaming» содержит данные, которые будут «перемещаться» с учетной записью пользователя с компьютера на компьютер, если ваш компьютер был подключен к домену с перемещаемым профилем. Это часто используется для важных настроек. Например, Firefox хранит здесь свои профили пользователей, позволяя вашим закладкам и другим данным следовать за вами с ПК на ПК.

Папка Local содержит данные, относящиеся к одному компьютеру. Она никогда не переносится с компьютера на компьютер, даже если они входят в один домен. Эти данные обычно специфичны для компьютера или содержат слишком большие файлы. Эти данные могут включать загруженные файлы кеша и другие большие файлы или просто настройки, которые разработчик не желает синхронизировать между ПК. Каждый разработчик должен сам решить, что хранить в локальной папке.
Если вы не подключены к домену, нет никакой реальной разницы между папками «Roaming» и «Local». Всё это просто хранится на вашем ПК. Тем не менее, разработчики приложений по-прежнему делят разные типы данных между разными папками, на всякий случай.

Папка LocalLow совпадает с локальной папкой, но предназначена для приложений с низкой степенью целостности, которые работают с ограниченными настройками безопасности. Например, Internet Explorer при запуске в защищенном режиме имеет доступ только к папке LocalLow. Эта разница не имеет особого значения для вашего личного использования, но для некоторых приложений важно иметь папку для файлов, когда у них нет доступа к основной локальной папке.
Если программа хочет иметь один набор настроек или файлов, которые используются несколькими пользователями, вместо она использует папку ProgramData. Например, антивирусное приложение может сохранять свои журналы сканирования и настройки в ProgramData и делиться ими со всеми пользователями на ПК.
Эти рекомендации не всегда соблюдаются. Например, Google Chrome сохраняет все свои настройки и пользовательские данные в локальной папке, вместо ожидаемой Roaming.
Некоторые приложения могут сохранять свои настройки в папке с основной учетной записью пользователя C:UsersNAME или в папке с документами C:UsersNAMEDocuments. Другие могут хранить данные в реестре или в собственной папке. В Windows разработчики приложений могут хранить данные везде, где им удобно.
Резервное копирование папки AppData
Большинству пользователей Windows даже не нужно знать, что эта папка существует. Вот почему она скрыта по умолчанию. Программы хранят свои данные здесь, и вы можете их копировать, если хотите, – но вам редко придётся это делать.
Вам не нужно создавать резервные копии всей этой папки, хотя вы можете включить её в резервную копию, чтобы у вас было всё, если вам нужно её восстановить.
Если вы хотите создать резервную копию настроек конкретной программы или файлов для сохранения компьютерных игр, вы можете сделать это, перейдя в папку AppData, найти каталог программы и скопировать его в другое место. Затем вы можете копировать эту папку в тоже место на новом компьютере, и программа будет использовать те же настройки. Будет ли это работать, зависит от программ – некоторые программы хранят свои настройки в реестре или в другом месте системы.
Многие программы предоставляют возможность синхронизировать данные между компьютерами или, по крайней мере, экспортировать их. Так что Вам вряд ли потребуется копаться в папке AppData, но иногда это полезно.
Во внешней или внутренней памяти компа ХРАНЯТСЯ программы и данные? спасибо!
Внешняя память – это память, предназначенная для длительного хранения программ и данных. Целостность содержимого ВЗУ не зависит от того, включен или выключен компьютер.
Внутренняя память –
Оперативная память (ОП) предназначена для временного хранения выполняемых программ и данных, обрабатываемых этими программами. Это энергозависимая память. Физически реализуется в модулях ОЗУ (оперативных запоминающих устройствах) различного типа. При выключении электропитания вся информация в оперативной памяти исчезает.
Объём хранящейся информации в ОЗУ составляет от 32 до 512 Мбайт и более. Занесение информации в память и её извлечение, производится по адресам. Каждый байт ОП имеет свой индивидуальный адрес (порядковый номер) . Адрес – число, которое идентифицирует ячейки памяти (регистры) . ОП состоит из большого количества ячеек, в каждой из которых хранится определенный объем информации. ОП непосредственно связана с процессором. Возможности ПК во многом зависят от объёма ОП.
Кеш память – очень быстрая память малого объема служит для увеличения производительности компьютера, согласования работы устройств различной скорости.
Специальная – постоянная, Fiash, видеопамять и тд.
Постоянное запоминающее устройство (ПЗУ) – энергонезависимая память для хранения программ управления работой и тестирования устройств ПК. Важнейшая микросхема ПЗУ – модуль BIOS (Basic Input/Output System – базовая система ввода/вывода) , в котором хранятся программы автоматического тестирования устройств после включения компьютера и загрузки ОС в оперативную память. Это Неразрушимая память, которая не изменяется при выключении питания
Перепрограммируемая постоянная память (Flash Memory) – энергонезависимая память, допускающая многократную перезапись своего содержимого
CMOS RAM (Complementary Metal-Oxide Semiconductor) – память с невысоким быстродействием и минимальным энергопотреблением от батарейки. Используется для хранения информации о конфигурации и составе оборудования компьютера, о режимах его работы. Содержимое изменяется программой, находящейся в BIOS (Basic Input Output System).
Видеопамять – запоминающее устройство, расположенное на плате управления дисплеем и предназначенное для хранения текстовой и графической информации, отображаемой на экране. Содержимое этой памяти сразу доступно двум устройствам – процессору и дисплею, что позволяет изменять изображение на экране одновременно с обновлением видеоданных в памяти.
Так что данные хранятся во внешней памяти.
Где программа хранит свои данные после запуска?
Для решения подобных задач есть утилита RegMon, которую можно скачать на сайте www.sysinternals.com. Утилита бесплатна и не требует установки, размер дистрибутива мал.
Эта утилита в реальном времени показывает все обращения к реестру. При помощи фильтра можно отследить обращения к реестру только определенной программы. После сбора информации можно сделать экспорт собранных данных, например, в Access или Excel, где при помощи фильтров проанализировать их.
Рассмотрим на примере программы Paint, входящий в стандартный набор программ Windows, последовательность действий по определению раздела реестра, где программа хранит свои настройки.
- Определите имя исполняемого файла программы, обращения которой в реестр нужно отследить. В нашем примере (программа Paint) это mspaint.exe. Имя исполняемого файла можно узнать, щелкнув правой кнопкой по ярлыку, который запускает программу и выбрав Свойства.
- Запустите RegMon. Его внешний вид после запуска показан на рисунке 1.
Нажмите Crtl+L и в открывшемся окне, в поле Include наберите имя файла. Пример окна показан на рисунке 2.
Нажмите ОК, чтобы закрыть окно настройки фильтра. В меню Edit выберите пункт Clear Display. Окно RegMon будет очищено. Запустите Paint. Окно RegMon-а заполнится записями о местах его обращения к реестру. Пример показан на рисунке 3.
Это те ключи реестра, к которым обратился Paint при своем запуске.
Теперь закройте Paint. В окно RegMon будут записаны ключи реестра, к которым обратился Paint при закрытии, сохраняя свои настройки. Прокрутите окно RegMon и найдите наиболее часто встречающийся раздел реестра, к которому обращается Paint. Это HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionAppletsPaint. Именно в этом разделе он и хранит свои настройки. Двойной щелчок мыши по интересующей строке в окне RegMon откроет редактор реестра и сделает активным тот раздел, имя которого было кликнуто в RegMon.
На этом простом примере показана методика отслеживания обращений программ к реестру. Конечно, определение раздела, где хранятся настройки Paint очень легкая задача, но, следуя этой методике, можно достаточно быстро определить, куда программа записывает свои настройки и какие еще разделы реестра она «посещает» при работе.
Иногда объемы собранной информации составляют сотни килобайт, не смотря на то, что фильтрами RegMon-а отсекается много лишнего. В этом случае реальную помощь окажет Access, импортировав в который предварительно сохраненный лог-файл RegMon-а, можно сделать необходимые «выжимки».
Более подробное описание приемов работы с RegMon-ом опубликовано в виде отдельной статьи в разделе ОС и ПО.
Где хранятся файлы и программы? Программа проводник.
Одна из основных задач, с которой едва ли не ежеминутно сталкивается работающий за компьютером пользователь, — это знать где хранятся файлы и программы. Для этих целей в составе Windows предусмотрена специальная программа Проводник, которую можно запустить, выполнив последовательность команд Пуск ► Все программы ► Стандартные ► Проводник, или просто щелкнув правой клавишей мыши на кнопке Пуск и выбрав в появившемся контекстном меню пункт Проводник. Внешний вид этой программы показан на скриншоте.

Рабочее пространство программы Проводник разделено на два основных поля: в левом отображается вертикальная панель, открывающая доступ к древовидной структуре дисков, файлов и папок, в правом — содержимое выбранного диска или папки.
Чтобы просмотреть содержимое какой-либо папки или диска, достаточно щелкнуть на его изображении в левом поле — в правом появится список хранящихся в этой папке подпапок и файлов. Если, например, вы хотите перейти в папку Мои документы, просто щелкните на ее значке левой кнопкой мыши — содержимое этой папки тут же отобразится в основном окне Проводника. Щелчок на обозначении дисковода или жесткого диска, приведет вас в корневую папку выбранного диска.
Некоторые папки в окне программы Проводник отмечены символом « + » — это означает, что такая папка содержит вложенные папки. Щелчок на значке папки приводит к ее открытию: в левом окне вы сможете увидеть подпапки этой папки, а в правом — ее полное содержимое. Вы можете также перемещаться между различными объектами файловой системы, дважды щелкая мышью на обозначении этих объектов в правом окне.
Дополнительные возможности навигации по файловой системе предоставляют графические кнопки, расположенные в панели инструментов Проводника.
Кнопка Назад возвращает вас в папку, которая была открыта непосредственно перед текущей. По нажатию кнопки Вперед осуществляется обратный переход в папку, которую пользователь покинул, нажав на кнопку Назад.
Кнопка Вверх перемещает программу на один уровень вверх в файловой системе вашего компьютера.
При нажатии на кнопку Поиск прохрамма переключается в режим поиска файлов и папок. Кнопка Папки включает в левом окне программы отображение древовидной структуры файлов и папок вашего компьютера. Если кнопка не нажата, в левом окне Проводника демонстрируется информация о выбранном файле или папке, а также появляется перечень команд, которые можно выполнить с данным объектом.
Кнопка Вид позволяет изменить внешний вид отображающихся в основном рабочем окне Проводника значков, например сделать их более крупными или более мелкими.
В адресной строке этой панели вы можете набрать с клавиатуры нужный путь, нажав затем клавишу Enter или щелкнув на кнопке Переход. Другой вариант — развернув контекстное меню щелчком мыши на направленной вниз черной стрелке в правой части адресной строки, выбрать нужный диск из списка, там хранятся файлы и программы.
автобусные туры по европе
Где программа хранит свои данные после запуска
Во внешней или внутренней памяти компа ХРАНЯТСЯ программы и данные? спасибо!
Внешняя память – это память, предназначенная для длительного хранения программ и данных. Целостность содержимого ВЗУ не зависит от того, включен или выключен компьютер.
Внутренняя память –
Оперативная память (ОП) предназначена для временного хранения выполняемых программ и данных, обрабатываемых этими программами. Это энергозависимая память. Физически реализуется в модулях ОЗУ (оперативных запоминающих устройствах) различного типа. При выключении электропитания вся информация в оперативной памяти исчезает.
Объём хранящейся информации в ОЗУ составляет от 32 до 512 Мбайт и более. Занесение информации в память и её извлечение, производится по адресам. Каждый байт ОП имеет свой индивидуальный адрес (порядковый номер) . Адрес – число, которое идентифицирует ячейки памяти (регистры) . ОП состоит из большого количества ячеек, в каждой из которых хранится определенный объем информации. ОП непосредственно связана с процессором. Возможности ПК во многом зависят от объёма ОП.
Кеш память – очень быстрая память малого объема служит для увеличения производительности компьютера, согласования работы устройств различной скорости.
Специальная – постоянная, Fiash, видеопамять и тд.
Постоянное запоминающее устройство (ПЗУ) – энергонезависимая память для хранения программ управления работой и тестирования устройств ПК. Важнейшая микросхема ПЗУ – модуль BIOS (Basic Input/Output System – базовая система ввода/вывода) , в котором хранятся программы автоматического тестирования устройств после включения компьютера и загрузки ОС в оперативную память. Это Неразрушимая память, которая не изменяется при выключении питания
Перепрограммируемая постоянная память (Flash Memory) – энергонезависимая память, допускающая многократную перезапись своего содержимого
CMOS RAM (Complementary Metal-Oxide Semiconductor) – память с невысоким быстродействием и минимальным энергопотреблением от батарейки. Используется для хранения информации о конфигурации и составе оборудования компьютера, о режимах его работы. Содержимое изменяется программой, находящейся в BIOS (Basic Input Output System).
Видеопамять – запоминающее устройство, расположенное на плате управления дисплеем и предназначенное для хранения текстовой и графической информации, отображаемой на экране. Содержимое этой памяти сразу доступно двум устройствам – процессору и дисплею, что позволяет изменять изображение на экране одновременно с обновлением видеоданных в памяти.
Так что данные хранятся во внешней памяти.
Где хранятся файлы и программы? Программа проводник.
Одна из основных задач, с которой едва ли не ежеминутно сталкивается работающий за компьютером пользователь, — это знать где хранятся файлы и программы. Для этих целей в составе Windows предусмотрена специальная программа Проводник, которую можно запустить, выполнив последовательность команд Пуск ► Все программы ► Стандартные ► Проводник, или просто щелкнув правой клавишей мыши на кнопке Пуск и выбрав в появившемся контекстном меню пункт Проводник. Внешний вид этой программы показан на скриншоте.

Рабочее пространство программы Проводник разделено на два основных поля: в левом отображается вертикальная панель, открывающая доступ к древовидной структуре дисков, файлов и папок, в правом — содержимое выбранного диска или папки.
Чтобы просмотреть содержимое какой-либо папки или диска, достаточно щелкнуть на его изображении в левом поле — в правом появится список хранящихся в этой папке подпапок и файлов. Если, например, вы хотите перейти в папку Мои документы, просто щелкните на ее значке левой кнопкой мыши — содержимое этой папки тут же отобразится в основном окне Проводника. Щелчок на обозначении дисковода или жесткого диска, приведет вас в корневую папку выбранного диска.
Некоторые папки в окне программы Проводник отмечены символом « + » — это означает, что такая папка содержит вложенные папки. Щелчок на значке папки приводит к ее открытию: в левом окне вы сможете увидеть подпапки этой папки, а в правом — ее полное содержимое. Вы можете также перемещаться между различными объектами файловой системы, дважды щелкая мышью на обозначении этих объектов в правом окне.
Дополнительные возможности навигации по файловой системе предоставляют графические кнопки, расположенные в панели инструментов Проводника.
Кнопка Назад возвращает вас в папку, которая была открыта непосредственно перед текущей. По нажатию кнопки Вперед осуществляется обратный переход в папку, которую пользователь покинул, нажав на кнопку Назад.
Кнопка Вверх перемещает программу на один уровень вверх в файловой системе вашего компьютера.
При нажатии на кнопку Поиск прохрамма переключается в режим поиска файлов и папок. Кнопка Папки включает в левом окне программы отображение древовидной структуры файлов и папок вашего компьютера. Если кнопка не нажата, в левом окне Проводника демонстрируется информация о выбранном файле или папке, а также появляется перечень команд, которые можно выполнить с данным объектом.
Кнопка Вид позволяет изменить внешний вид отображающихся в основном рабочем окне Проводника значков, например сделать их более крупными или более мелкими.
В адресной строке этой панели вы можете набрать с клавиатуры нужный путь, нажав затем клавишу Enter или щелкнув на кнопке Переход. Другой вариант — развернув контекстное меню щелчком мыши на направленной вниз черной стрелке в правой части адресной строки, выбрать нужный диск из списка, там хранятся файлы и программы.
автобусные туры по европе
Почему нельзя полностью удалить программу обычным способом
Наверняка вы слышали о программах для удаления программ, которые достаточно распространены среди продвинутых пользователей компьютеров под управлением Windows. Но далеко не все пользователи понимают разницу между ними и обычным удалением. Разработчики таких программ заявляют, что их продукт может полностью удалить программу вместе со всеми следами. Но разве стандартный инструмент Windows не может сделать это же? Почему вместо штатного способа удаления нужно прибегать к использованию каких-то сторонних программ? И насколько вообще это нужно рядовому пользователю?
Где программы хранят данные
Чтобы понять ситуацию, стоит рассмотреть типичную структуру данных программ. Наверняка вы знаете, что программные файлы в подавляющем большинстве случаях хранятся в папках Program Files и Program Files (x86). Именно туда программа установщик записывает все файлы, которые необходимы для запуска программ. Иногда программы устанавливаются в папку пользователя (это может быть нужно по ряду причин, например, для автоматического обновления программы в фоновом режиме без оповещения пользователя, как делает тот же Google Chrome).
А еще программы часто создают в папках AppData и LocalAppData хранилища для различных рабочих файлов, которые постоянно изменяются и пополняются. Результаты работы программ могут быть записаны в папку с личными документами пользователя (Документы, Изображения, Музыка и прочее). Также бывают случаи, когда сама система записывает данные программ в специальную папку внутри папки пользователя (папка Virtual Store).
Ну и конечно же системный реестр, который упоминается везде и всюду. Там программы хранят свои настройки. В реестре может быть 2-3 места, где программы размещают свои данные.
Как работает установщик/деинсталлятор
Теперь давайте рассмотрим, как работает типичный инсталлятор/деинсталлятор, которые разработчики используют для установки своих продуктов. В подавляющем большинстве случаев это отдельные программные модули, которые написаны совершенно другими авторами и которые просто взяты для того, чтобы не писать свой уникальный инсталляционный пакет.
В настройках установщика обычно задается, в какие папки нужно скопировать файлы из установочного пакета. Как правило, это Program Files или Program Files (x86), а также в ряде случаев копирование отдельных рабочих файлов в AppData и LocalAppData, а также создание базовых ключей реестра. На этом процесс установки заканчивается, программа установщик записывает все эти файлы и ключи в специальный файл, который потом будет использован при удалении.
Все же дополнительные ключи реестра и файлы, которые будут созданы уже в процессе использования программы, установщику неизвестны. Потому по логике работы установщика/деинсталлятора они являются чужеродными и не относятся к установленной программе. Хотя по факту это не так.
В процессе удаления, который является по сути обратным процессом установки, деинсталлятор проходит по списку ключей и файлов, который был создан в процессе установки, и удаляет их. Все остальные элементы остаются в компьютере, так как считаются «чужими» (их нет в списке установки).
Почему остаются «хвосты»
Казалось бы, что разработчику программы достаточно приложить небольшие усилия и доделать процесс удаления своего продукта, но не все об этом даже задумываются. А кто-то из разработчиков считает, что оставшиеся на компьютере настройки и рабочие файлы даже хорошо, потому что при повторной установке все будет так, как было до удаления. Хотя, конечно, хороший разработчик подумает об этом заранее и на одном из этапов удаления спросит у пользователя, сохранить ли рабочие файлы и настройки на компьютере.
Есть еще и такие разработчики программ, которые перекладывают вину за свою недоработку на плечи разработчиков утилит установки/удаления, считая, что это их работа. При этом разработчики установщиков/деинсталляторов ссылаются на то, что разработчики программ должны заниматься этим сами, указывая дополнительные параметры для удаления.
Каждый спихивает вину друг на друга, а в результате страдают обычные пользователи. Именно потому штатное удаление в подавляющем большинстве случаев не обеспечивает полного удаления программ, в результате чего приходится использовать деинсталляторы.
Нужны ли сторонние деинсталляторы вам?
Теперь осталось понять, насколько вообще целесообразно использовать деинсталляторы вам (если вы еще не решили). И чтобы ответить на этот вопрос, надо понять, как часто вы устанавливаете/удаляете программы, какое количество следов остается после удаления программ обычным способом, а также сколько места на диске всего и сколько свободно.
Если на вашем диске очень много свободного места и удаление лишних 2-10 гигабайт не сыграет никакой роли, то в принципе заморачиваться этим вопросом и не стоит. Но если у вас системный диск на 120 Гб и свободно места, что называется «впритык», то об этом стоит задуматься, потому что 2-10 гигабайт для 120 Гб диска уже достаточно внушительный объем.
Еще есть такой момент, как проблемное программное обеспечение. В случае возникновения проблем можно попытаться полностью удалить приложение и установить его заново, чтобы сбросить все настройки на «заводские». В этом случае деинсталлятор также может помочь.
Кстати, если вы ранее удаляли большое количество программ штатными средствами, то можете удалить все следы от удаленных программ разом. Подробнее об этом в статье «Как разом избавиться от остатков всех удаленных программ в Windows 7«.
Где программа хранит свои данные после запуска
Для решения подобных задач есть утилита RegMon, которую можно скачать на сайте www.sysinternals.com. Утилита бесплатна и не требует установки, размер дистрибутива мал.
Эта утилита в реальном времени показывает все обращения к реестру. При помощи фильтра можно отследить обращения к реестру только определенной программы. После сбора информации можно сделать экспорт собранных данных, например, в Access или Excel, где при помощи фильтров проанализировать их.
Рассмотрим на примере программы Paint, входящий в стандартный набор программ Windows, последовательность действий по определению раздела реестра, где программа хранит свои настройки.
- Определите имя исполняемого файла программы, обращения которой в реестр нужно отследить. В нашем примере (программа Paint) это mspaint.exe. Имя исполняемого файла можно узнать, щелкнув правой кнопкой по ярлыку, который запускает программу и выбрав Свойства.
- Запустите RegMon. Его внешний вид после запуска показан на рисунке 1.
Нажмите Crtl+L и в открывшемся окне, в поле Include наберите имя файла. Пример окна показан на рисунке 2.
Нажмите ОК, чтобы закрыть окно настройки фильтра. В меню Edit выберите пункт Clear Display. Окно RegMon будет очищено. Запустите Paint. Окно RegMon-а заполнится записями о местах его обращения к реестру. Пример показан на рисунке 3.
Это те ключи реестра, к которым обратился Paint при своем запуске.
Теперь закройте Paint. В окно RegMon будут записаны ключи реестра, к которым обратился Paint при закрытии, сохраняя свои настройки. Прокрутите окно RegMon и найдите наиболее часто встречающийся раздел реестра, к которому обращается Paint. Это HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionAppletsPaint. Именно в этом разделе он и хранит свои настройки. Двойной щелчок мыши по интересующей строке в окне RegMon откроет редактор реестра и сделает активным тот раздел, имя которого было кликнуто в RegMon.
На этом простом примере показана методика отслеживания обращений программ к реестру. Конечно, определение раздела, где хранятся настройки Paint очень легкая задача, но, следуя этой методике, можно достаточно быстро определить, куда программа записывает свои настройки и какие еще разделы реестра она «посещает» при работе.
Иногда объемы собранной информации составляют сотни килобайт, не смотря на то, что фильтрами RegMon-а отсекается много лишнего. В этом случае реальную помощь окажет Access, импортировав в который предварительно сохраненный лог-файл RegMon-а, можно сделать необходимые «выжимки».
Более подробное описание приемов работы с RegMon-ом опубликовано в виде отдельной статьи в разделе ОС и ПО.
Память Андроид: очистить кэш и данные приложений

Память мобильных устройств – вопрос, интересующий многих владельцев Android-смартфонов. Объём доступной к использованию свободной памяти, предоставляемый производителями телефонов, за последние годы существенно увеличился, но объём данных, которые хранит пользователь в носимых гаджетах, растёт ещё быстрее.
В данной статье мы поговорим об одном из способов, позволяющих освободить место в памяти Андроид смартфона . Ниже речь пойдёт о том, что такое очистка кэша и что происходит при нажатии на кнопку Очистить данные у приложений в Android OS.
Содержание статьи:
Накопитель заполнен на 75%. Перенести данные на SD-карту
Со временем, когда объём хранимой на смартфоне информации сильно увеличивается, пользователь может столкнуться с проблемой нехватки памяти на телефоне. Уведомление, оповещающее о том, что память заполнена , может выглядеть по-разному. Вот один из примеров:

О чём говорит это предупреждение? В данном случае система предупреждает, что на внутренней памяти устройства осталось меньше 25% свободного пространства. По большому счёту, это не критическая ошибка, доступная память ещё в наличии, но нужно иметь ввиду два момента:
- Свободное место на телефоне скоро может закончиться, чтобы этого не произошло в самый неподходящий момент, заранее позаботьтесь об освобождении занятого простарнства.
- Для комфортной работы с ОС желательно держать свободным некоторый объём памяти внутреннего накопителя. Это обеспечит поддержание уровня быстродействия и плавности в повседневном использовании.
В статье Память на Android. Все разделы памяти Андроид устройств мы подробно останавливались на разборе всех типов памяти Android OS. Там же приводилась следующая строчка:
Внутренняя память устройства (Internal phone storage) – та часть модуля памяти смартфона, которая не занята системными разделами и доступна пользователю для размещения приложений, медиа-контента и документов. Часть памяти, на которую устанавливается софт , определяется как раздел Data, а часть, занятая пользовательскими файлами – как User.
Зачастую реальной границы между этими областями нет, и тогда распределение памяти зависит только от нужд владельца устройства.
Если учесть это в рамках текущей публикации, то делаем вывод, что система может оповещать как о нехватке памяти на внутреннем накопителе в целом, так и конкретно о нехватке памяти в разделе Data . Разница в следующем:
- Если на смартфоне требуется освободить место в общем на внутреннем накопителе, то мы можем принести в жертву либо пользовательские данные (музыка, фотографии, видео, документы), либо приложения и файлы связанные с ними.
- Если на смартфоне необходимо освободить выделенный раздел Data , то удаление фотографий или музыки не приведёт ни к какому результату. В этом случае требуется оптимизация именно памяти, занятой программами и играми. Это важно понимать.
Если с удалением медиафайлов и документов всё более или менее понятно, то вопрос оптимизации памяти, занимаемой приложениями, рассмотрим подробнее.
Из чего состоят приложения на Андроид
В первую очередь, стоит указать, что каждое Андроид приложение условно можно разделить на три части по типу используемых файлов:
- Программа. Это само приложение, apk-файл .
- Данные приложения. Это пользовательская информация, которая сохраняется в процессе всего периода жизни той или иной программы на смартфоне. Данные вносятся в программу пользователем или по его прямому запросу.
- Кэш приложения. Это временно хранимые файлы. Грубо говоря, это та же пользовательская информация, с той лишь разницей, что её утрата не влияет на работоспособность приложения. Программа способна заполнить кэш нужными данными самостоятельно в процессе работы.
Теперь определим, где хранится программа, её данные и кэш приложения на Андроид.
Если продолжить отсылку к упомянутой выше статье о памяти на Android и воспользоваться классификацией разделов из неё, то можно смело утверждать, что и сама программа, и данные пользовательских приложений, и их кэш хранятся в Энергонезависимой памяти -> в Перезаписываемом разделе EEPROM -> Internal phone storage (внутренний накопитель) -> Data (то есть, данные).
Мы в данном случае не рассматриваем системные приложения, так как они расположены в Прошиваемом разделе System, и, без наличия root-прав, недоступны для удаления.
То есть, из вышесказанного делаем вывод, что и программа, и её данные с кэшем занимают память в разделе Data , а это значит, что очистка любой из этих составляющих, освобождает пользовательское место и, собственно, частично решает проблему нехватки памяти на Андроид устройстве.
Взглянем на все составные части приложений Android детальнее.
Удаление приложения на Андроид
Сначала отметим, что сама программа в системе Андроид – это не только apk-файл . Кроме него могут быть задействованы дополнительные библиотеки и дополнительные технические* файлы программы.
Под техническими файлами мы понимаем те ресурсы, которые хранятся вне исполнительного файла , но служат для обеспечения выполнения приложением своей работы.
И исполнительный файл программы, и сопутствующие ему файлы чаще всего располагаются в следующем каталоге от корня файловой системы:
В папке app располагается каталог приложения, в корне которого находится сам apk-файл , и папка lib, в которую помещаются системные библиотеки, если таковые имеются. В зависимости от программы, рядом с apk-файлом могут быть и папки с другим названием.

Содержимое папки с программой в каталоге /data/app/ хранится там на протяжении всего времени работы от момента установки до момента деинсталляции приложения.
Очистить данные приложения Андроид
Теперь, что касается данных приложения. Данные – это, в первую очередь, пользовательская информация. В общем случае хранятся данные приложения в следующем каталоге:
В частном случае это может быть немного иной путь, что, в частности, соответствует общему каталогу, отличаясь только отображением иерархии каталогов:
Этой папкой возможные места хранения данных приложения на Андроид не ограничиваются. Часто программа при установке создаёт свой каталог в корне карты памяти: либо внутренней, либо внешней. Именно в этих папках программа сохраняет информацию, которую:
- вводит пользователь;
- скачивает само приложение по запросу юзера.
Кроме вышеперечисленных путей есть ещё один каталог, о котором нужно упомянуть отдельно. Речь пойдёт о папке obb, которая расположена по пути:
Эта папка служит специально для того, чтобы там хранился так называемый кэш игр . Немножко подробнее остановимся на том, что это такое и для чего используется.

Игровая индустрия развивается достаточно быстро. Вместе с этим растут и требования к аппаратной части, в том числе и к дисковому пространству. Всё это актуально и для Android OS. Серьёзные игры с красивой прорисовкой графики и серьёзным геймплеем требуют хранения большего объёма системной информации. Всё это привело к тому, что у многих игр появился ярко выраженный кэш. Но, как и в разных способах установки программ, есть несколько путей и в том, как поместить кэш игры в папку /Android/obb/:
- Если объём кэша не очень велик , то разработчик может заархивировать данные, поместить их непосредственно в apk-файл или просто привязать загрузку кэша к загрузке самой игры. При установке такой игры кэш самостоятельно распакуется в нужную папку. Эту возможность разработчики иногда используют как дополнительную защиту от взлома, так как в случае, если вы скачали игру не из магазина Google Play, а из альтернативного источника, игра при запуске не найдёт кэш и откажется запускаться.
- Если в apk-файле всех файлов игры не размещено, то, по умолчанию, кэш игры скачивается через интернет автоматически самим приложением при его первом запуске.
Нужно отметить ещё одну причину, по которой кэш игр не очень удобно упаковывать изначально в apk-файл. Дело в том, что, зачастую, кэш для разных телефонов будет отличаться в зависимости от разрешения экрана, типа видеочипа и процессора, а иногда и от модели смартфона. А если скачивать кэш при первом запуске игры, то не придётся передавать на смартфон пользователя те данные, которые не подходят для его устройства. - Всё*, что скачивается конкретным приложением, можно скачать вручную. То есть, кэш игры можно качать не через саму игру, а отдельно . Это возможно в том случае, если кто-нибудь скачает подходящий вам кэш (по разрешению экрана, типу видеоускорителя и так далее) и выложит его в сеть. Тогда нам останется скачать архив с кэшем и поместить его в нужный каталог: obb или data, в зависимости от игры (в частных случаях путь хранения кэша может отличаться и указывается дополнительно).
Если вы скачиваете кэш игры отдельно, то советуем поступать следующим образом: сначала установить игру , затем запустить её и дать время для запуска загрузки кэша из сети , а спустя несколько секунд прервать загрузку и подложить имеющийся кэш вручную . Таким образом мы избегаем ошибки в выборе каталога для размещения кэша.
Теперь кому-то может показаться странным, почему информацию о папке с кэшем мы поместили в главу о данных Android, а не о самом кэше. И вот в чём дело. По сути, кэш игры так называют потому, что он скачивается ею при установке. Эти данные являются кэшем только для самого приложения и с точки зрения пользователя. Для операционной системы Андроид файлы кэша игры являются данными приложения и при очистке кэша не затираются (ниже повторим об этом). А когда же затираются?
Также при установке игр с кэшем необходимо учитывать ещё один нюанс: при удалении такой игры следует вручную проверить, удалился ли кэш автоматически. Если этого не произошло, то папку с кэшем можно удалить вручную любым файловым менеджером.
Очистить кэш приложения Андроид
Для начала определим, что такое кэш приложения :
Слово “кэш” позаимствовано от английского слова “cache“, которое, в свою очередь, произошло от французского “cacher“, что значит “скрывать“, “прятать“.
Теперь о том, для чего нужен кэш . В кэше не хранится действительно важная информация, сюда записываются файлы, обращение к которым возможно особенно часто. Сделано это для увеличения скорости доступа. Приведём пример, описывающий работу кэша браузера:
Мы заходим на определённую статью на сайте, которая содержит, допустим, 5 картинок. Для того, чтобы отобразить эти картинки пользователю, браузер скачивает их превьюшки и сохраняет на жёсткий диск или в память телефона. Теперь, когда мы зайдём на эту же статью в следующий раз, браузеру не придётся повторно качать те же изображения, он выдаст их нам из кэша , что позволяет увеличить общую скорость загрузки страницы.
Но у кэша существует естественный недостаток: он хранит как действительно нужные, регулярно вызываемые файлы, так и те, которые были показаны лишь раз и больше пользователю не понадобятся. Чтобы избавиться от ненужной информации, занимающей место, существует опция, которая позволяет очистить кэш приложения.
Давайте рассмотрим пример, который объясняет смысл понятий программа, данные приложения и кэш приложения простыми словами.
Предположим у нас, как у пользователя , в офисе сидит секретарша офис-менеджер Татьяна. Татьяна – это, в нашем случае, приложение . На рабочем столе Татьяны стоит компьютер, которым офис-менеджер постоянно пользуется – это данные приложения . Кроме компьютера на рабочем столе всегда находятся ручка, блокнот, степлер, дырокол и калькулятор – это кэш нашего приложения .
В какой-то момент времени мы переезжаем в другой офис (прошивка или смена устройства), он больше и просторнее, но в нём пока нет ничего. В первую очередь, приходит офис-менеджер (установка программы). Однако, она пока не может работать, у неё нет данных, поэтому мы устанавливаем ей компьютер (подгрузка данных приложения). Работа закипела. Но пока стол пуст (кэш очищен), скорость работы офис-менеджера ниже прежней: каждый раз, чтобы скрепить документы или посчитать большие суммы, ей приходится отвлекаться на поиски нужных инструментов. Поэтому, постепенно на столе у Татьяны вновь появляется степлер и кулькулятор (заполнение кэша). А вот блокнот, оказывается, нужен не так часто, поэтому он может лежать в выдвижном шкафу, а на освободившееся на столе место мы поместим календарь, обращение к которому происходит чаще. Благодаря этому Татьяна теперь справляется со своими задачами ещё быстрее.
Это грубый пример того, как очистка кэша благотворно влияет на работу приложения .
Кэш приложения также может размещать по разным папкам. Чаще всего это одноимённый каталог cache, который расположен, например, в папке приложения из /Android/data/

То есть, если на нашем смартфоне заканчивается доступная память на накопителе, именно очистка кэша позволит нам освободить некоторый объём памяти для записи новых данных. Перед очисткой кэша убедитесь, что данная процедура безболезненна для конкретной программы и не приведёт к удалению важной информации.
Соответственно, отвечая на вопрос: “Удалится ли кэш игры при очистке кэша приложения?” – можно сказать, что нет, содержимое папки /Android/obb/ в общих случаях не затрагивается, если иное не предусмотрено разработчиком системы или приложения.
Где приложения хранят свои данные
Андрей Подкин
При использовании приложений под Android иногда появляются вопросы: «А где приложение хранит созданные файлы?», «Можно ли до них достучаться?» и «Удалятся ли файлы при удалении приложения?» Давайте попробуем посмотреть, где же приложение может хранить свои данные и какие последствия это имеет для пользователя.
Внутреннее хранилище данных
Смысл следует непосредственно из названия. Внутреннее хранилище (internal storage) располагается всегда в памяти смартфона вне зависимости от того, есть ли возможность установки карты памяти (и тем более того, вставлена ли она). Эта область памяти является защищенной. Находится в системном разделе /data. По умолчанию все файлы, которые там располагаются, доступны только тому приложению, которое их создало. Разумеется, можно сделать файлы доступными для других приложений, но это надо делать специально. Если приложение не открывает файлы для доступа извне, достучаться к ним можно будет только получив root.
Назначение хранилища понятно: внутренние защищенные данные, к которым не должно быть нерегламентированного доступа. Проблемы (с точки зрения пользователя) могут быть в следующих случаях:
- Неоправданно большой объем данных. Хочется вынести данные на карту памяти, чтобы сэкономить внутреннее пространство для других нужд, а приложение не дает.
- По мнению пользователя, регламент доступа к данным должен быть другим, не таким, как предлагает приложение.

Пример: приложение «Лекции по истории России». В приложении хороший контент (и по содержанию, и по качеству звука). Но сохраняется он во внутреннюю память. На бюджетных устройствах, где этой памяти мало, становится затруднительным закачать заранее много лекций, а потом, отключившись от интернета, слушать их. Второй проблемой становится собственно регламент доступа к данным. Даже если ограничиться тематикой истории, у меня есть аудиофайлы, полученные из трех источников: данное приложение, подкасты и аудиоверсии роликов с youtube. Хочется взять и объединить навек в их земной юдоли под владычеством всесильным Властелина Мордора их все в единый плейлист, и слушать его одним аудиоплеером. Но на смартфоне без root это сделать невозможно.

Внешнее хранилище «личных» данных
С точки зрения разработчика, кроме внутреннего хранилища данных, для персональных целей приложения есть еще внешнее хранилище. Оно необязательно размещается на карте памяти. Это может быть и внутренняя память смартфона, но весь раздел с такими данными размещается в общем доступе. В корне раздела есть папка Android/data, а в ней — подпапки с именами пакетов приложений.

Плюсы такого подхода очевидны: данные доступны извне для целей пользователя. А если это карта памяти, то и емкость может быть ограничена только вашими финансами (в продаже уже можно найти карты памяти на 400 гигабайт). Минусы тоже понятны: в любой момент любое приложение (конечно, имеющее разрешение на доступ к «внешним» данным) может взять и стереть чужие файлы. Также файлы будут удалены системой при удалении приложения (или при очистке его данных).
Пример приложения: подкаст-менеджер BeyondPod (более-менее свежей версии, раньше файлы хранились по-другому). Пользователь имеет доступ к скачанным подкастам и может легко удалять их (например, в целях экономии места) или слушать их во внешнем плеере.

Общее внешнее хранилище
Располагается в корне «внешнего» раздела на одном уровне с папкой «Android». Предназначается для хранения данных, разделяемых между разными приложениями. Обычно в документации Google в качестве примера приводят картинки (фото с камеры — папка DCIM). Основная проблема данных файлов: они никогда не удаляются автоматически. Даже если приложение вы удалили.

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

Как можно удалить файлы, не удаляя приложения
Здесь важно ввести еще одну классификацию файлов приложений. Она справедлива для внутреннего хранилища и для внешнего хранилища личных данных. Все данные делятся на два типа: собственно данные и кэш.
Данные (папка data) — некие файлы, которые, по логике Google, нужны для постоянной работы с ними. Если полностью их удалить, то приложение поведет себя точно так же, как если бы его переустановили (удалили и заново установили). Частичное удаление файлов может не привести ни к каким неприятным последствиям. Но важно понимать, какие конкретно данные вы удаляете (например, очевидно, что скачанные файлы подкастов можно удалять совершенно свободно — это не повлияет на работоспособность подкаст-менеджера).
Кэш — временные данные, которые сформированы в ходе работы приложения и нужны для ускорения этой работы. Например, данные, которые часто нужны в интернете, загружаются и в дальнейшем вместо загрузки открываются локально (разумеется, кэш может обновляться, чтобы не показывать устаревшие данные). Удалять кэш любого приложения можно совершенно спокойно, это штатная операция.

Очистка памяти и кэша вызывается из настроек приложения. Кнопка «Очистить кэш» очищает только кэш, а кнопка «Очистить данные» — и кэш, и данные приложения.
Удаление файлов приложения из общего внешнего хранилища выполняется только вручную. Более того, даже оценка того, от какого приложения эти файлы остались, тоже выполняется вручную.