Обычно списки реализуются либо как связанные списки, которые медленно перемещаются, либо как списки массивов, которые медленны при вставке элементов.
Мне было интересно, можно ли использовать процессор MMU для более эффективного реализации списков путем переназначения вместо копирования памяти всякий раз, когда элемент вставлен или удален. Это означало бы, что как индексирование, так и вставка/удаление в любом месте массива должны иметь скорость O (1), лучше, чем любая другая реализация списка.
Мои вопросы:
- Существуют ли программы, которые действительно могут управлять своей собственной виртуальной памятью или должны быть сделаны изменения в ОС?
- Существует ли ограничение на количество записей в таблице страниц для каждого процесса? Доступ ли доступ к памяти медленнее с большим количеством записей?
- Изменяет записи таблицы страниц так медленно, что это будет более эффективно только для очень больших списков?
- Существуют ли существующие реализации этого списка? Если да, что мешает людям использовать их больше?