Зустрітися з linux - операційною системою і універсальною платформою

Зв'язок з Тімом

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

Що таке Linux?

На перший погляд Linux - це операційна система. Як показано на малюнку 1, Linux складається з ядра (базовий код, керуючий програмними і апаратними ресурсами) і набору призначених для користувача додатків (наприклад, бібліотеки, менеджери вікон і виконувані програми).

Малюнок 1. Linux на перший погляд

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

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

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

Де можна зустріти Linux?

Простіше відповісти на питання, де немає ОС Linux, ніж сказати, де вона є. Завдяки можливостями трансформації і масштабування Linux, її можна зустріти у всіх областях комп'ютерної техніки (іноді навіть в тих, які ще повністю не визначені). У цьому розділі ми розглянемо кілька основних комп'ютерних областей, включаючи десктопи і нетбуки, сервери, кластери, мейнфрейми, суперкомп'ютери, портативні і планшетні пристрої, що вбудовуються, віртуальні і експериментальні платформи (див. Рисунок 2).

Малюнок 2. Атрибути 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, а також зусиль армії досвідчених розробників, які працюють з цією платформою.

мейнфрейми

суперкомп'ютери

Мобільні і планшетні пристрої

У цих пристроях встановлені 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 є незалежність від апаратної платформи. Незалежно від апаратної архітектури робота користувачів з Linux залишається однаковою. Таким чином, незалежно від того, чи використовуються в хмарному середовищі сервери AMD x86 або комп'ютери з низьким енергоспоживанням на базі ARM, запущені в Linux додатки абстраговані від фізичної архітектури. Таке абстрагування дозволяє замовникам вибирати платформу на основі їх вимог, не прив'язуючись до широко використовуваним, але застарілим і неефективним архитектурам. Linux допомагає зробити правильний вибір.

універсальність Linux

Що далі

Якщо порівняти Linux з мостом, то це - сучасне диво інженерної думки. Розподілена модель розробки Linux успішно спростувала стереотипи, що склалися, в результаті чого на світ з'явився один з найбільш гнучких програмних продуктів, створених коли-небудь, який охоплює найрізноманітніші сфери застосування - від крихітних вбудованих пристроїв до величезних суперкомп'ютерів. Linux змінила промисловість і відкрила шлях до передових розробок в області кластерних обчислень, файлових систем, хмарних середовищ і віртуалізації. Як би далі не розвивалися комп'ютерні технології, Linux завжди буде поруч.

Ресурси для скачування

Схожі теми