Тулзы для осознания Линуха. Интересно, такое кто-нибудь уже делал? Берем сорцы линуха для какой-то конкретной платформы. Парсим Ctag, и строим SQL базу данных. Функции, typedef, макро, глобальные переменные: где определены, где прототипированы (можно и где использованы).
Ручками прописываем в эту БД теги: это внутренняя функция, ее юзерам ваще не стоит трогать, это user mode, это kernel mode.
Вводим понятие иерархии: эта группа функций такая-то, эта - такая-то.
Строим при помощи Graphviz "портянку" А0 со всеми функциями, которые можно использовать, и вещаем ее на стену.
Из этой SQL базы и простого Python скрипта делаем аналог MSDN для нашей системы: смотрим на портянку, набираем часть названия функции, оно показывает варианты, выбираем из списка, открываются два окна: прототипировано и определено.
Берем внешнюю софтину. Под Linux. Исходники. Парсим их нашей тулзой, стороим пространство имен в своей SQL базе.
Находим там внешние функции (которые не определены в этом модуле), и проверяем - а они у нас есть? Пытаемся скомпилировать.
Вообще такой глобальный навигатор по пространству имен, в моем понимании, сильно ускорит процесс разработки.
Что есть готового на тему?