Как ядро обращается к страницам памяти на разделе подкачки\file?

Нет IP-адреса в случае сбоя других возможных средств поиска IP-адреса по имени хоста. Другие возможные средства могут быть перечислены в /etc/nsswitch.conf для некоторых разновидностей unix и включают простой старый DNS, службы многоадресного поиска DNS с нулевой конфигурацией (например, через avahi), кэшированные записи из некоторых предыдущих поисков. (положительный или отрицательный) и т. д.

3
20.08.2017, 16:43
1 ответ

Обмен действителен только во время данной загрузки,поэтому вся информация об отслеживании хранится в памяти. Перестановка страниц полностью обрабатывается ядром и прозрачна для процессов. По сути, память разбита на страницы, отслеживаемые в таблицах страниц; это структуры, определяемые каждой архитектурой ЦП. Когда страница выгружается, ядро ​​помечает ее как недействительную; таким образом, в следующий раз, когда что-либо попытается получить доступ к странице, произойдет сбой ЦП, что вызовет вызов обработчика в ядре; этот обработчик отвечает за восстановление содержимого страницы.

В Linux существует структура swap_info, которая описывает каждое устройство подкачки или файл. Внутри этой структуры swap_mapсопоставляет страницы памяти с блоками в устройстве подкачки или файле. Когда страницы выгружаются, ядро ​​сохраняет индекс swap_infoи смещение swap_mapв соответствующей записи таблицы страниц, что позволяет при необходимости найти страницу на диске. (Все поддерживаемые архитектуры предоставляют достаточно места для этого в своих таблицах страниц, но есть ограничения — например. Доступное пространство означает, что Linux может управлять не более чем 64 ГБ подкачки на x86.)

Более подробное описание всего этого вы найдете в главе «Управление подкачкой» книги Мела Гормана Understanding the Linux Virtual Memory Manager .

6
27.01.2020, 21:13

Теги

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