Вопросы по теме 'virtual-memory'

PE-файл размером более 2 ГБ
Я читаю Windows через c/c++ . И мне просто интересно, большой файл можно сопоставить с памятью. Когда мы запускаем приложение, PE-файл сопоставляется с адресом процесса (пользовательский раздел). В 32-битной Windows большой файл (больше 2 ГБ)...
473 просмотров
schedule 18.02.2024

Состояние виртуальной памяти потока
Как мы все знаем, в случае нескольких потоков каждый поток поддерживает свой отдельный стек и состояние регистра. они также поддерживают отдельное состояние виртуальной памяти или его можно использовать совместно? Я не думаю, что должны быть...
1946 просмотров

Как 32-битный процесс может использовать почти 4 ГБ памяти?
Я думал, что 32-битный процесс может использовать не более 2 ГБ ОЗУ, поскольку половина адресного пространства зарезервирована для ОС (возможно, 3 ГБ с переключателем / 3 ГБ). Однако StarCraft II удается использовать почти 4 ГБ, и это 32-разрядный...
1599 просмотров
schedule 03.10.2022

Ссылочный и измененный бит в TLB и PTE
Вы можете знать их как Accessed и Dirty bits. Теперь x86 PTE содержит эти биты. Допустим, TLB также содержит эти биты. В случае попадания в TLB эти биты будут установлены аппаратно, если фрейм страницы, на который они ссылаются, будет доступен...
914 просмотров
schedule 07.11.2023

Выгружены ли страницы .text?
Выгружаются ли страницы .text в памяти процесса или выгружаются только страницы, содержащие данные (кучу)? Здесь под «выкачиванием» я имею в виду «перемещение в область подкачки», а не «простое вытеснение из основной памяти». Я сомневаюсь, что...
217 просмотров

Виртуальная память в физическую память
Я работаю с зоной доверия (ARM) и, в отличие от доступа к памяти в Linux, доверенный апплет не имеет доступа к сопоставлению виртуальной и физической памяти. Он имеет дело строго с физической памятью. Как мне перевести с виртуальных на физические...
323 просмотров
schedule 09.02.2024

Как системы Unix отслеживают общую память при обработке fork()?
Процесс A создает общую область памяти и использует ее совместно с Процессом B . Затем Процесс A разветвляется и таким образом создается Процесс C . По определению C теперь имеет доступ к тем же областям общей памяти. Если A умирает, C...
77 просмотров

Программисты и сегментация в операционных системах
Я узнаю, что сегментация в операционных системах основана на разделении различных сегментов (для программы они могут представлять таблицу символов, исходный текст, стек...) на единицы, которые начинаются с логического адреса памяти 0. Это виртуальный...
334 просмотров

Защита виртуальной памяти — ядро ​​Linux
Прежде всего, моя цель - разрешить выполнение памяти, выделенной kmalloc. Учитывая следующий фрагмент кода (предположим, что указан размер функции foo): void foo() { printk("Nothing that matters.\n"); } void bar() { void* s =...
191 просмотров
schedule 20.11.2023

Почему в виртуальной памяти зарезервирован сегмент ОС
Почему часть виртуальной памяти зарезервирована для ОС? Почему он ограничен определенным размером? Кажется, это общеизвестный факт, потому что, когда я гуглил, я не нашел никого, кто задавал подобные вопросы. Что происходит, если осуществляется...
217 просмотров

Сколько виртуальной памяти занимает куча 30,5 ГБ (всего 256 ГБ памяти) для поддержки Elasticsearch?
Предположим, у меня есть машина с 256 ГБ памяти и 12 ТБ SSD. Размер проиндексированного документа составляет 100 ТБ. Я выделяю 30,5 ГБ кучи Elasticsearch. Остальное для Lucene и ОС. Мой вопрос: сколько виртуальной памяти поддерживает...
431 просмотров
schedule 28.03.2024

Как записать в память __user из верхней половины обработчика прерывания?
Я работаю над проприетарным драйвером устройства. Драйвер реализован в виде модуля ядра. Затем этот модуль соединяется с процессом пользовательского пространства. Важно, чтобы каждый раз, когда устройство генерирует прерывание, драйвер обновлял...
434 просмотров
schedule 25.02.2024

Алгоритм рабочего набора и виртуальная память
Алгоритм рабочего набора: есть 2 процесса, каждый из которых имеет свое окно рабочего набора. Согласно теории, в этом окне хранятся Δ самых последних страниц, запрошенных процессом. Моя проблема заключается в следующем: когда страницу нужно...
113 просмотров
schedule 10.04.2024

Как массивы хранятся в виртуальной памяти?
Если у вас есть массив int arr[100]; Как именно это хранится на современной машине, которая явно использует виртуальную память? Я понимаю, что мы должны использовать пейджинг с виртуальной памятью, и поскольку массив представляет собой...
673 просмотров
schedule 18.11.2022

Перевод виртуальной памяти в x86 с PAE
Почему для преобразования адреса виртуальной памяти в физический адрес с трехуровневым разбиением на страницы (2-9-9-12, страница 4 КБ) требуется умножение индекса каждой страницы на 8 перед вычислением следующего? Например, если у меня есть...
216 просмотров
schedule 28.02.2024

Как архитектура x86 одновременно виртуализирует один и тот же адрес?
Предположим, что у меня есть два приложения, работающих в системе x86, и оба приложения обращаются к виртуальной памяти по одному и тому же виртуальному адресу. Если виртуальное отображение в физическое состоит из битов, используется для...
36 просмотров