Comments 3
Классная статья, спасибо!
Подскажите, пожалуйста, почему malloc возвращает "Ок" если в цикле гигабайты запрашивать, но не использовать? В какой-то итерации "выделено" будет даже больше, чем есть свободной RAM. ОС считает, что запрашиваемый кусок меньше, чем доступно в целом RAM и этого достаточно для положительного ответа программе?
Что произойдёт с т.зр. malloc, ОС, TLB при записи в такую область?
Из-за того, что разделяемая память может монтироваться в любой адрес, - в boost используется механика относительных указателей, чтобы размещать контейнеры там. То есть можно взять стандартный контейнер, подменить механику указателей и вуаяля, - его можно размещать в разделяемой области.
Sign up to leave a comment.
STL, allocator, его разделяемая память и её особенности