Познакомьтесь с Linux – операционной системой и универсальной платформой

Познакомьтесь с Linux, легко адаптируемой платформой, на основе которой построено множество решений

Операционную систему Linux можно встретить везде – начиная от самого простого смартфона и заканчивая виртуальной магистралью всемирной сети Интернет или самым большим и мощным суперкомпьютером. Однако реализовать все возможности, необходимые для функционирования этих платформ, не так уж просто. Из этой статьи вы откроете для себя вездесущность Linux и узнаете о том, как эта операционная система используется в различных устройствах – от самых маленьких и до самых больших.

M. Тим Джонс, инженер-консультант, Emulex Corp.

М. Тим ДжонсМ. Тим Джонс - архитектор встроенного ПО и, кроме того, автор книг Artificial Intelligence: A Systems Approach, GNU/Linux Application Programming (выдержавшей на данный момент второе издание), AI Application Programming (второе издание) и BSD Sockets Programming from a Multilanguage Perspective. Он имеет обширный опыт разработки ПО в самых разных предметных областях - от ядер специальных ОС для геосинхронных космических аппаратов до архитектур встраиваемых систем и сетевых протоколов. Тим - инженер-консультант Emulex Corp., Лонгмонт, Колорадо.



11.10.2012

Как связаться с Тимом

Тим – один из наших наиболее популярных и плодовитых авторов. Познакомьтесь со всеми статьями Тима (EN), опубликованными на сайте developerWorks. Вы можете найти контактные данные в профиле Тима и связаться с ним, а также с другими авторами и участниками ресурса My developerWorks.

Операционная система Linux достигла совершеннолетия. В 2012 году ей исполняется 21 год, и можно говорить о Linux, как о зрелой операционной системе, применяемой для различных задач. Однако сложно воспринимать Linux просто как операционную систему – она больше похожа на хамелеона. Ее гибкое модульное ядро используется в таком широком ряде решений (начиная от мощнейших суперкомпьютеров и заканчивая миниатюрными встроенными устройствами), что Linux можно назвать не иначе как высокоэффективной технологией. Фактически, Linux - эта платформа и ключевая технология, позволяющая создавать новые продукты, в том числе и такие, о которых еще недавно никто не знал.

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

Что такое Linux?

На первый взгляд Linux – это операционная система. Как показано на рисунке 1, Linux состоит из ядра (базовый код, управляющий программными и аппаратными ресурсами) и набора пользовательских приложений (например, библиотеки, менеджеры окон и исполняемые программы).

Рисунок 1. Linux на первый взгляд
Рисунок 1. Linux на первый взгляд

На этой простой диаграмме хорошо показаны ключевые принципы. Внизу стека Linux находится архитектурно-зависимый код, обеспечивающий работу Linux на большом количестве аппаратных платформ (ARM, PowerPC, Tilera TILE и др.). Конечно, эта функциональность поддерживается GNU –инструментарием, обеспечивающим переносимость Linux.

Что касается переносимости, то здесь Linux на голову выше других систем. Подсистема драйверов, обладающая огромными возможностями, поддерживает динамически загружаемые модули без потерь в производительности, обеспечивая модульность (в дополнение к повышенной динамичности платформы). Кроме того Linux обладает защитой на уровне ядра (в ряде схем), обеспечивающей защищенность платформы. Linux поддерживает наибольшее количество файловых систем любых ОС, что дает гибкость, обеспечиваемую модульным принципом проектирования. В Linux реализованы не только стандартные возможности планирования загрузки процессора, но и диспетчеризация в реальном времени (включая гарантированные задержки обработки прерываний).

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

Эти семь ключевых принципов ни в коем случае не являются единственными достоинствами Linux, но они делают Linux универсальной платформой, применяемой в самых различных решениях. Более того, в этих решениях используются не только одни и те же принципы разработки, но и одинаковый код Linux. Этого нельзя сказать о других операционных системах (например, о версиях Windows® для ПК, серверов и встроенных устройств, Mac OS X или Apple iOS), обладающих ограниченной поддержкой различных устройств.


Где можно встретить Linux?

Проще ответить на вопрос, где нет ОС Linux, чем сказать, где она есть. Благодаря возможностями трансформации и масштабирования Linux, ее можно встретить во всех областях компьютерной техники (иногда даже в тех, которые еще полностью не определены). В этом разделе мы рассмотрим несколько основных компьютерных областей, включая десктопы и нетбуки, серверы, кластеры, мэйнфреймы, суперкомпьютеры, портативные и планшетные устройства, встраиваемые, виртуальные и экспериментальные платформы (см. рисунок 2).

Рисунок 2. Атрибуты Linux и связанные области
Рисунок 2. Атрибуты Linux и связанные области

Десктопы и нетбуки

Десктопы и нетбуки входят в категорию устройств, на которых Linux используется меньше всего. Последние данные о доле рынка Linux говорят о том, что эта ОС используется на 1.5% десктопов и примерно на 32% нетбуков. Эти цифры могут показаться незначительными, но, как разработчик, я гораздо чаще вижу Linux, чем любую другую операционную систему.

Изначально Linux разрабатывалась всего лишь как простая экспериментальная операционная система, и с выходом в 1994 году сервера оконного менеджера XFree86 у нее появились перспективы стать полноценной настольной операционной системой. Сегодня в Linux доступно несколько оконных менеджеров (что имеет свои плюсы и минусы), которые пользователи могут настраивать под свои задачи. Кроме того, Linux автоматически масштабируется, ориентируясь на возможности процессора (например, системы с многоядерной и симметричной многопоточной обработкой), эффективно распределяя процессы для наилучшей производительности.

Linux и рынок труда

Недавний опрос сайта Dice.com и консорциума Linux Foundation показал, что по утверждению 81% респондентов (было опрошено более 2000 человек) в 2012 году приоритетным являлся наем сотрудников для работы с Linux. Таким образом, Linux не только двигает вперед различные отрасли промышленности, но также обеспечивает продвижение по карьерной лестнице.

Серверы

На рынке серверов (почтовые, Web- и DNS-серверы, а также прочие серверные системы) тоже правит Linux. Недавний опрос показал, что более 60% всех серверов работают под управлением Linux. Выходя за рамки традиционных Web-сервисов, Linux поддерживает множество серьезных Интернет-проектов (таких как Facebook, eBay, Twitter и Amazon), каждый из которых предъявляет различные требования и использует различные модели работы. Помимо выполнения традиционных ролей (например, Web- или почтовые серверы) Linux может предложить большой спектр Web-сервисов с самыми различными возможностями.

Кластеры и распределенные вычисления

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

Облачные вычисления предоставляют пользователям ИТ-услуги в качестве сервисов и основаны на кластерах общих ресурсов, которые могут масштабироваться с учетом потребности конкретных приложений. В облачных средах широко используется виртуализация, позволяющая автоматически управлять узлами огромной инфраструктуры. 66% облачных сред в качестве основной платформы используют Linux.

Linux также зарекомендовала себя как платформа для "науки о данных" ("data science"). Объем данных в Интернете достигает огромных размеров, вследствие чего при обработке этих данных для получения нужной информации возникают новые проблемы. То, что сейчас называется "Большими данными", было разработано в Linux в качестве масштабируемого способа управления данными, превосходящего по своим возможностям традиционные методы. Программный продукт Hadoop и его экосистема являются результатом открытости Linux, а также усилий армии опытных разработчиков, работающих с этой платформой.

Мэйнфреймы

В 1991 году один известный редактор сказал, что последний мэйнфрейм будет остановлен в начале 1996 года. Спустя более 20 лет мэнфреймы продолжают создаваться и продаваться, и на многих из них установлена Linux. Компания IBM начала внедрять поддержку Linux на мэйнфреймах (таких как популярная серия IBM® System z®) в 2000 году и поддерживает одинаковые пользовательские стандарты для всех сред. В одной из последних статей Майкла Визарда (Michael Vizard) утверждается, что около 25% объема работы на новых мэйнфреймах выполняется с помощью Linux (см. раздел Ресурсы.)

Суперкомпьютеры

Суперкомпьютеры постоянно участвуют в гонке вооружений, сражаясь за звание самого быстрого, начиная с суперкомпьютера Jaguar Окриджской национальной лаборатории (2009) и заканчивая китайским Tianhe-I (2010) и лидером на сегодняшний день – японским суперкомпьютером RIKEN Kei (2011). В 2012 году компанией IBM запускается суперкомпьютер Sequoia, производительность которого будет в два раза выше, чем у RIKEN. Все эти суперкомпьютеры объединяет одна общая черта – все они работают под управлением Linux. Linux не только является эффективной операционной системой, но также может быть адаптирована под различные аппаратные платформы, призванные улучшать производительность. Не должен вызывать удивление тот факт, что под управлением Linux работает более 90% суперкомпьютеров (см. раздел Ресурсы.)

Мобильные и планшетные устройства

Мобильные и планшетные устройства продолжают захватывать значительную долю рынка бытовой электроники. Эти устройства содержат ядро Linux и различные графические пользовательские интерфейсы. Самым значимым примером в этой области является операционная система Google Android, устанавливаемая на смартфонах и планшетных компьютерах. Сегодня более 25% смартфонов работают под управлением Linux (в основном это ОС Android) и более 40% планшетных компьютеров – под управлением Android.

В этих устройствах установлены ARM-процессоры (системы на чипах), обеспечивающие высокую производительность и низкое энергопотребление. Независимо от используемой платформы все эти устройства являются полноценными Linux-устройствами.

Недавно компания Microsoft® подтвердила тот факт, что ее планшет Windows on ARM (WOA) будет поддерживать только те приложения, которые будут разработаны для этой платформы (другими словами, на нем нельзя будет запустить старые приложения). Сравните теперь это с ОС Linux, которая широко поддерживает портативные приложения и не является ограниченной и закрытой экосистемой (см. раздел Ресурсы.)

Встраиваемые устройства

В конце списка стоят встраиваемые устройства с ограниченными ресурсами (производительность процессора, объем памяти и т. д.). В большинстве случаев Linux является идеальной операционной системой для этих устройств, благодаря своим скромным системным требованиям и возможности использования любых существующих на рынке встраиваемых процессоров,. Эта гибкость позволяет активно применять Linux в телевизионных системах, автомобильных аудиосистемах, системах навигации и других различных устройствах.

Linux чрезвычайно гибка в настройках и нацелена на низкое энергопотребление. Проект Less Watts отслеживает энергопотребление версий Linux с различными ядрами и главным образом нацелен на платформы Intel, хотя может оказаться полезным и для других процессоров.

Linux является хорошо стандартизированным вариантом платформы для встраиваемых устройств и может определять их успех или провал (для поддержки быстрого развития и разработки). Недавно появилось еще одно интересное устройство – Raspberry Pi, представляющее собой Linux-компьютер размером с кредитную карточку на базе ARM-процессора и позиционирующееся как устройство для обучения программированию. Это устройство пока еще не доступно для заказа и, как ожидается, будет стоить порядка $35 (см. раздел Ресурсы.)

Платформы виртуализации

Одной из интересных областей инновационного применения Linux является виртуализация. Linux – это родная операционная среда для любых возможных решений виртуализации, будь это аппаратная виртуализация (паравиртуализация), виртуализация операционной системы или другие более экзотические решения, например, кооперативная виртуализация. Как операционная система, Linux может трансформироваться в гипервизор (например, в KVM – Kernel Virtual Machine), а также обслуживать несколько гипервизоров класса Research Hypervisor. Для повышения эффективности виртуализации в Linux реализована функция Kernel SamePage Merging (KVM), объединяющая дубликаты страниц памяти в одну общую страницу.

Linux также предлагает новый уровень виртуализации – вложенную виртуализацию. Вложенность, как следует из названия, позволяет гипервизору управлять другим, гостевым гипервизором, который, в свою очередь, обслуживает гостевые виртуальные машины. Хотя на первый взгляд это довольно странное применение, вложенная виртуализация изменит облачные вычисления и расширит список приложений, которые можно разместить в виртуальной среде. На сегодняшний день вложенная виртуализация поддерживается функцией KVM в Linux.

Экспериментальные платформы

Последней, но не менее важной является сама основа Linux – экспериментальная платформа, которая помогла в изучении и разработке множества новых решений. В 1991 году, спустя 20 лет после выпуска первой версии UNIX®, Linux была представлена как "игрушечная" операционная система. Сегодня Linux является платформой для экспериментов с новыми файловыми системами, кластерами, облачными и виртуальными средами; Linux расширяет рамки применения ядра одной операционной системы . В качестве платформы Linux позволяет ускорить проведение различных экспериментов посредством совместного использования Linux и огромного количества Open Source-компонентов. Результатом этого являются различные интересные технологии, разработанные на базе Linux, включая HP webOS, Google Chrome OS и Android.

Одной из интересных особенностей Linux является независимость от аппаратной платформы. Вне зависимости от аппаратной архитектуры работа пользователей с Linux остается одинаковой. Таким образом, независимо от того, используются ли в облачной среде серверы AMD x86 или компьютеры с низким энергопотреблением на базе ARM, запущенные в Linux приложения абстрагированы от физической архитектуры. Такое абстрагирование позволяет заказчикам выбирать платформу на основе их требований, не привязываясь к широко используемым, но устаревшим и неэффективным архитектурам. Linux помогает сделать правильный выбор.

Linux также является самодостаточной независимой интегрированной средой разработки (DE). Помимо того, что Linux содержит великолепный компилятор toolchain (GNC Compiler Collection), она также содержит широкий набор инструментов, помогающих автоматизировать задачи разработки приложений – это всевозможные отладчики, редакторы, системы контроля версий, файловые утилиты, командные оболочки и интерпретаторы. Обладая такими возможностями, Linux является идеальной средой для разработки и тестирования программного обеспечения (см. раздел Ресурсы.)


Универсальность Linux

Поддержка различных решений, описанных в этой статье, обеспечивается простым включением в состав дистрибутивов Linux различных пакетов. Так, одни дистрибутивы Linux предназначены для использования на десктопах и серверах, а другие – для использования на встраиваемых устройствах (например, если в устройстве отсутствует модуль управления памятью, то для него отлично подойдет дистрибутив uClinux). Любой может взять ядро Linux и добавить к нему необходимый набор пользовательских приложений, подходящих для использования в определенных ситуациях, получая при этом все предлагаемые Linux преимущества (широкий набор сетевых протоколов и файловых систем, настраиваемое динамическое ядро, стандартные API-интерфейсы). Это – одна из причин, по которой самая быстроразвивающаяся платформа смартфонов работает под управлением Linux (с возможностью настройки графического интерфейса для подчеркивания индивидуальности).


Что дальше

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

Ресурсы

  • Оригинал статьи: Look at Linux, the operating system and universal platform (EN).
  • Узнайте больше о внутреннем устройстве Linux из других статей Тима Джонса, опубликованных на developerWorks:
    • Анатомия ядра Linux (M. Тим Джонс, июнь 2007 г.): статья рассказывает об общей структуре ядра Linux, о его основных подсистемах и базовых интерфейсах.
    • Анатомия сетевого стека в Linux (M. Тим Джонс, июнь 2007 г.): статья рассказывает о структуре сетевого стека Linux с точки зрения его уровней, а также рассмотрите некоторые из его основных структур.
    • Анатомия подсистемы SCSI в Linux (M. Тим Джонс, ноябрь 2007 г.): статья посвящена SCSI-подсистеме Linux и ее дальнейшему развитию.
    • Анатомия виртуального коммутатора файловых систем Linux (M. Тим Джонс, август 2009 г.): объясняется, что делает коммутатор виртуальной файловой системы столь мощным инструментом, и описываются основные интерфейсы и процессы..
    • Анатомия гипервизора Linux (M. Тим Джонс, май 2009 г.): статья рассказывает о принципах, лежащих в основе гипервизора, и о его двух конкретных реализация, использующих Linux в качестве платформы (KVM и Lguest).
  • В статье The Surprisingly Juicy Desktop Linux Market Share Report (EN) говорится о постоянном увеличении доли рынка настольных компьютеров с установленной ОС Linux.
  • Linux – популярная тема на developerWorks. Узнайте об архитектуре Linux из статьи Linux Rises on the Mainframe (EN), в которой обсуждаются приложения, которые запускаются на мэйнфреймах, и, в частности, говорится о том, что 25% новых задач на мэйнфреймах выполняются под управлением Linux.
  • Linux доминирует в секторе суперкомпьютеров. Linux установлен на трех последних лидерах суперкомпьютерной гонки (суперкомпьютерах Jaguar Окриджской национальной лаборатории, китайском Tianhe-I и японском Kei), а также на будущем лидере – суперкомпьютере IBM Sequoia.
  • Посетите страницу Википедии о процентном соотношении использования различных операционных систем (EN), в которой рассматриваются различные модели из различных источников.
  • Недавно на сайте InformationWeek (EN) было объявлено о том, что вы не сможете запускать старые приложения на планшетах WOA. Это один из примеров преимущества Linux, поскольку ее открытая модель не ограничивает экосистему приложения.
  • Интересной новой сферой применения Linux является встраиваемое устройство Raspberry Pi (EN). Эта платформа на основе ARM использует GNU/Linux и, как ожидается, будет стоить около $35. Linux является обязательным компонентом встраиваемых устройств, позволяющим обеспечить быстрое включение и разработку приложений.
  • С точки зрения современного рынка труда знание Linux является востребованным навыком (EN). Web-сайт Dice.com и консорциум Linux Foundation опросили более 2000 менеджеров по найму сотрудников, и 81% опрошенных заявили, что приоритетным в 2012 году являлся найм сотрудников с профессиональным знанием Linux. Таким образом, знание Linux становится все более востребованным.
  • Отличная серия блогов Тома Райдера (Tom Ryder) UNIX as IDE (EN) посвящена обсуждению различных аспектов операционной системы UNIX, которые делают ее идеальной средой для разработки.

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Open source
ArticleID=840063
ArticleTitle=Познакомьтесь с Linux – операционной системой и универсальной платформой
publish-date=10112012