Intereting Posts
Как изменить загрузочное ядро ​​usb live w / persistent running Kali Можно ли использовать параллельный порт в качестве устройства ввода CUPS? Как разбить мой жесткий диск на двойную ОС? Есть ли способ сделать прокрутку экрана, как обычный терминал? Временная шкала прерывания для одного процесса, выполняющего вывод Datanode в slave не работает: Hadoop в CentOS Ошибки набора номера Wvdial.conf. Модель малины Pi B Модем Huawei E1820 3G Как скопировать файлы из одного каталога в другой, чтобы копировать только новые файлы? sudo: ./server: команда не найдена Символическая ссылка и вопросы с жесткой ссылкой Измените порядок строк в файле Как получить список затронутых файлов между двумя точками времени? делает checkinstall удалять ранее установленное программное обеспечение? Проблема извлечения данных на основе слов верхнего регистра Несоответствие времени загрузки с помощью systemd на Debian 7.4

Linux-swap при перезагрузке

Мне интересно, что на самом деле происходит с перезагрузкой раздела под Linux. Я занимаюсь курсом в компьютерной организации, и при установке / разделении нового диска мне стало очень интересно.

  1. Насколько я понимаю, разделы Linux-swap представляют собой более или менее нераспределенное пространство в схеме разделения на жестком диске, которая действует как стек памяти в аналогичном fasion для ram, но имеет большее время ожидания данных в базах данных (поскольку это HDD / SSD частично управляется самим диском, а не истинным, управляемым напрямую ЦП). Правильно ли эта модель?

  2. Является ли информация постоянной, пока инструмент подкачки Linux не очистит ее, в отличие от ОЗУ, которое стирается по истечении срока действия?

  3. Можете ли вы обратиться к нему напрямую? Или в C / C ++ с помощью ядра (чтобы не повредить вещи)?

  1. Ваш курс, вероятно, охватывает различия между кешем L1 / L2 и регистрами; с иерархией регистров, L1, L2, L3, RAM. Аналогичным образом, как вы заметили, вы можете считать своп нераспределенным пространством, в которое поменяется оперативная память.
  2. Обмен может быть постоянным, в зависимости от конфигурации системы. Некоторые дистрибутивы Linux намеренно стирают / обнуляют при загрузке или завершении работы по соображениям безопасности или производительности. Если вы запустите swap на SSD, может оказаться полезным выдать TRIM / DISCARD на блоке пространства подкачки, когда содержимое будет скопировано обратно в ОЗУ. Нет специального инструмента для очистки swap, кроме того, что ядро ​​повторно использует пространство (если оно нераспределено и только записывается на него, все равно, что было раньше). Еще одной распространенной парадигмой является шифрование свопа с новым ключом при каждой загрузке, а затем просто отбрасывание ключа при завершении работы.
  3. Вы не можете получить доступ к содержимому swap непосредственно из ядра. Вы можете обойти обычный процесс памяти и попытаться прочитать его как диск, но обычно вы не знаете, где и когда какая-либо часть вашего процесса находится в свопе.

Место подкачки является частью диска, который используется для хранения дополнительного содержимого из памяти. Поскольку он хранится на диске, он не стирается, когда питание отключается (в отличие от содержимого ОЗУ). Однако, когда система загружается, она не считывает ничего, что хранилось в swap, – данные там напрямую не используются, поскольку они принадлежат к программам, которые больше не работают.

Ядро использует пространство подкачки для хранения некоторых данных, которые обычно хранятся в ОЗУ. Данные не могут использоваться напрямую, когда они находятся на диске, поэтому его необходимо загрузить обратно в ОЗУ при его использовании. Точка свопа – позволить системе использовать больше памяти, чем доступно только в ОЗУ. Ядро начинает записывать части содержимого ОЗУ для обмена, когда использование ОЗУ становится высоким.

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

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

Swap полностью прозрачен для процессов. Процесс не знает, было ли заменено определенное место в памяти. В то время, когда процесс обращается к ячейке памяти, это местоположение всегда находится в ОЗУ. Вы можете напрямую прочитать раздел подкачки, но вы не можете сделать ничего полезного.