لینوکس
لینوکس همیشه یکی از اجزاء یک توزیع لینوکس است. توزیع‌های لینوکس توسط افراد، گروه‌های نه چندان متشکل و سازمان‌های حرفه‌ای گوناگون ایجاد می‌شوند. این توزیع‌ها شامل تعدادی نرم‌افزار سیستم و برنامه‌های کاربردی به همراه روالی مشخص برای نصب آن‌ها بر رایانه هستند. توزیع‌ها به‌طور معمول برای منظورهای مختلفی از جمله محلی‌سازی، پشتیبانی از یک معماری خاص، کاربردهای بی‌درنگ (real-time applications) و سامانه‌های توکار (embedded systems) به وجود می‌آیند و برخی از آن‌ها آگاهانه تنها از نرم‌افزارهای آزاد استفاده می‌کنند.
هسته لینوکس
چندین API داخلی هسته وجود دارد که بین زیر سیستم‌های مختلف مورد استفاده قرار می‌گیرد. برخی از آنها فقط در زیر سیستم‌های هسته موجود است، در حالی که مجموعه ای محدود از نمادهای درون هسته (به عنوان مثال متغیرها، ساختار داده‌ها و عملکردها) در معرض ماژول‌های بارگذاری پویا نیز قرار می‌گیرند. با ماکروهای ()EXPORT_SYMBOL و ()EXPORT_SYMBOL_GPL (آخرین مورد مربوط به ماژول‌های منتشر شده تحت مجوز سازگار با GPL است).