СИСТЕМА И СПОСОБ РАСПРЕДЕЛЕНИЯ ПАМЯТИ ВО ВСТРОЕННЫХ СИСТЕМАХ ИЛИ СИСТЕМАХ БЕСПРОВОДНОЙ СВЯЗИ

1. Система управления памятью, содержащая:
процессор; и
службу управления памятью, выполняемую на процессоре, причем служба управления памятью сконфигурирована с возможностью:
создания первых элементов памяти, причем каждый из первых элементов памяти содержит заголовок и полезную нагрузку, причем полезная нагрузка сконфигурирована с возможностью хранения множества независимо распределенных участков памяти, а заголовок первых элементов памяти ссылается на распределяемое пространство в полезной нагрузке;
создания вторых элементов памяти, причем каждый из вторых элементов памяти содержит заголовок, ссылающийся на один или более участков памяти в полезной нагрузке первых элементов памяти; и
возвращения ссылки из любого заголовка первого или второго элемента памяти, чувствительного к запросу распределения памяти.
2. Система управления памятью по п.1, в которой заголовок первых элементов памяти ведет счет ссылок на первые элементы памяти.
3. Система управления памятью по п.1, в которой служба управления памятью дополнительно сконфигурирована с возможностью создания отдельных первых элементов памяти для каждой из множества подсистем.
4. Система управления памятью по п.1, в которой запрос распределения памяти содержит запрашиваемый размер памяти.
5. Система управления памятью по п.4, в которой служба управления памятью дополнительно сконфигурирована с возможностью определения суммы размера распределенной памяти в полезной нагрузке конкретного первого элемента памяти и запрашиваемого размера памяти и сравнения суммы с пороговым значением.
6. Система управления памятью по п.5, в которой служба управления памятью дополнительно сконфигурирована с возможностью создания и возвращения ссылки из заголовка конкретного второго элемента памяти, когда сумма меньше порогового значения.
7. Система управления памятью по п.6, в которой служба управления памятью дополнительно сконфигурирована с возможностью возвращения ссылки из заголовка конкретного первого элемента памяти, когда сумма больше порогового значения.
8. Система управления памятью по п.4, в которой служба управления памятью дополнительно сконфигурирована с возможностью определения суммы размера распределенной памяти в полезной нагрузке конкретного первого элемента памяти и запрашиваемого размера памяти, сравнения суммы с размером полезной нагрузки конкретного первого элемента памяти и сравнения запрашиваемого размера памяти с пороговым значением.
9. Система управления памятью по п.8, в которой служба управления памятью дополнительно сконфигурирована с возможностью создания другого конкретного первого элемента памяти, создания конкретного второго элемента памяти, ссылающегося на полезную нагрузку другого конкретного первого элемента памяти и возвращения ссылки из заголовка конкретного второго элемента памяти, когда сумма больше размера полезной нагрузки конкретного первого элемента памяти, и запрашиваемый размер памяти меньше порогового значения.
10. Система управления памятью по п.8, в которой служба управления памятью дополнительно сконфигурирована с возможностью создания другого конкретного первого элемента памяти и возвращения ссылки из заголовка другого конкретного первого элемента памяти, когда сумма больше размера полезной нагрузки конкретного первого элемента памяти, и запрашиваемый размер памяти больше порогового значения.
11. Система управления памятью по п.8, в которой пороговое значение является размером распределенной памяти в конкретном первом элементе памяти.
12. Система управления памятью по п.4, в которой служба управления памятью дополнительно сконфигурирована с возможностью увеличения запрашиваемого размера памяти для выравнивания запрашиваемого размера памяти с границей строк кэша.
13. Способ управления памятью, содержащий этапы, на которых:
распределяют первые элементы памяти, причем каждый из первых элементов памяти содержит первый заголовок и полезную нагрузку, причем полезная нагрузка содержит участки независимо распределяемой памяти, а первый заголовок содержит ссылку на нераспределенную память в полезной нагрузке;
распределяют вторые элементы памяти, причем каждый из вторых элементов памяти содержит второй заголовок, причем второй заголовок содержит ссылку на распределенный участок памяти в полезной нагрузке первого элемента памяти;
принимают запросы для распределения памяти; и
отвечают на запросы для распределения памяти, возвращая ссылку из заголовка первого или второго элемента памяти.
14. Способ по п.13, в котором первый заголовок дополнительно содержит отсчет ссылок в первых элементах памяти.
15. Способ по п.13, в котором распределение первых элементов памяти дополнительно содержит распределение отдельных первых элементов памяти для каждой из множества подсистем.
16. Способ по п.13, в котором запрос распределения памяти содержит запрашиваемый размер памяти.
17. Способ по п.16, в котором дополнительно определяют суммы размера распределенной памяти в полезной нагрузке конкретного первого элемента памяти и запрашиваемого размера памяти и сравнивают суммы с пороговым значением.
18. Способ по п.17, в котором дополнительно распределяют и возвращают ссылки из заголовка конкретного второго элемента памяти, когда сумма меньше порогового значения.
19. Способ по п.18, в котором дополнительно возвращают ссылки из заголовка конкретного первого элемента памяти, когда сумма больше порогового значения.
20. Способ по п.16, дополнительно содержащий этапы, на которых:
определяют сумму размера распределенной памяти в полезной нагрузке конкретного первого элемента памяти и запрашиваемого размера памяти;
сравнивают сумму с размером полезной нагрузки конкретного первого элемента памяти; и
сравнивают запрашиваемый размер памяти с порогом.
21. Способ по п.20, дополнительно содержащий этапы, на которых:
создают другой частный первый элемент памяти;
создают частный второй элемент памяти, ссылающийся на полезную нагрузку другого частного первого элемента памяти; и
возвращают ссылку из заголовка частного второго элемента памяти, когда сумма больше размера полезной нагрузки частного первого элемента памяти и запрашиваемый размер памяти меньше порога.
22. Способ по п.20, дополнительно содержащий этапы, на которых:
создают другой частный первый элемент памяти; и
возвращают ссылку из заголовка другого частного первого элемента памяти, когда сумма размера полезной нагрузки частного первого элемента памяти и запрашиваемого размера памяти больше порога.
23. Способ по п.20, в котором порог равен размеру распределенной памяти в частном первом элементе памяти.
24. Способ по п.16, в котором дополнительно увеличивают запрашиваемый размер памяти для выравнивания запрашиваемого размера памяти с границей строк кэша.
25. Система управления памятью, содержащая:
средство распределения первых элементов памяти, причем каждый из первых элементов памяти содержит первый заголовок и полезную нагрузку, причем полезная нагрузка содержит участки независимо распределяемой памяти, а первый заголовок содержит ссылку на нераспределенную память в полезной нагрузке;
средство распределения вторых элементов памяти, причем каждый из вторых элементов памяти содержит второй заголовок, причем второй заголовок содержит ссылку на распределенный участок памяти в полезной нагрузке первого элемента памяти;
средство приема запросов распределения памяти; и
средство ответа на запросы для распределения памяти посредством возвращения ссылки из заголовка первого или второго элемента памяти.
26. Машиночитаемый носитель данных, кодированный компьютерными командами, которые при их выполнении обеспечивают осуществление процессором этапов, на которых:
распределяют первые элементы памяти, причем каждый из первых элементов памяти содержит первый заголовок и полезную нагрузку, причем полезная нагрузка содержит участки независимо распределяемой памяти, а первый заголовок содержит ссылку на нераспределенную память в полезной нагрузке;
распределяют вторые элементы памяти, причем каждый из вторых элементов памяти содержит второй заголовок, причем второй заголовок содержит ссылку на распределенный участок памяти в полезной нагрузке первого элемента памяти;
принимают запросы для распределения памяти; и
отвечают на запросы для распределения памяти посредством возвращения ссылки из заголовка первого или второго элемента памяти.