Nested paging virtualbox что это
Программное обеспечение в виртуальной машине выполняется непосредственно на процессоре главного компьютера, в то же время VirtualBox использует набор сложных методик, чтобы не допустить операций, которые вмешались бы в работу хоста.
Всякий раз, когда гость пытается сделать то, что может быть опасным для вашего компьютера и его данных, VirtualBox принимает меры. Для большого количества аппаратных средств, которые использует гость, VirtualBox моделирует определенную «виртуальную» среду, согласно конфигурации виртуальной машины. Например, если гость пытается обратиться к жесткому диску, VirtualBox переадресовывает эти запросы к объекту который вы сконфигурировали как виртуальный жесткий диск — обычно это файл образа диска на вашем хосте.
Существует два способа, которыми VirtualBox реализует «виртуализацию»: полностью программный способ или аппаратный используя специальные аппаратные возможности современных процессоров.
Новые процессоры Intel and AMD имеют поддержку так называемой «аппаратной виртуализации» . Она помогает программному обеспечению виртуализации, такому как VirtualBox, в прерывании потенциально опасных операций , которых операционная система гостя может пытаться выполнить.
Реализация этих функций различны в Intel и AMD. Intel назвала свою технологии VT-x , а AMD как AMD-V .
Примечание
На большинстве систем, сначало необходимо включить поддержку аппаратной виртуализацию в BIOS чтобы VirtualBox смог ее использовать
В отличии от других систем виртуализации, VirtualBox не требует, чтобы система хосте поддерживала аппаратную виртуализацию . VirtualBox поддерживает много гостевых операционных систем полностью в программном режиме виртуализации. Это означает, что Вы можете запускать виртуальные машины даже на менее современных процессорах, которые не поддерживают аппаратные средства виртуализации.
Вы можете указать для каждой виртуальной машины индивидуально, должен ли VirtualBox использовать программный или аппаратный способ виртуализации. До версии 2.2 программная виртуализация была значением по умолчанию; начинаясь с версии 2.2, VirtualBox устанавливает аппаратную виртуализацию по умолчанию для новых виртуальных машин, которых вы создаете. (Для уже существующих виртуальных машин смена режима автоматически не происходит, по причинам совместимости, и установленное значение по умолчанию может быть изменено для каждой виртуальной машины.)
Включение апаратной вертуализации необходимо только в двух случаях:
для некоторых редких гостевых ОС, например OS/2 , которые используют специфические команды процессора и которые не реализованы в VirtualBox
если вы хотите работать с 64 битовыми гостевыми ОС (начиная с VirtualBox версии 2.0), большинство 64 битных CPU поддерживают аппаратную виртуализацию — исключая старшие линейки процессоров Intel Celeron и AMD Opteron .
Установка аппаратной виртуализации по умолчанию, вызвана тем что, технологии виртуализации Intel, ADM и VirtualBox значительно улучшились, и аппаратная виртуализация в большинстве случаях производительнее программной.
Предупреждение
Не работайте одновременно с другими гипервизорами (программами исполнения виртуальных машин) (open-source or commercial virtualization products) с VirtualBox! Несколько гипервизоров могут обычно устанавливаться параллельно на одной системе, но не пытайтесь выполнить несколько виртуальных машин на различных гипервизоров в одно и то же время. VirtualBox не может проследить за тем, что другой гипервизор пытается сделать на том же самой системе, и особенно если они одновременно пытаются использовать возможности аппаратной виртуализации, такие как VT-X, что может превести к краху всей системы.
Кроме «базовой» аппаратной виртуализации, ваш процессор может поддерживать дополнительные технологии: [1]
Наиболее новая технология «nested paging» позволяет управлять памятью хоста, что позволяет усилить производительность , т.к. не требуется программное управление памятью.
На AMD процессорах, nested paging стала доступна начиная с архитектуры Barcelona (K10) ; Intel добавила поддержку nested paging, которую она назвала «extended page tables» (EPT), в свих процессорах Core i7 (Nehalem).
Технология Nested paging не устанавливается по умолчанию, но она может быть установлена отдельно для каждой ВМ.
Если ваш компьютер поддерживает nested paging (AMD-V) or EPT (VT-x), то вы можете получить значительный прирост производительности используя эту технологию.
Другая аппаратная возможность называется «Virtual Processor Identifiers» (VPIDs) позволяет значительно ускорить переключение контекста Translation Lookaside Buffers (TLBs) процессора, уменьшая количество операции записей на диск . Чтобы использовать эту возможность вы должны использовать командную строку; см Section 8.5, “VBoxManage modifyvm”.
[1] Поддержка AMD nested paging добавлена в VirtualBox 2.0 ; поддержка Intel EPT и VPIDs добавлена в версии 2.1.
Как правильно настроить VirtualBox для максимальной производительности
Почему? Читайте тут. Из резервной копии систему проще поднять, чем ставить по новой, правда же. Оптимизироваться нам помогло вот это видео.
Далее ПМ предлагает почти точную копию слов автора.
Всем привет, вы смотрите канал LinuxComp.
Сейчас я бы хотел рассказать вам о том как правильно настраивать VirtualBox для получения максимальной производительности. Мне нужно было использовать виртуалку с виндой для работы с софтом от Adobe. А как вы знаете, таким программам много железа не бывает.
Заставка.
В качестве гостевой ОС я буду использовать windows 7 64 bit. Именно эта ось мне подходит больше всего. Весь адобовский софт давно делают только 64 битным.
Там где необходимо, я буду отмечать особенности настроек для виртуализации других операционок. Свою виртуалку я уже создал и настроил, её я трогать не буду.
Итак, запускаем VirtualBox, нажимаем кнопку создать. Вводим имя машины. Оно ни на что не влияет, а просто используется для вашего удобства. Я назову свою машинку w7-demo.
В поле тип нужно выбрать тип гостевой системы. Хоть это и не обязательно, я всё же советую здесь указать реальный тип, поскольку тогда интерфейс паравиртуализации будет выбран автоматически. Об этом я расскажу позже в этом видео. Также укажите версию и разрядность винды. Вам же самим будет удобнее распознавать машину по иконке.
Двигаемся дальше. Здесь нужно указать объём оперативы для виртуалки. Тут зависит от ваших задач. Мне нужно дать ей как можно больше оперативы, поэтому я сдвигаю ползунок направо. Но, как вы видите, под шкалой есть цветовая маркировка.
Двигаемся дальше. Нужно выбрать виртуальный жесткий диск. Если у вас его ещё нет, выбираем «создать новый». Дальше нужно выбрать его тип. Здесь обязательно указывайте именно VDI. Это родной формат для виртуалбокса. VHD и VMDK – это форматы для виртуалокvmware и virtual pc. Их использование приведёт к падению производительности, особенно отvirtual pc.
Следующий важный момент — выбор между динамическим и фиксированным диском. В принципе, опять же, зависит от ваших задач. Если вам калькулятор на виртуалке запускать, то для удобства можете выбрать и динамический.
Имя можете оставить такое же как у виртуалки, оно ни на что не влияет. Размер указывайте исходя из рассчёта, что сама винда займёт 20 гигов + ваши программы и + ваши документы, если будете хранить их на том же диске. Для своей виртуалки я выделил 35 гигибайт. Но сейчас для демонстрации я не буду создавать большой жёсткий диск.
Всё, виртуальная машина создана. Теперь нам надо перейти к её настройкам. Нажимаем настроить.
В принципе на вкладке общее вы разберётесь, здесь ничего сложного нет. Если надо, включайте общий буфер обмена.
Переходим к самому главному. Вкладка система.
Порядок загрузки, как вы понимаете, на производительность не влияет, выставляйте здесь нужный порядок. И можете отключить Гибкий диск.
Где брать информацию по настройке? Проще всего в поисковиках. Ещё есть встроенное руководство, которое можно открыть из меню Справка. Оно на английском языке и не всегда исчерпывающе описывает настройки, но всё равно очень полезно. Также оно есть в виде сайта в интернете. Но что ещё интересно, я нашёл сайт, где эта справка очень точно переведена на русский. Находится она правда на каком-то левом сайте, но тем не менее, вам может быть полезно. Ссылку я оставлю в описании.
Дальше у нас идёт манипулятор курсора. Тут есть три варианта: PS/2 мышь, usb планшет и usb мультитач планшет.
- Вариант PS/2 мышь не требует эмуляции usb контроллеров, но он больше подходит для древних осей. Я бы не советовал его выбирать, так как при этом режиме, даже если установлены дополнения гостевой ОС, виртуалка больше нагружается.
- Большинство людей захотят выбрать здесь usb планшет. Ну, а если у вас есть какие-то специальные устройства, можете выбрать usb мультитач-планшет.
Я выбираю именно его, потому что у моего ноутбука есть тачскрин. Что у нас дальше?
Включить I/O APIC.
Что это такое? APIC — это контроллер прерываний, который используется на современных материнских платах. Эту галочку нужно ставить, если вы хотите дать виртуалке несколько ядер процессора, а также её требуется включать для 64 битных гостей. Соответственно я её ставлю.
Следующая галочка отвечает за режим загрузки. Помните, я рассказывал, как я устанавливал семёрку на реалку в режиме загрузки UEFI? Для неё обязательно требовалось включать CSM модуль. И связано это с тем, что семёрка не умеет работать с новым способом видеовывода в UEFI — GOP (Graphics Output Module). То есть в том случае был не совсем чистый UEFI режим. Но то было на реалке.
Здесь я опять наступил на те же грабли. На VirtualBox эта галочка включает чистый UEFI режим. Семёрку так даже установить не получится. Я нашёл инфу на официальном форуме, Оракл о данной проблеме знают, но у проблемы низкий приоритет. Вот с 2014 года ничего и не сдвинулось с места. Ну и пофигу, пусть будет загружаться в режиме BIOS. На производительность машины это не влияет.
Дальше идёт параметр «Часы в системе UTC».
По хорошему, здесь должна стоять галочка, т.к. нормальные системы ожидают в этом счётчике именно мировое время. Но микрософты у нас особенные. Нафига им тайм зоны? Лучше фигачить локалтайм в system clock. Кто ставил себе винду в дуалбуте, тот знает о чём я говорю. Там нужно либо линукс подстраивать под закидоны винды, либо, что более правильно и надёжно — отредактировать реестр винды, чтобы она воспринимала систем клок как мировое время.
Но опять же, это было на реалке. Здесь нам по сути это не важно. Можно снять галочку, тогда системные часы хоста (настроенные на мировое время) будут восприниматься виндой как локальное время. И вам не придётся лезть в её реестр, и время будет отображаться правильно. А на производительность это не повлияет.
Переходим на вкладку Процессор.
В зависимости от задач, которые вы собираетесь выполнять на виртуалке, выделяйте нужное количество процессоров. Мне для обработки видео надо как можно больше, но как и в случае с оперативной памятью, перегибать здесь нельзя. У меня четырёхъядерный процессор, 2 ядра я даю виртуалке.
Дальше идёт опция «Предел загрузки ЦПУ». Здесь можно ограничить процессорное время, которое гостевая система сможет использовать ядро процессора.
Следующая опция у нас — это PAE/NX. Она отвечает за то, будет ли виртуальной машине предоставлен доступ к функции расширения физических адресов (Physical Address Extension).
NX — это специальный бит в таблице доступа к памяти, который не позволяет выполнять данные из памяти как код, что позволяет защищаться от атак типа переполнения буфера.
Если у вас не какая-нибудь специальная защищённая ОС, и она может загружаться без PAE/NX, значить вам эта функция не нужна. Я её выключаю.
Так, с этим разобрались. Переходим на вкладку Ускорение.
Интерфейс паравиртуализации. Что это такое и какой выбирать? Давайте пройдёмся по списку и я вам расскажу какой для чего.
- Вариант «Отсутствует» нужно выбирать в случае, если вы хотите скрыть от гостевой ОС, что она работает в виртуальной машине.
- Вариант «Совместимый» специально выбирать не надо, он сделан для поддержки виртуальных машин, которые были созданы в VirtualBox ранее пятой версии.
- Вариант «Минимальный» нужно выбирать для гоствых систем Mac OS.
- Вариант «Hyper-V» — для гостевых Windows систем.
- Вариант «KVM» — для гостевых систем Linux.
А изначально здесь установлен интерфейс «По умолчанию». Это значит, что нужный интерфейс будет выбран в зависимости от типа гостевой системы автоматически. Именно поэтому я говорил, чтобы вы правильно указывали тип системы при создании виртуалки. Я тип указал правильно, поэтому здесь я оставляю вариант «По умолчанию».
Осталось два параметра: VT-x/AMD-V и Nested Paging.
Здесь вам нужно смотреть, поддерживает ли ваш процессор функции аппаратной виртуализации. Как вариант, можете узнать это на сайте intel или AMD. Но мне проще узнать это сразу из командной строки. Набираем команду lscpu и ищем нужные флаги. Для процессоров intel ищите флаг vmx, а для amd — флаг svm.
Если вы нашли их, можете радоваться, ваш процессор поддерживает VT-x или AMD-V. В этом случае разумеется включайте галочку в настройках виртуалки.
Чтобы узнать, поддерживает ли ваш процессор Nested Paging (тик Rapid Virtualization Indexing — RVI), посмотрите есть ли у проца нужный флаг.
У меня этот флаг есть, соответственно я галочку в настройках включаю.
Переходим к настройкам дисплея.
Параметр Видеопамять определяет сколько памяти будет у виртуального графического адаптера в гостевой ОС. Здесь я выставляю максимальное значение.
Ну и наконец 3d и 2d ускорение для гостей. К сожалению, даже если вы включите эти опции, под виртуалбоксом добиться такой же производительности как на реальном железе нельзя. Но включение этих опций позволит хоть как-то ускорить видео рендер. Если вы их включаете, то когда гостевое приложение будет делать вызовы OpenGL или DirectX, virtualbox вместо медленного программного рендеринга будет пытаться использовать рендеринг аппаратными средствами хоста.
Разумеется, вы должны установить дополнения гостевой ОС. Но при их установке не ставьте экспериментальный драйвер Direct3D. У вас будет три варианта.
- Первый — не ставить вообще, что я и советую.
- Второй — поставить упрощенный драйвер Direct3D, но это бесполезено, он не влияет на ускорение.
- Третий вариант — поставить полный драйвер Direct3D.
Если его поставить и включить 3D ускорение, то After Effects будет вываливаться с ошибкой hardware blitpipe engaged при запуске. Так что можете на это время не тратить, я его уже потратил за вас.
Давайте перейдём к категории Носители.
Здесь я хочу обратить ваше внимание на тип контроллера для вашего виртуального диска. Скорее всего он у вас сразу будет sata, но лучше проверьте это.
В virtualbox он поддерживается также на SCSI и SAS контроллерах. На обычном ноутбуке выбирать эти контроллеры нет смысла.
Теперь что касается пункта Кеширование ввода/вывода. Надо его включать или нет?
Это зависит от того, как вы работаете с данными. Если у вас на виртуалке будут запущены какие-то критические сервисы и вам ни в коем случае нельзя потерять данные, то не включайте. Однако, тогда у вас будет серьёзное замедление при работе с данными. Мне же важнее скорость, поэтому я включаю кеширование. Минусом является то, что данные будут занимать место в памяти дважды: в кеше хоста и гостя.
Но это мне не важно. Ещё может быть проблема с подвисаниями хоста если гость будет слишком много кешировать. Тут сами уже рассчитывайте возможности хоста и решайте. Я почитал один блог в интернете, где чувак пишет, что у него не было никаких проблем: при включенном кешировании скорость операций возрасла в разы, а никаких потерь данных не было даже когда он хард-резетил свой ноутбук.
Если у вас твердотельник, поставьте галочку Твердотельный накопитель, тогда гость не будет пытаться дефрагментировать данные. Галочку с горячей заменой я не ставлю, так как это у нас будет системный накопитель, т.е. диск C.
Ну вот и всё. Мы рассмотрели все настройки, которые влияют на производительность виртуальной машины и я объяснил для чего каждая из них нужна, чтобы вы могли настроить свою виртуальную машину. Теперь осталось только установить винду с программами.
На этом всё. Надеюсь я помог вам в настройке VirtualBox. Если видео было вам полезно, оцените лайком, мне будет приятно.
ПМ заметки
Исходник 2017 года. Считай дедушка, поэтому ПМ собрал мнения друзей, которые в этом разбираются. Актуальность подтверждена. Пользуйтесь смело. Автору респектушки наши.
Еще пара слов о наших Вин7. С поддержки их сняли. Но для виртуалок чисто полазить по страничкам, почитать, пописать статейки и даже пофотошопить они годятся. Еще как. Не сомневайтесь.
Иногда ПМ на них даже презентации собирает с аудиодорожками. Так мы помогли нашему другу RTS. Пример 1 и 2
Здесь важны нюансы.
- Если работа требует установки атипичного софта, отключайте винкрасивости. Прикажите обеспечить наибольшее быстродействие. Вам хватит 2048 оперативки.
- Фоторедактирование потребует 4096 ОЗУ, а работа с презентациями — 6144 оперативы + доп ядро процессора.
Кому минус, кому плюс. Нам нравится, что с дровами возиться не надо. Софта напихал. Создал резервную копию. Вкладка Файл — Экспорт конфигурации.

Далее имя копии и место хранения. Ожидание завершения операции. И всё.
Замучил исходник активностью, удаляй нафиг и восстанавливай из резервной копии через — Импорт конфигурации.

Скрины сделаны в режиме реального времени. У ПМ много машин, как видите, у каждой своя задача.
Осталось сказать о времени 1 и 2 операции. Зависит оно от мощности железок и от размера VDI. Силы задействованы текстовографические. Космос с ними закрыт. Ходовой размер 18 гигов.
- резервирование 35 минут.
- восстановление 6 минут, если host систему оставить в покое.
Второй пункт для ПМ решающий. Когда мы работаем над улучшением поведенческих факторов с нашими партнёрами, наши вин7, набирают мусор за 5 часов. Угробили, удалили, подняли быстро.
Ещё хотим добавить полезной инфочки об установке убунт. Самое сложное там — разметка диска.
Когда установщик предложит выбрать вариант установки, выбирайте другой. Затем создать новую таблицу разделов. И вперёд делить дисковое пространство.
VDI всего 18 гигов из них:
- 5 на раздел с меткой тома /home. Это аналог диска D в виндушке.
- 2048 отдаём разделу с меткой тома /tmp. Жалко ставьте 1024 гига.
- Остальное пойдет на раздел, в который встанет убунта с системными файлами. Аналог нашего старенького диска «С» с меткой тома — /.
Как говорит наш автор на реалке, мы ещё заводим раздел подкачки swap. Размер его должен равняться объёму оперативки. На ВМках не заморачиваемся.
Собственно все. Остаётся клатцать далее и ждать пока встанет помощница. Никаких заморочек с приложения и драйверами.
О размере оперативки читайте в системных требованиях к дистрибутиву. Для грязной работы, связанной с активностью на сомнительных сайтах, у нас стоит mint xfce x86 2048 ОЗУ.
Если нужны безопасные платежи Ябраузера, выбирайте x64 4096 оперативы. И уберите из автозагрузки всё лишнее, чтобы слабенький проц не кряхтел. Не у всех же intel core i4 5 и выше.
Обязательно сделайте резервную копию ВМ.
Приятная мелочь, хотя убунты это не Winки, изгадить и отвинтить им бошку трудно. Ставятся они на старте почти как виндушки. Не бойтесь.
Когда мне нужно использовать PAE/NX?
Я хотел бы знать, когда мне нужно использовать Pae/NX, а когда нет.
Нужно ли мне всегда или я не могу использовать его на своей виртуальной машине?
2 ответа 2
Вам понадобится PAE, если вы виртуализируете 32-битную ОС и вам требуется более 4 ГБ памяти.
Комментарий @gronostaj и ответ @ajostergaard говорят только о части расширения физического адреса (PAE) в PAE/NX. Они оба превосходны, и у меня есть только пояснение — почему? Я также буду обсуждать часть «NX».
Мой ответ 1
Возможно, более полным ответом, расширяющим ответ @ajostergaard, будет:
Вам понадобится PAE/NX, если вы настраиваете виртуальную 32-битную ОС и:
1) вам нужно более 4 ГБ памяти (RAM)
ИЛИ ЖЕ
2) вам нужно сделать так, чтобы части памяти не могли использоваться для исполняемого кода, например, если у вас есть проблемы с безопасностью, которые включают в себя такие атаки, как описанные на странице NX-битной Википедии,
[C] обнаруживает вредоносные программы разных типов [может захватывать] компьютеры, вставляя их код в область хранения данных другой программы и выполняя собственный код из этого раздела .
Также, насколько я знаю, вам не понадобится эта опция PAE/NX при настройке любой 64-битной ОС в качестве виртуальной машины. (Обратите внимание, я использовал только процессоры Intel и AMD — PAE/NX может потребоваться с другими процессорами. УБЕДИТЕСЬ, ЧТО ВЫ ПРОВЕРИТЕ!)
Далее я опишу, что означает NX часть PAE/NX и как она связана с проблемами безопасности.
(В основном я искал полный ответ. Google привел меня сюда, но я застрял на части «NX». Я надеюсь, что мои выводы помогут другим.)
Комментарии к PAE
Может быть трудно перейти от первого абзаца на вики-странице PAE к ответу @ ajostergaard. Первый абзац:
В вычислениях расширение физического адреса (PAE), иногда называемое расширением адреса страницы, является функцией управления памятью для архитектуры x86. PAE был впервые представлен Intel в Pentium Pro, а затем AMD — процессором Athlon. Он определяет иерархию таблицы страниц из трех уровней (вместо двух), с записями таблицы по 64 бита каждый вместо 32, что позволяет этим ЦП напрямую обращаться к физическому адресному пространству размером более 4 гигабайт (2 32 байта).
Какие?! Как это помогает нам узнать, стоит ли устанавливать флажок рядом с «Включить PAE/NX»? К счастью, @ajostergaard сказал нам.
Вам понадобится PAE, если вы виртуализируете 32-битную ОС и вам требуется более 4 ГБ памяти.
Итак, если ваша виртуальная ОС имеет 32-битный тип (как в случае, когда вам нужна виртуальная ОС Windows-NT), но у вас есть 16 ГБ ОЗУ (все, что вы хотите использовать), вам нужна опция PAE ,
Зачем? Позвольте мне остановиться на этом. Вам нужно знать, что адрес памяти является меткой для части памяти — обычно для одного байта памяти. 32-битная (4-байтовая) ОС — это та, которая имеет метки, которые могут
ноль ( 0 ) — представлен в двоичном виде 32 нулями, представлен в шестнадцатеричном виде 0x 00 00 00 00 —
4 294 967 295 — двоичные: 32 единицы, шестнадцатеричные: 0x FF FF FF FF .
Другими словами, у нас чуть меньше 4,3 миллиарда адресов памяти, каждый из которых указывает на один байт информации — на один байт памяти. Дело в следующем: максимальный объем памяти, который может быть адресован 32-битным компьютером (который использует все 32 бита для адресации), составляет 4 ГиБ. 2 Если у вас есть больше места в памяти, это хорошо, но компьютер никогда не сможет найти метку для данных. Другими словами, 32-разрядный компьютер не может использовать более 4 ГБ данных.
Если не вдаваться в подробности ужасных деталей (слишком поздно?), То, что делает PAE, — это вводит некоторые трюки, чтобы можно было обращаться к большим воспоминаниям (у нас могут быть метки для большего количества байтов данных) и, следовательно, эти большие воспоминания могут использоваться.
Давайте теперь рассмотрим объем данных, который может быть обработан 64-битной машиной, которая использовала все байты для маркировки / адресации памяти. Этикетки могут идти от
ноль ( 0 ) — 64 нуля в двоичном, шестнадцатеричный: 0x0000000000000000 —
18 446 744 073 709 551 615 = 18,4 квинтиллиона = 18,4 миллиарда миллиардов — 64 в двоичном, шестнадцатеричный 0xFFFFFFFFFFFFFFFF . У нас есть адреса для 18,4 миллиардов миллиардов байтов данных. Это 18,4 эксабайт = 18 447 петабайт = почти 18,5 миллионов терабайт. Согласно Wolfram | Alpha, это эквивалентно 1/54 информационного содержания всех глобальных данных. Сравните это с 9/10 однослойного DVD, в котором записи Wolfram | Alpha могут храниться с 4GiB. 3
Часть NX
На практике, 64-битные машины не используют все 64 бит для адресации памяти — они не должны делать это, а то , что я надеюсь , что было показано на 1/54 -of-на-planet’s-данных обсуждения. Как написано в вики-статье PAE во втором пункте,
Структура таблицы страниц, используемая процессорами x86-64 [64-разрядными машинами] . использует самый верхний бит записи таблицы 64-разрядных таблиц как бит без выполнения или «NX», указывая, что код не может быть выполнен из связанная страница.
Больше информации в NX-битной статье Википедии. Основная идея NX-бита заключается в том, что он указывает на то, что байт памяти, адресуемый 64-битной меткой (_plus_NX-bit_plus_other-stuff), можно пометить так, чтобы он не мог использоваться работающей программой. Среди прочего, это предотвращает тип атаки, описанный в начале этого ответа.
Теперь давайте вернемся к тому факту, что флажок для PAE/NX. Те же приемы, которые используются для увеличения количества доступных областей памяти, также можно использовать для добавления в NX-бит. Снова из второго абзаца статьи PAE Wikipedia,
Функция NX также доступна в защищенном режиме, когда эти процессоры работают под управлением 32-разрядной операционной системы, при условии, что в операционной системе включен PAE.
1) Этот ответ показывает мой процесс обнаружения. Я буду более чем счастлив, если кому-то понадобится уточнить или исправить все, что я написал.
2) На практике все 32 бита обычно не используются для адресации памяти, поэтому размер памяти, адресуемой 32-битной машиной, может быть меньше 4 ГиБ
3) Еще одно интересное сравнение объемов данных из этого источника.
По словам Videomaker, «Один час видеосъемки DV стандартной четкости требует приблизительно 12,7 ГБ памяти; приблизительно 217 МБ в минуту. Для сравнения: один час контента RAW 4K требует около 110 ГБ памяти; примерно 2 ГБ в минуту. «
Таким образом, 32-разрядный компьютер может использовать достаточно памяти для 15 минут стандартного разрешения DV (видео) или для 2 минут необработанного видео 4K. (Обратите внимание, что при наличии видеокодеков я могу получить почти 12 минут видео 4K в сжатом формате MP4, прежде чем мой старый телефон Android достигнет предельного размера файла 4 ГБ.)
С другой стороны, 64-разрядная машина может использовать достаточно памяти для 165 643 лет SD DV (видео) или 19 131 года сырого 4K видео.
Я запишу некоторые другие ссылки, которые я нашел полезными при написании этого ответа.
64-bit / x86_64 или x_64 VS 32-bit / x86, подумайте о папке Program Files (x86) в Windows или _x86 , x86_64 , x64 которые вы иногда видите в именах файлов установки.