Linux
Linux | |
---|---|
Основана на | ядро Linux |
Первый выпуск | 17 сентября 1991 |
Поддерживаемые платформы | DEC Alpha, x86, x86-64, ARM, PowerPC, RISC-V и MIPS |
Linux (или GNU/Linux) — семейство бесплатных Unix-подобных многопользовательских операционных систем, основанных на ядре Linux и на программном обеспечении GNU. Широкое, в том числе коммерческое, распространение стало возможным в 1992 году благодаря лицензированию ядра Linux по свободной лицензии GPL. Одним из инициаторов Linux был финский программист Линус Торвальдс. Он по-прежнему играет координирующую роль в дальнейшей разработке ядра Linux и известен как «Великодушный пожизненный диктатор».
Модульная операционная система дорабатывается разработчиками программного обеспечения по всему миру. В разработке участвуют компании, некоммерческие организации и множество волонтёров. При использовании на компьютерах обычно используются так называемые дистрибутивы Linux. Дистрибутив объединяет ядро Linux с различным программным обеспечением в операционную систему, подходящую для конечного пользователя. Многие распространители и опытные пользователи адаптируют ядро под свои нужды.
Linux широко и разнообразно используется, например, на рабочих станциях, серверах, мобильных телефонах, маршрутизаторах, ноутбуках, встроенных системах, мультимедийных терминалах и суперкомпьютерах. Система Linux прочно обосновалась на рынке серверов, а также в мобильном секторе, и в то время играет небольшую, но растущую роль на рынке настольных компьютеров и ноутбуков. Linux используется многочисленными пользователями, включая частных пользователей, правительства, организации и предприятия.
История
В 1983 году Ричард Столмен начал проект GNU. Цель его состояла в том, чтобы создать свободно доступную Unix-подобную, POSIX-совместимую операционную систему. Хотя в начале 1990-х уже было написано значительное количество программного обеспечения, фактическое ядро операционной системы (GNU Hurd) всё ещё находилось на ранней стадии и развивалось очень медленно. Другой бесплатный дистрибутив Berkeley Software Distribution, разработанный в 1980-х годах, оказался вовлечённм в юридический спор с неясными перспективами и, следовательно, также мог быть альтернативой в качестве бесплатной операционной системы. Таким образом, в начале 1990-х годов не существовало полностью бесплатной системы, которая была бы интересна разработчикам.
Историческое развитие
В 1991 году Линус Торвальдс в Хельсинки (Финляндия) начал разработку эмуляции терминала, чтобы, среди прочего, лучше разобраться в своём собственном компьютере. Со временем он заметил, что разрабатываемая им система всё больше и больше становится похожей операционную. Он объявил об этом в тематической группе Usenet по операционной системе Minix. В сентябре того же года система должна была стать доступной для заинтересованных лиц на сервере. В то время администратору FTP-сервера Ари Леммке не нравились ни имена Freax, ни Buggix, предложенные Торвальдсом, поэтому вместо этого он опубликовал его в каталоге под названием Linux. Торвальдс поначалу не соглашался с этим названием, но быстро сжался, признав что имя Linux лучше.
В то время Linux все еще выпускался под проприетарной лицензией Торвальдса, что запрещало коммерческое использование. Однако вскоре он понял, что это тормозит развитие системы. Он хотел предоставить всем разработчикам значительно больше свободы и поэтому в январе 1992 года поместил Linux под GNU GPL.] Теперь можно было интегрировать Linux в GNU и распространять его как первую свободную операционную систему. Этот шаг сделал систему более привлекательной для большего числа разработчиков, поскольку её стало легче модифицировать и распространять.
Обозначение GNU/Linux
Первоначально Торвальдс использовал термин Linux только для написанного им ядра. Однако интегрированный в GNU вариант системы быстро стал наиболее широко используемым, поскольку в то время не было другого работающего бесплатного ядра. Когда позже Торвальдс и его последователи также называли всю операционную систему Linux, основатель проекта GNU Ричард Столлман попытался протокнуть имя GNU/Linux, чтобы придать роли GNU подобающую в его глазах значимость. Это требование встретило разную реакцию. Хотя проект GNU и проект Debian приняли это название, большинство разработчиков и других распространителей Linux отклонили его. Это было оправдано, с одной стороны, удобством, поскольку название Linux было более простым, а с другой стороны, указанием на то, что значительная часть программного обеспечения, поставляемого с Linux, уже не исходит от проекта GNU.
Графический пользовательский интерфейс KDE
Разработку ядра Linux по-прежнему осуществляет Торвальдс. Он работает в некоммерческой организации Linux Foundation, другим ключевым разработчикам часто платят разные компании.
Помимо разработки ядра, вокруг операционной системы собрались и другие проекты, что сделало её интересной для большего числа пользователей. Графические пользовательские интерфейсы, такие как KDE или Gnome, обеспечивают достаточеый уровень комфорта при использовании в качестве настольной системы. Различные дистрибутивы Linux, предназначенные для настольных компьютеров, упростили установку и настройку Linux до такой степени, что даже новички могут легко их освоить.
Глобальное сообщество разработчиков и пользователей создает множество программного обеспечения и документации для Linux, что значительно расширило возможности его использования. Кроме того, производители проприетарного программного обеспечения всё больше признают рынок Linux и со временем всё чаще предлагают программы для этой операционной системы. Разработка свободного программного обеспечения в основном осуществляется в рамках самоорганизующихся проектов, состоящих из добровольных и наёмных разработчиков, а также в фондах, некоторые из которых поддерживаются компаниями. Общее у всех инициатив, что их реализация координируется через Интернет и что большая часть организации и консультаций происходит там.
Ядро
Технологии
Ядро Linux представляет собой монолитное ядро, написанное на языке программирования C с использованием некоторых расширений GNU-C. Однако важные подпрограммы и критичные модули программируются на языке ассемблера для конкретного процессора. Ядро позволяет использовать только драйверы, необходимые для соответствующего оборудования. Кроме того, ядро также берёт на себя выделение процессорного времени и ресурсов для отдельных программ. С технической точки зрения, дизайн Linux сильно основан на модели Unix.
Ядро Linux было перенесено на очень большое количество аппаратных архитектур. Их репертуар варьируется от довольно экзотических операционных сред, таких как карманный компьютер iPAQ , навигационные устройства от TomTom или даже цифровые камеры, до мейнфреймов, таких как IBM System z, а с некоторых пор также мобильных телефонов, таких как Motorola A780, и смартфонов с операционными системами, такими как Android или Sailfish. Несмотря на модульную концепцию, монолитная базовая архитектура ядра сохраняется. Ориентация оригинальной версии на широко распространенные персональные компьютеры с процессором x86 позволила обеспечить поддержку широкого спектра оборудования и доверить работу с драйверами даже неопытным программистам.
Все версии ядра Linux заархивированы на kernel.org. Версия, которую можно найти там, гарантированно является соответствующим эталонным ядром. На этом факте основаны так называемые дистрибутивные ядра, а дополнительные функции добавляются отдельными дистрибутивами Linux. Особенностью является схема нумерации версий, состоящая из четырех цифр, разделенных точками, например 2.6.14.1. Такая нумерация предоставляет информацию о точной версии и, таким образом, о возможностях соответствующего ядра. Из четырех чисел последнее меняется при исправлении ошибок и оптимизации кода, но не при введении новых функций или других серьезных изменениях. По этой причине его редко упоминают, например, при сравнении версий ядра. Предпоследнее, третье число меняется по мере добавления новых функций. То же самое относится к первым двум номерам, но для них изменения новые функции должны быть более радикальными. Начиная с версии 3.0 (август 2011 года) второе число опускается.
Развитие
Благодаря GPL и очень открытой модели разработки Linux находится не в руках отдельных лиц, корпораций или стран, а в руках мирового сообщества многих программистов, которые обмениваются информацией в основном через Интернет. Через многие списки адресов электронной почты, а также на форумах и в Usenet каждый имеет возможность следить за обсуждениями ядра, принимать в них участие, а также вносить активный вклад в разработку. Этот несложный подход обеспечивает быструю и стабильную разработку, а это также означает, что каждый может добавить в ядро необходимые ему функции. Это ограничено только контролем Линуса Торвальдса и нескольких специально отобранных программистов, за которыми остаётся последнее слово при включении улучшений и исправлений. Таким образом, каждый день создается примерно 4300 строк нового кода, при этом около 1800 строк удаляются.
Дистрибутивы
Потребность в дистрибутивах Linux возникла почти сразу из-за модели разработки этой системы. Инструменты проекта GNU были быстро адаптированы для Linux для обеспечения работоспособности системы. Первыми компиляциями такого рода стали MCC Interim Linux, Softlanding Linux System (SLS) и Yggdrasil Linux в 1992 году. Самый старый дистрибутив, существующий до сих пор, Slackware от Патрика Волкердинга был выпущенн в 1993 году .
С распространением дистрибутивов Linux все больше людей получили возможность протестировать систему, а дистрибутивы становились всё более и более обширными, так что можно было охватить всё большую область применения, что делало Linux всё более привлекательной альтернативой операционным системам от известных производителей. Хотя первые дистрибутивы по-прежнему писались для удобства отдельными программистами или небольшими группами, в настоящее время встречаются очень крупные проекты, осуществляемые добровольцами, компаниями или их комбинацией.
Возможное использование отдельных дистрибутивов также сильно эволюционировало с течением времени. Существуют дистрибутивы для любого использования, от настольных ПК до серверных установок до технических исследовательских целей. В состав типичного дистрибутива Linux для настольного ПК входит большое количество программных компонентов для повседневной работы. Большинство дистрибутивов поставляется в виде готовых образов CD- или DVD-дисков в Интернете или продается вместе с руководством и техподдержкой.
Выбрать наиболее подходящий дистрибутив для многих неопытных пользователей непросто. Используемое программное обеспечение может иметь большее значение для домашних пользователей, чем для предприятий, которые, в свою очередь, больше ценят наличие официального послепродажного обслуживания.
Разнообразие дистрибутивов, некоторые из которых имеют разные форматы, собственную структуру каталогов и другие различия, приводит к определенной степени несовместимости между дистрибутивами, неустранимой до настоящего времени.
Области применения
Области применения Linux неуклонно расширялись, начиная с первой версии, и теперь охватывают широкий диапазон.
Несмотря на бо́льшую безопасность по сравнению с самой распространенной операционной системой Windows, возможность параллельной установки и большой выбор бесплатного программного обеспечения, Linux лишь изредка используется на настольных компьютерах. Хотя интерфейс наиболее популярных «сборок» Linux выглядит аналогично Windows или macOS, они отличаются различными системными функциями. Поэтому неопытному пользователю может потребоваться определённый период обучения.
Благодаря совместимости с другими Unix-подобными системами Linux особенно быстро зарекомендовал себя на рынке серверов. Поскольку множество часто используемых и необходимых серверных программ, таких как веб-серверы, серверы баз данных и групповое программное обеспечение, были доступны для Linux на раннем этапе, бесплатно и в основном без ограничений, доля рынка неуклонно росла. Linux считается стабильным и простым в обслуживании, он также отвечает особым требованиям, предъявляемым к серверной операционной системе. Модульная структура системы Linux также позволяет использовать компактные выделенные серверы. Кроме того, перенос Linux на самые разные аппаратные компоненты привел к тому, что Linux поддерживает все известные серверные архитектуры. В январе 2017 года не менее 34 % всех веб-сайтов были доступны с использованием сервера Linux. Поскольку не все серверы Linux идентифицируют себя как таковые, фактическая доля может быть значительно выше, до 65 %.
Существуют специально оптимизированные дистрибутивы Linux для смартфонов и планшетов. В дополнение к функциям телефонии и SMS они предлагают различные функции PIM, навигации и мультимедиа. Работа обычно осуществляется с помощью мультитач или с помощью пера. Android также рассматривается как дистрибутив Linux, имея с ним много общего. С конца 2010 года системы Linux захватили лидерство на быстрорастущем рынке смартфонов, и в настоящее время их рыночная доля превышает 80 %.
Среди других областей применения Linux: автомобильные бортовые компьютерные системы и суперкомпьютеры.
Ссылки
- IBM developerWorks. Раздел по Linux. Статьи, обзоры, учебные пособия
- Linux Tutorial: C++ Software Development (англ.)
- Путеводитель по дистрибутивам Linux (англ.)
Данная статья имеет статус «готовой». Это не говорит о качестве статьи, однако в ней уже в достаточной степени раскрыта основная тема. Если вы хотите улучшить статью — правьте смело! |