Область подкачки имеет файловую систему?

Для работы с устройствами хранения нам нужна файловая система, что относительно области подкачки?

Если это не имеет файловой системы, как операционная система работает с ним? Как данные (от RAM) записаны в диск, и как к этому получают доступ снова?

26
задан 6 November 2016 в 23:09

3 ответа

Подкачка технически не имеет определенной файловой системы. Целая цель файловой системы состоит в том, чтобы структурировать данные определенным способом. Раздел подкачки в особенности не имеет структуры, но это действительно имеет определенный заголовок, который создается mkswap программа. В частности, это (взятый из kernel.org):

 25 union swap_header {
 26     struct 
 27     {
 28         char reserved[PAGE_SIZE - 10];
 29         char magic[10];
 30     } magic;
 31     struct 
 32     {
 33         char     bootbits[1024];
 34         unsigned int version;
 35         unsigned int last_page;
 36         unsigned int nr_badpages;
 37         unsigned int padding[125];
 38         unsigned int badpages[1];
 39     } info;
 40 };

Каждый раздел имеет определенный код, связанный с ним, и согласно TLDP:

код для ext2 является 0x83, и подкачка Linux является 0x82

Когда файл подкачки включен, это - немного отличающаяся история. Ядро должно уважать то, что файловая система может поступать по-своему структурирования данных. Из той же ссылки kernel.org:

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

В заключение технически Вы могли назвать область подкачки файловой системой ее собственного типа, но это не совсем сопоставимо с файловыми системами как NTFS или ext4

Вы также спросили

Я хочу знать, как возможно записать в пространстве памяти без файловой системы

Строго говоря нет никакой потребности в RAM, которая будет структурирована. Однако части RAM могут быть структурированы как tmpfs под подобными Unix Ose. Существует также ramfs, и initramfs, который является тем, что загружается во время процесса начальной загрузки. Но данные RAM технически, как предполагается, являются только сырыми данными 1 с и 0s, таким образом, нет никакой потребности структурировать их в так или иначе.

28
ответ дан 23 November 2019 в 01:07

Область подкачки используется ядром для временного хранения страниц системной памяти (RAM), поскольку это становится полным. Ядро использует свои собственные внутренние таблицы, чтобы "помнить" точно, куда в диске подкачки оно поместило страницу. В результате диски подкачки не содержат надлежащую файловую систему и являются обычно просто пустыми разделами на диске.

то, Чем можно интересоваться, является Электронным диском, который является маленькой файловой системой, сохраненной в памяти системы. Если больше памяти будет необходимо, то ядро продвинет ее (и другое содержание) к области подкачки. См. здесь для получения инструкций относительно установки той.

14
ответ дан 23 November 2019 в 01:07

Область подкачки разделена на блоки тот же размер как страницы памяти (обычно 4 КБ), и запись отображения этих страниц к памяти приложения формирует расширение подсистемы виртуальной памяти в ЦП и ОС.

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

, Когда память подкачивается к диску, связанная система поддерживает что отображение пространства памяти приложения к блоку на диске.

сама таблица отображения не хранится на диске, и данные, остающиеся на диске, бесполезны после перезагрузки.

13
ответ дан 23 November 2019 в 01:07

Другие вопросы по тегам:

Похожие вопросы: