Как правило, то, что мы обычно называем операционной системой, представляет собой комбинацию программного обеспечения, включающего ядро , задачей которого является управление ресурсами компьютера и некоторыми приложениями, которые выполняются поверх ядра, которые называются пользовательским пространством (это содержит браузеры, компиляторы, читатели PDF, все, что не является ядром, или драйвером, или, возможно, гипервизором vm).
На остальную часть этого вопроса невозможно ответить без какого-либо исторического контекста. Ричард Столлман объявил о проекте GNU 27 сентября 1983 года. Целью было предоставить программное обеспечение, необходимое для разработки UNIX-подобной операционной системы (и сопутствующего пользовательского пространства) в качестве свободного программного обеспечения . К 1992 году проект GNU завершил почти все части, необходимые для их программного обеспечения - за исключением одного: ядра. В то же время Линус Торвальдс выпустил свое ядро Linux (версия 0.12) как бесплатное программное обеспечение, лицензированное по лицензии GPL . Таким образом, впервые можно было запустить компьютер, состоящий (почти) полностью из свободного программного обеспечения.
Linux (как уже упоминалось) - это ядро , и, хотя оно является основной базой программного обеспечения, которое позволяет вам использовать ваш компьютер, оно само по себе не очень полезно. Вы должны связать его с какими-то приложениями (пользовательским пространством) для его запуска. Это то, что делают дистрибутивы GNU / Linux, такие как Debian или Ubuntu и тому подобное.
Стоит отметить, что ядро одновременно важно и неважно. Позвольте мне объяснить. Большинство людей, которые используют компьютер, привыкли к пользователю, а не к ядру. Ядро в основном прозрачное, и большинство людей используют другое ядро с той же пользовательской областью и могут даже не заметить разницу (если, конечно, они зависят от функции, предоставляемой конкретным ядром).
Поэтому, когда вы используете Linux , вы действительно используете реализацию операционной системы GNU; это ядро Linux и пользовательская область GNU (GNOME, коллекция компиляторов GNU, отладчик GNU, Coreutils GNU, binutils GNU и т. д.). Вот почему ФСФ настаивает на том, чтобы называть это GNU / Linux (на мой взгляд, справедливый запрос).
Конечно, вы можете использовать Linux без пользовательского пространства GNU (подсказка: Android, Busybox ) и, конечно, использовать пользовательское пространство GNU поверх других ядер (kfreebsd, hurd и т. Д.).
Что касается Unix с открытым исходным кодом и тому подобное, это вопрос, который может включать немало споров. Вы можете найти полезную информацию здесь