Как использовать END {} в awk, когда ввод не заканчивается?

Does it keep the.text region in place, but create a copy of.data region?

В любом случае exec()работает так же, как mmap()с MAP_PRIVATE. Страницы отображаются в виртуальном адресном пространстве процессов только для чтения -. Поэтому записи вызывают прерывание по ошибке страницы. Способ обработки этих ошибок страницы описан как Копирование при записи .

В случае DAX виртуальные страницы начинаются как сопоставленные с физическими страницами на устройстве. Но ошибки записи страницы на MAP _PRIVATE скопируют данные страницы на новую страницу в ОЗУ. (Затем отображение процессов обновляется соответствующим образом, и прерванная программная инструкция перезапускается ).

Обратите внимание, что DAX является обобщением XIP, позволяющим выполнять как запись, так и чтение, т. е. MAP _SHARED, а также MAP _PRIVATE. MAP _SHARED можно использовать, например, для файлов базы данных.


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

Even if the kernel or its modules are stored on a filesystem that supports DAX on a block device that supports DAX, they will still be copied into RAM.

Модули ядра являются особыми.Они также требуют разрешения символов. Но ядро ​​не использует COW. (В более общем случае он не использует пейджинг по запросу -для своего кода и сегментов данных ). Ошибки страниц внутри ядра фатальны, потому что их обработка может привести к бесконечной рекурсии! Поэтому до -DAX было ясно, что модули ядра необходимо копировать в оперативную память целиком. Код ядра и сегменты данных небольшие; когда DAX был реализован, было бы бесполезно возиться с этим на серверах с адресным хранилищем байтов -.

Само ядро ​​исторически сжато, очевидно, оно распаковано в оперативную память.

Тем не менее, XIP поддерживается для несжатых ядер . Обычно это используется во «встроенной» системе, то есть на довольно ограниченном оборудовании. В этот момент, вероятно, не проблема сделать большую часть необходимого кода встроенной -, в отличие от использования загружаемых модулей.

-1
25.09.2019, 02:21
0 ответов

Теги

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