ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
729543 Топик полностью
Николай Коровин (19.01.2017 18:35, просмотров: 90) ответил Evgeny_CD на Теорема о вероятном появлении нового открытого проекта встраивамлй ОСьки. Совсем очищенной от тяжкого влияния прошлого.
У меня была сугубо утилитарная мысль, не претендующая на фундаментальный размах, о том, что мы можем по-другому работать с памятью, если уж начинаем мир с нуля. Сделать две оптимизации указателей — подвижные и неподвижные. Неподвижные программа после аллокации памяти использует как в голову взбредёт, их места постоянны, как обычно. Подвижные — после любой реаллокации могут измениться из-за принудительной дефрагментации кучи, и прога должна быть готова соответственно сместить всё внутри себя. Причём ось при аллокации запоминает, где в проге лежит указатель, и при перемещении области на +233322 байта изменяет значение этого указателя тоже на +233322. То есть если мы используем подвижный указатель тупо как массив, можно вообще не париться. Инкрементировать, декрементировать, в конце вообще экскрементировать высвободить — если вся куча перетасуется и он куда-то прыгнет, его поправят нам за нас. Если же мы с него наснимали копий на все случаи жизни, надо или аллокатить его как неподвижный, или уж предоставить оси функцию, которую та дёрнет и все указатели с её помощью ре-актуализируются. В принципе, такую простую функцию должен сам компилёр генерить.