Показать сообщение отдельно
  #23  
Старый 14.11.2016, 23:35
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ок, что мешает, в принципе, выделить блок из PhisicalMem и в TList добавить указатель на него?
Или просто зарезервировать в начале какой-то кусок под таблицу, а для простоты сделать блоки фиксированного размера (как оно, соб-сно, и имплементировано в реальном мире - размер страницы 4К ни о чем не напоминает??? Или выравнивание на 16 байт??? Было бы желание, просто с 1К памяти особо не разбежишься)
Например, делаем блоки по 16 байт. Тогда макс мы можем выделить 1024/16 = 64 блока. Что бы адресовать 64 блока нам надо зарезервировать первые 64 байта для описателей (это если мы хотим все сделать по простому, т.е. не связваться с битовой арифметикой). Т.е. из 64 блоков 4 резервируем для служебных нужд. Тогда можно обойтись и без списка, но принципиально это ничего не поменяет.
Ответить с цитированием