Главная » Операційні системи » Linux » Як виглядає операційна система linux. Познакомьтесь з Linux - операційною системою і універсальною платформою

Як виглядає операційна система linux. Познакомьтесь з Linux - операційною системою і універсальною платформою

Як виглядає операційна система linux. Познакомьтесь з Linux - операційною системою і універсальною платформою

Зустрітися з Linux, легко адаптується платформою, на основі якої побудовано безліч рішень

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

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

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

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

Що таке Linux?

На перший погляд 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 і пов'язані області

Як виглядає операційна система linux. Познакомьтесь з 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 (з можливістю настройки графічного інтерфейсу для підкреслення індивідуальності).