Основной ответ - хеш-таблица - карта . Причина того, что в ядре нет абстракции к API типа «карта», заключается в том, что вы отвечаете за все в ядре. Мало того, то, как хеш-карты реализованы в ядре, позволяет одной записи (значению) быть частью нескольких карт, переплетать множество косвенных адресов и создавать произвольные реляционные записи.
Безопасность - еще одна проблема. В большинстве случаев, когда вы получаете какие-либо данные из пользовательского пространства, вы должны обращаться с ними как с мусором: в частности, вы не можете доверять пользовательскому пространству предоставление вам действительных ключей и использовать их напрямую, например, для поиска по карте. У вас должен быть непрозрачный механизм для проверки правильности ключа (например, размера) перед чтением / записью / обновлением значений.