4 ms·
This approach is more common in lower level software where each allocation is carefully managed. The Linux kernel uses them, for example: http://www.makelinux.
by Todd 12y ago
This approach is more common in lower level software where each allocation is carefully managed. The Linux kernel uses them, for example:
http://www.makelinux.net/ldd3/chp-11-sect-5 http://www.makelinux.net/ldd3/chp-11-sect-5
as does the Windows kernel:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff563802%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/hardware/ff5...
- valleyer 12y agoAnd BSD / OS X. Check out queue(3).
- flohofwoe 12y agoAnd on AmigaOS, pretty much everything in Exec (the OS kernel) was held together by doubly-linked-lists (of the intrusive kind). Coming from C I'd say that std::list is the 'strange kind' of lists, and intrusive lists are the 'common kind'. On the other hand I haven't been using lists for years, since growable arrays (like std::vector) are almost always faster.