Операционные системы, основанные на ядре Linux, представляют собой обширную группу похожих на Unix ОС, часто именуемых дистрибутивами Linux.

Для каждого дистрибутива характерно уникальное наименование. По состоянию на 2018 год, среди самых востребованных версий GNU/Linux выделяются Manjaro, Ubuntu, Mint, elementary, MX Linux, Debian, и Fedora. В общем, существует множество различных дистрибутивов.

Дистрибутивы претерпевают изменения и выпускаются в различных версиях на протяжении своего жизненного цикла. Новейшие версии получают поддержку, тогда как старые теряют актуальность. Одни исчезают, другие появляются.

Появление систем GNU/Linux можно считать частью естественной эволюции компьютерных технологий. Далее подробно рассмотрены причины их возникновения и исторический путь развития.


История Unix-подобных систем

История Unix

Хотя GNU/Linux и не является ответвлением Unix-систем, оно подобно им. Это означает, что Linux унаследовал принципы разработки и организации UNIX, однако его код был написан с нуля, без заимствования из Unix.

Когда-то Unix существовал как единственная система, сыгравшая значительную роль в истории вычислительной техники. На её основе позже появились другие системы, и сегодня "чистой" Unix более не существует.

Unix начал свое развитие в 1969 году, в стенах американской компании Bell Labs, где группа программистов заложила его основу. Чтобы сделать разработку Unix более независимой от конфигурации компьютера, Денис Ритчи и Кен Томпсон создали язык программирования Си. Этот язык по-прежнему используется для написания ключевых компонентов большинства операционных систем.

Основные цели создания ОС в то время заключались в обеспечении комфортной среды для программистов и организации их совместной работы. Все эти задачи учитывались при создании Unix.

К середине 70-х годов Unix широко распространился, хотя его использование было ограничено крупными предприятиями и университетами, так как персональные компьютеры в те времена были редкостью. Linux распространялся бесплатно, и каждая организация могла адаптировать систему под свои нужды, в результате чего возникли множество вариаций Unix, включая коммерческие.

В начале 80-х годов Unix выбрали как основную платформу для развития сетевого протокола TCP/IP, что значительно поспособствовало её укреплению на серверном рынке.

Тем не менее, коммерческие версии Unix замедляли прогресс, так как фирмы, производившие свои дистрибутивы, не позволяли распространять исходные коды, что препятствовало другим разработчикам пользоваться уже написанным кодом.

Более того, каждое предприятие вносило свои изменения в программное обеспечение, что приводило к несовместимости между системами. Это создало значительные проблемы совместимости, важные для IT-сферы как с точки зрения ПО, так и оборудования.

Но даже после попыток стандартизации, закрытость Unix сыграла негативную роль: возможно, это упущение стало причиной того, что Unix не смог развиться в систему для массовых пользователей.

История GNU

В 1982 году Ричард Столлман столкнулся с ограничением лицензий ПО, мешавшим обмену исходниками в научных кругах. Покинув рабочее место, в 1983 году он инициировал проект GNU, целью которого стало создание системы с открытым исходным кодом.

GNU расшифровывается как "GNU is Not Unix", что дополнительно связано с английским словом "gnu", переводимым как "антилопа гну", ставшая символом проекта.

Логотип проекта GNU

Для обеспечения работы программистов над ПО, Столлман разработал текстовый редактор Emacs. В ходе проекта GNU был основан фонд, занимающийся распространением свободного ПО и получавший средства от продажи руководств и дополнительных услуг.

На протяжении 80-х годов в рамках проекта GNU собралась обширная коллекция ПО, которая позже стала составной частью дистрибутивов Linux. Таким образом, точнее было бы именовать их GNU/Linux. Однако к 1990 году разработка ядра в проекте GNU ещё не завершилась.

Minix

В 1987 году Эндрю Таненбаум создал учебную Unix-подобную систему Minix. Она служила учащимся инструментом для освоения основ ОС и состава её компонентов, распространявшаяся по свободной лицензии для изучения исходного кода.

Minix стал важным этапом для появления Linux, так как большинство студентов учились на её основе.

Рождение Linux

В начале 90-х, Линус Торвальдс, обучавшись на базе Minix, ощутил нехватку возможностей этой учебной системы и начал работу над собственной ОС, начиная с разработки системных вызовов. К лету 1991 года, он создал первую версию ядра, впоследствии получившего название Linux.

Важно отметить, что ядро операционной системы не является полной ОС с точки зрения пользователя. Оно служит для взаимодействия программ с оборудованием, управляет распределением памяти и процессорного времени.

Linux стал активно развиваться благодаря открытому доступу и поддержке сообщества программистов со всего мира.

Развитие GNU/Linux

Поскольку проекту GNU недоставало только ядра, роль Linux оказалась весьма кстати. Это ядро интегрировалось с ПО проекта GNU, формируя полноценную операционную систему, известную как GNU/Linux, а часто просто называемую Linux.

Программисты со всего мира приняли участие в развитии Linux и прикладного ПО, основной платформой взаимодействия был и остаётся Интернет.

Со временем возникли компании, продающие свои дистрибутивы — версии ОС на основе ядра Linux. Основным источником их дохода были услуги технической поддержки и продажа установочных дисков, которые пользовались спросом, поскольку в 90-ые и 2000-е интернет был дорогим и медленным.

Если изначально Linux ориентировался на специалистов, то впоследствии дистрибутивы стали более доступными для обычных пользователей.

Дистрибутивы различаются не столько по графическому интерфейсу, сколько по области применения — для серверов или настольных компьютеров, а также по способу управления пакетами и другим функциям.

С течением времени Linux была адаптирована для различных архитектур и теперь используется в самых разнообразных электронных устройствах. Примечательно, что Android тоже построен на базе ядра Linux.

Тем не менее, на текущий момент системы GNU/Linux чаще всего применяются на серверах, включая веб-серверы и суперкомпьютеры, и в меньшей степени на настольных ПК.

Вопросы для самопроверки:

  1. Какие операционные системы на основе ядра Linux являются наиболее востребованными?
  2. Почему коммерческие версии Unix оказались ограничены в развитии?
  3. Как проект GNU повлиял на развитие дистрибутивов Linux?
  4. Почему ядро Linux считается важным, но недостаточным компонентом для полной ОС?
  5. В каких областях чаще всего используются системы GNU/Linux на сегодняшний день?

Программа курса:

  1. Описание курса
  2. История операционной системы Linux
  3. Основы лицензии GNU GPL и её преимущества
  4. Функции и структура ядра Linux-систем
  5. Структура и каталоги файловой системы Linux
  6. Основные типы файлов в системе Linux
  7. Интерфейс командной строки в Linux
  8. Командная оболочка Bash в Linux
  9. Использование параметров команд в Bash
  10. Использование Ctrl+C, Ctrl+D и Ctrl+Z
  11. Автодополнение и история команд в Bash
  12. Перенаправление ввода и вывода в Bash
  13. Документация Linux и Man-страницы
  14. Абсолютная и относительная адресация в Linux
  15. Команда ls - как просматривать каталоги в Linux
  16. Копирование, перемещение и удаление в Linux
  17. Жесткие и символьные ссылки в Linux
  18. Создание жестких и символических ссылок в Linux
  19. Права доступа к файлам и каталогам в Linux
  20. Изменение прав доступа к файлам с помощью chmod
  21. Использование шаблонов имен файлов в Linux
  22. Поиск файлов в Linux с помощью команды find
  23. Использование команды sudo в Linux
  24. Управление пакетами с помощью APT в Linux