Введение
В обиходе «Linux» часто обозначает группу дистрибутивов операционных систем, построенных на ядре Linux. Но в более конкретном смысле Linux относится только к самому ядру. Для создания полноценной операционной системы дистрибутивы Linux обычно включают инструменты и библиотеки из проекта GNU и других источников. В последнее время все больше разработчиков используют Linux для создания и запуска мобильных приложений; операционная система также сыграла значительную роль в разработке доступных устройств, таких как Chromebook, которые работают под управлением операционной системы на основе ядра. В облачных вычислениях и серверных средах в целом Linux является популярным выбором по ряду операционных причин:
- Его дистрибутивы актуальны и поддерживаются другими сообществами разработчиков.
- Эта операционная система может работать на широком спектре оборудования и может быть установлена параллельно с существующими системами (полезная функция в локальных средах разработки).
- Поддерживает централизованную установку программного обеспечения из предварительно созданных репозиториев.
- Его ресурсоемкость невелика.
- Когда разработчики создают программные экосистемы и инструменты, необходимые для серверов, Linux обычно является первым выбором, что обеспечивает высокую совместимость.
- Это позволяет вносить необходимые изменения в поведение операционной системы.
Linux также имеет корни в движении за свободное и открытое программное обеспечение, поэтому некоторые разработчики используют его по этическим и операционным соображениям:
- Для некоторых разработчиков использование Linux означает приверженность открытому доступу и свободе выражения мнений.
- Сообщество Linux также привлекательно для некоторых разработчиков: при возникновении вопросов они могут обратиться к ресурсам, созданным этим сообществом, или напрямую связаться с одним из активных сопровождающих проекта.
Чтобы понять роль Linux в сообществе разработчиков (и за его пределами), в этой статье изложена краткая история Linux от Unix до Linux, а также рассмотрены некоторые популярные дистрибутивы Linux.
Корни в Unix
Linux берёт своё начало от Unix и Multix, двух проектов, целью которых было создание надёжной многопользовательской операционной системы.
Начало Unix
Unix развился из проекта Multix в Центре компьютерных исследований Bell Labs. Разработчики, работавшие над Multix в Bell Labs и других местах, были заинтересованы в создании многопользовательской операционной системы с одноуровневым хранилищем, динамической компоновкой (при которой запущенный процесс мог запросить у системы добавление еще одного раздела в свое адресное пространство, чтобы он мог выполнять код из этого раздела) и иерархической файловой системой.
Компания Bell Labs прекратила финансирование проекта Multix в 1969 году, но группа исследователей, включая Кена Томпсона и Денниса Ричи, продолжила работу над первоначальными принципами проекта. В 1972–73 годах они решили переписать систему на языке C, что сделало Unix уникально портативным: в отличие от других современных операционных систем, Unix мог перемещаться со своего оборудования и оставаться работоспособным.
Однако исследования и разработки продолжались в Bell Labs (позже AT&T), а Unix Systems Labs в сотрудничестве с Sun Microsystems разработала версии Unix, которые получили широкое распространение среди коммерческих поставщиков Unix. Тем временем исследования продолжались в академических кругах, в частности, в группе исследований компьютерных систем Калифорнийского университета в Беркли. Эта группа создала Berkeley Software Distribution (BSD), которая послужила основой для множества операционных систем, многие из которых используются и сегодня. К двум историческим дистрибутивам BSD относятся NeXTStep, операционная система, разработанная NeXT и ставшая основой для macOS и других продуктов, и MINIX, образовательная операционная система, ставшая эталоном для Линуса Торвальдса при разработке Linux.
Основные особенности Unix
В основе Unix лежат принципы ясности, переносимости и параллельного выполнения.
- Разрешение: Модульная структура Unix позволяет выполнять функции ограниченным и специфическим образом. Его файловая система унифицирована и иерархична, что упрощает манипулирование данными. В отличие от некоторых своих предшественников, Unix реализует сотни (а не тысячи) системных вызовов, каждый из которых служит прямой и понятной цели.
- Портативность: Написав Unix на языке C, команда Bell Labs подготовила Unix к широкому распространению и внедрению. Язык C был разработан для обеспечения поверхностного доступа к памяти, минимальной поддержки во время выполнения и эффективного взаимодействия между языком и машинными инструкциями. Основанная на C основа Unix означала, что операционная система была адаптируемой и могла легко работать на различном оборудовании.
- Синхронизация: Ядро Unix специально разработано (в сотрудничестве с проектом Multix) для поддержки множества пользователей и рабочих процессов. Пространство ядра в Unix отличается от пользовательского пространства, что позволяет запускать несколько программ одновременно.
Эволюция Linux
Unix поднимал важные вопросы перед разработчиками, но в своих ранних версиях он оставался проприетарным. Поэтому следующая глава его истории — это рассказ о том, как разработчики работали внутри и против этой структуры, что привело к созданию свободных и открытых альтернатив.
Эксперименты с открытым исходным кодом
Ричард Столлман был центральной фигурой среди разработчиков, вдохновленных идеей создания непатентованных альтернатив Unix. Работая в Лаборатории искусственного интеллекта Массачусетского технологического института, он начал работу над проектом GNU (что расшифровывается как “GNU — это не Unix!”) и в конечном итоге покинул лабораторию в 1984 году, чтобы распространять компоненты GNU как свободное программное обеспечение. Ядро GNU, известное как GNU HURD, стало предметом внимания Фонда свободного программного обеспечения (FSF), основанного в 1985 году и по-прежнему возглавляемого Столлманом.
Тем временем другой разработчик работал над бесплатной альтернативой Unix: финский студент Линус Торвальдс. Разочаровавшись в лицензии MINIX, Торвальдс 25 августа 1991 года объявил группе пользователей MINIX, что разрабатывает операционную систему, похожую на MINIX. Хотя ядро изначально разрабатывалось для MINIX с использованием компилятора GNU C, ядро Linux быстро стало уникальным проектом, и команда разработчиков выпустила версию 1.0 в 1994 году.
Основные особенности Linux
Хотя ядро Linux унаследовало многие цели и особенности Unix, оно отличается от предыдущей системы следующими способами:
- Его основным компонентом является ядро, которое разрабатывается независимо от других компонентов операционной системы. Это означает, что Linux использует различные исходные коды (например, GNU) для создания полноценной операционной системы.
- Это свободная операционная система с открытым исходным кодом. Её ядро распространяется под лицензией GNU General Public License (результат работы Фонда свободного программного обеспечения над проектом GNU) и доступно для загрузки и модификации. GPL предусматривает, что производные работы должны сохранять условия лицензирования оригинального программного обеспечения.
- Linux имеет монолитное ядро, подобное Unix, но может динамически загружать и выгружать код ядра.
- В отличие от традиционных реализаций Unix, эта операционная система поддерживает многопроцессорность (SMP).
- Его ядро предсказуемо, что является еще одним отличием от Unix.
- В его ядре не делается различий между потоками и обычными процессами.
- Данная операционная система имеет интерфейс командной строки (CLI), а также может иметь графический пользовательский интерфейс (GUI).
Популярные дистрибутивы Linux
Сегодня разработчики поддерживают множество популярных дистрибутивов Linux. Среди них одним из старейших является Debian, бесплатный дистрибутив с открытым исходным кодом, насчитывающий 50 000 программных пакетов. Debian послужил прообразом для другого популярного дистрибутива, Ubuntu, финансируемого компанией Canonical Ltd. Ubuntu использует формат пакетов deb и инструменты управления пакетами Debian, а разработчики Ubuntu вносят изменения в Debian.
Аналогичные отношения существуют между Red Hat, Fedora и CentOS. Компания Red Hat создала собственный дистрибутив Linux в 1993 году, а десять лет спустя разделила свои усилия на Red Hat Enterprise Linux и Fedora — операционную систему, основанную на сообществе, которая использует ядро Linux и компоненты проекта GNU.
Результат
В этой статье мы рассмотрели истоки Linux в Unix и некоторые из его определяющих особенностей. Если вас интересует история Linux и вариантов Unix (включая FreeBSD), хорошей отправной точкой может стать наша серия статей о FreeBSD. Вы также можете ознакомиться с нашей серией статей «Начало работы с Linux».









