Ядро Linux — ядро UNIX-подібної операційної системи. Розповсюджується під ліцензією GNU General Public License (GPL), і розробляється людьми з усього світу, що дозволило йому стати одним із найвидатніших прикладів відкритого програмного забезпечення та увійти до числа наймасштабніших проєктів з розробки програмного забезпечення: версія 4.5 мала 21 млн рядків коду, а за 2015 рік до роботи над ним долучилось близько чотирьох тисяч розробників та понад 440 різних організацій.
Tux | |
Системні повідомлення ядра Linux версії 3.0, що завантажується на архітектурі x86 | |
Тип | Ядро операційної системи |
---|---|
Автор | Лінус Торвальдс[1] |
Розробники | Лінус Торвальдс (засновник) та велика спільнота |
Платформа | ARM, Мікроконтролери AVR, Blackfin, DEC Alpha, ETRAX CRIS, Itanium, MIPS, PA-RISC, PowerPC, SPARC, SuperH, TILE64, Unicore, Xtensa, Motorola 68000, (IBM System/390), x86, x86_64, z/Architecture |
Мова програмування | C |
Ліцензія | GNU General Public License лише версії 2 плюс різні ліцензовані блоби |
Репозиторій | git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git |
Вебсайт | www.kernel.org |
|
- Ця стаття про ядро операційної системи. Для отримання інформації про операційні системи, які використовують це ядро, і які також часто називають «Linux», читайте статтю Linux.
Роботу над Лінукс розпочав Лінус Торвальдс у 1991 році. Тим часом, проєкт GNU розробив багато компонентів, необхідних для повноцінної вільної операційної системи, але його власне ядро, GNU Hurd було неповним і незакінченим. Програми проєкту GNU та велика кількість людей, що долучилися до розвитку ядра, сприяли його популяризації та створенню повноцінних операційних систем на базі цього ядра, котрі називають дистрибутивами Лінукс.
Архітектура
Ядро Linux підтримує багатозадачність, віртуальну пам'ять, динамічні бібліотеки, відкладене завантаження, продуктивну систему керування пам'яттю і багато мережних протоколів.
Linux — монолітне ядро з підтримкою завантажуваних модулів. Драйвери пристроїв і розширення ядра зазвичай запускаються на «кільці 0», з повним доступом до устаткування. На відміну від звичайних монолітних ядер, у ядрі Лінукс драйвери пристроїв легко збираються у вигляді модулів і завантажуються або вивантажуються під час роботи системи.
Те, що архітектура Linux не є мікроядерною, викликало дебати між Лінусом Торвальдсом і Ендрю Таненбаумом на конференції comp.os.minix
Структура
Операційну систему можна умовно розділити на два рівні.
На верхньому рівні розташований користувацький простір (простір виконування прикладних програм). Тут виконуються застосунки користувача. Під призначеним для користувача простором розташовується простір ядра. Тут функціонує ядро Linux.
Є також бібліотека GNU C (glibc). Вона надає інтерфейс системних викликів, який забезпечує зв'язок з ядром і дає механізм для переходу від програми, що працює в просторі користувача, до ядра. Це важливо, оскільки ядро і програма користувача розташовуються в різних захищених адресних просторах. При цьому, тоді як кожен процес в просторі користувача має свій власний віртуальний адресний простір, ядро займає один загальний адресний простір.
Ядро Linux можна, своєю чергою, розділити на три великі рівні. Вгорі розташовується інтерфейс системних викликів, який реалізує базові функції, наприклад, читання і запис. Нижче за інтерфейс системних викликів розташовується код ядра, точніше кажучи, незалежний код ядра. Цей код є загальним для всіх процесорних архітектур, підтримуваних Linux. Ще нижче розташовується архітектурно-залежний код, що утворює так званий BSP ( — пакет підтримки апаратної платформи). Цей код залежить від процесора і платформи для конкретної архітектури.
Ядро по суті є диспетчером ресурсів. Незалежно від того, що є керованим ресурсом — процес, пам'ять чи апаратний пристрій, — ядро організовує й упорядковує доступ до ресурсу безлічі конкуруючих користувачів (як у просторі ядра, так і в просторі користувача).
Властивості ядра Linux
У ядрі Linux реалізована ціла низка важливих архітектурних елементів. І на найзагальнішому, і на детальніших рівнях ядро можна підрозділити на безліч різних підсистем. З іншого боку, Linux можна розглядати як монолітне ціле, оскільки всі базові сервіси зібрані в ядрі системи. Такий підхід відрізняється від архітектури з мікроядром, коли ядро надає тільки найзагальніші сервіси, такі як обмін інформацією, (ввід/вивід), управління пам'яттю і процесами, а конкретніші сервіси реалізуються в модулях, що підключаються до рівня мікроядра.
З часом ядро Linux стало ефективнішим з погляду використання пам'яті і процесорних ресурсів і набуло виняткової стабільності. Важливий аспект Linux, враховуючи розмір і складність цієї системи — це її переносимість. Linux можна відкомпілювати для величезної кількості різних процесорів і платформ, що мають різні архітектурні обмеження і потреби. Наприклад, Linux може працювати на процесорі як з блоком керування пам'яттю (MMU), так і без нього. Підтримка процесорів без MMU реалізована у версії ядра .
Інтерфейс системних викликів
Інтерфейс системних викликів (SCI) — це тонкий рівень, що надає засоби для виклику функцій ядра з простору користувача. Цей інтерфейс може бути архітектурно залежним, навіть в межах одного процесорного сімейства. SCI фактично є службою мультиплексування і демультиплексування виклику функцій. Реалізація SCI міститься в у підкаталозі kernel, а архітектурно-залежна частина — у підкаталозі arch.
Механізм обробки системних викликів (перехід від простору користувача до простору ядра) відрізняється для різних процесорних архітектур, і може навіть бути різним у межах однієї архітектури (наприклад, механізми шлюзів виклику, int 80h
, SYSENTER
і SYSCALL
для x86).
Керування процесами
Керування процесами сконцентроване на виконанні процесів. У ядрі ці процеси називаються нитками (англ. threads); вони відповідають окремим віртуалізованим об'єктам процесора (код ниті, дані, стек, процесорні регістри). У просторі користувача зазвичай використовується термін процес, хоча в реалізації Linux ці дві концепції (процеси і ниті) не розрізняють. Ядро надає прикладний програмний інтерфейс (API) через SCI для створення нового процесу (породження копії, запуску на виконання, виклику функцій Portable Operating System Interface POSIX), зупинки процесу (kill, exit), взаємодії і синхронізації між процесами (сигнали або механізми POSIX).
Ще одне завдання керування процесами — сумісне використання процесора активними нитями. У ядрі реалізований новаторський алгоритм планувальника, час роботи якого не залежить від числа нитей, що претендують на ресурси процесора. Назва цього планувальника — O(1) — підкреслює, що на диспетчеризацію одної ниті витрачається стільки ж часу, як і на множину нитей. Планувальник O(1) також підтримує симетричні багатопроцесорні конфігурації (SMP).
Керування пам'яттю
Інший важливий ресурс, яким керує ядро, — це оперативна пам'ять. Для підвищення ефективності, враховуючи механізм роботи апаратних засобів з віртуальною пам'яттю, пам'ять організовується у вигляді так званих сторінок фіксованого розміру. У Linux є засоби для керування наявною пам'яттю, а також апаратними механізмами для встановлення відповідності між фізичною і віртуальною пам'яттю.
На базі сторінкової пам'яті у ядрі Linux збудовано різні механізми виділення і звільнення блоків пам'яті, такі як [en], [en] і [en]. Після виділення сторінок ядро розміщує структури усередині них, стежачи за тим, які сторінки повні, які частково заповнені і які порожні. Це дозволяє динамічно розширювати і скорочувати схему залежно від потреб розміщеної системи.[]
В умовах наявності великого числа користувачів у пам'яті можливі ситуації, коли вся наявна пам'ять буде вичерпана. Через це сторінки можна видаляти з пам'яті і переносити на диск. Цей процес обміну сторінок між оперативною пам'яттю і твердим диском називається підкачуванням, або свопінгом.
Віртуальна файлова система
Ще один важливий аспект ядра Linux — віртуальна файлова система (VFS), яка надає загальну абстракцію інтерфейсу до файлових систем. VFS надає рівень комутації між SCI і файловими системами, підтримуваними ядром. На верхньому рівні VFS розташовується єдина API-абстракція таких функцій, як відкриття, закриття, читання і запис файлів. На нижньому рівні VFS розташовані абстракції файлових систем, які визначають, як реалізуються функції верхнього рівня. Вони є модулями, що підключаються, для конкретних файлових систем (яких існує більше 50).
Нижче за рівень файлової системи міститься кеш буферів, що надає загальний набір функцій до рівня файлової системи (незалежний від конкретної файлової системи). Цей рівень кешування оптимізує доступ до фізичних пристроїв за рахунок короткострокового зберігання даних (або попереджувального читання, що забезпечує готовність даних до того моменту, коли вони знадобляться). Нижче за кеш буферів містяться драйвери пристроїв, що реалізовують інтерфейси для конкретних фізичних пристроїв.
Мережевий стек
Мережевий стек за своєю конструкцією має багаторівневу архітектуру, що повторює структуру самих протоколів. Протокол Internet Protocol (IP) — це базовий протокол мережевого рівня, розташований нижче за транспортний протокол (Transmission Control Protocol, TCP). Вище TCP розташований рівень сокетів, що викликається через SCI.
Рівень сокетів є стандартним API до мережевої підсистеми. Він надає користувацький інтерфейс до різних мережевих протоколів. Рівень сокетів реалізує стандартизований спосіб управління з'єднаннями і передачі даних між кінцевими точками, від доступу до «чистих» кадрів даних і блоків даних протоколу IP () і до протоколів TCP і User Datagram Protocol (UDP).
Графічний стек
Цей розділ потребує доповнення. (березень 2020) |
Драйвери пристроїв
Переважна більшість початкового коду ядра Linux припадає на драйвери пристроїв, що забезпечують можливість роботи з конкретними апаратними пристроями. У дереві початкових кодів Linux є підкаталог драйверів, в якому, своєю чергою, є підкаталоги для різних типів підтримуваних пристроїв, таких як Bluetooth, I2C, послідовні порти тощо.
Архітектурно-залежний код
Хоча основна частина Linux незалежна від архітектури, на якій працює операційна система, в деяких елементах для забезпечення нормальної роботи і підвищення ефективності необхідно враховувати архітектуру.
Відмінності від Unix
- Ядро Linux підтримує динамічне завантаження модулів ядра. Хоча ядро Linux і є монолітним, воно додатково підтримує динамічне завантаження і вивантаження виконуваного коду ядра за потреби
- Ядро Linux підтримує симетричну багатопроцесорну обробку (SMP). Хоча більшість комерційних варіантів операційної системи Unix зараз підтримують SMP, більшість традиційних реалізацій ОС Unix такої підтримки не мають.
- Ядро Linux підтримує витискальну багатозадачність, у тому числі для потоків виконання ядра. Серед комерційних реалізацій ОС Unix преемптивне ядро мають тільки операційні системи Solaris і IRIX.[]
- У ядрі Linux використовується цікавий підхід для підтримки багатонитковості (multithreading): нитки нічим не відрізняються від звичайних процесів. З погляду ядра всі процеси однакові, просто деякі з них мають спільні ресурси.
- У ядрі Linux відсутні деякі функції ОС Unix, які вважаються погано реалізованими, як, наприклад, підтримка інтерфейсу STREAMS, або відповідають «недолугим» стандартам.
- Ядро Linux є повністю відкритим у повному розумінні цього слова. Набір функцій, реалізованих в ядрі Linux, — це результат вільної і відкритої моделі розробки операційної системи Linux. Якщо якась функція ядра вважається несуттєвою або неякісною, то розробники ядра не зобов'язані її реалізувати. В протилежність цьому, внесення змін при розробці ядра Linux займає «елітарну» позицію: зміни повинні вирішувати певну практичну задачу, повинні бути логічними і мати зрозумілу чітку реалізацію. Отже, функції деяких сучасних варіантів ОС Unix, такі як пам'ять ядра зі сторінковою реалізацією, не були реалізовані.[]
Попри наявні відмінності, Linux є операційною системою зі строгим спадкоємством традицій ОС Unix.
Ліцензія
Linux розповсюджується на умовах ліцензії GNU General Public License (виключно версії 2), тобто вільно. Цю ліцензію вибрав Лінус Торвальдс практично відразу після того, як стало зрозуміло, що його хобі почало набувати поширення по всьому світу. Власником торгової марки Linux™ є Лінус, а допомагає стежити за дотриманням його прав і умов організація Linux Mark Institute.
Історія
квітень 1991 | 21 річний Лінус Торвальдс розпочинає роботу над планувальником задач операційної системи для роботи на комп'ютерах з процесорами i386. | |
25 серпня 1991 | Лінус повідомляє про свою працю у comp.os.minix. Працюють bash(1.08) та gcc(1.40) | |
17 вересня 1991 | Linux 0.01. | 10,239 рядків коду. |
Жовтень 1991 | Linux 0.02 | |
Грудень 1991 | Linux 0.11. Перша версія, у якій можна скомпілювати її саму. | |
19 січня 1992 | Перше повідомлення в alt.os.linux | |
31 березня 1992 | створення групи новин comp.os.linux | |
Квітень 1992 | Linux 0.96, вперше запускається X Window System. | |
Весь 1993, і початок 1994 | 15 версій 0.99.* | |
14 березня 1994 | Linux 1.0.0. Стабільна версія | 176,250 рядків коду. |
Березень 1995 | Linux 1.2.0. З'явилась підтримка Alpha, SPARC і MIPS | 310,950 рядків коду. |
9 травня 1996 | Пінгвін Tux вибраний логотипом Лінукс | |
9 червня 1996 | Linux 2.0.0. Багатопроцесорність, SMP | 777,956 рядків коду. |
25 січня 1999 | Linux 2.2.0. | 1,800,847 рядків коду. |
4 січня 2001 | Linux 2.4.0 | 3,377,902 рядків коду. |
18 грудня 2003 | Linux 2.6.0 | 5,929,913 рядків коду. |
Відмітка в 10 млн рядків була пройдена у кінці 2008 року, при випуску ядра 2.6.27.
Ядро 3.3, що вийшло у березні 2012, подолало черговий рубіж — розмір сирцевого коду ядра перевищив відмітку в 15 млн рядків. При цьому 5.6 млн рядків доводиться на драйвери, 1.8 млн на специфічний для апаратної архітектури код, 700 тисяч на файлові системи, 533 тисяч на звукову підсистему, 493 тисяч на мережевий стек. 97.22 % кода ядра написано мовою Сі, 2.47 % на асемблері, 0.15 % на Perl і 0.04 % на Shell.
Зміна політики нумерації версій ядра Linux
30 травня 2011 Лінус Торвальдс випустив ядро версії 3.0-rc1. Разом з ним змінено політику нумерації версій ядра. Скасовано використання парних / непарних номерів для позначення стабільності ядра, а третє число означає стабілізацію ядра. Версія 3.0 не містить значних змін, крім нової політики нумерації ядра. Таким чином, стабільні версії ядра 3.0 іменуються 3.0.X, а наступний після цього реліз має номер 3.1.
Нові версії виходять приблизно що два місяці. Після випуску версії 3.19 Лінус Торвальдс випустив ядро версії 4.0 12 квітня 2015 року. Версія 5.0 вийшла 2019-го року.
Хто створює ядро Linux
Linux — складна система, що може включати тисячі різних пакунків, від найпоширеніших, таких, як утиліти GNU, X.org, графічні середовища GNOME і KDE, до специфічних для якогось одного з дистрибутивів. Команди розробників кожного проєкту відрізняються чисельністю, підходом до роботи, використовуваними інструментами і методами планування робіт. При цьому ядро Linux займає особливе місце серед всіх інших застосувань. Від нього залежить можливість роботи системи Linux на різних апаратних платформах і ступінь підтримки різних пристроїв. Тому характеристики процесу його розробки можуть, якоюсь мірою, служити індикатором для всієї системи Linux.
Linux Foundation провело дослідження, що охоплює трирічний період розробки ядра (від версії 2.6.11 до версії 2.6.24) і фокусується на таких характеристиках, як частота релізів і змін, розмір початкових текстів ядра, і найголовніше, дозволяє отримати уявлення про тих, хто зрештою розробляє ядро Linux.
Статистика показує, що, в середньому, кожен новий реліз ядра виходить раз на 2,5 — 3 місяці (60 — 110 днів). В першу чергу це пов'язано з вибраною в 2005 р. моделлю розробки, направленою на зведення до мінімуму тривалості проміжків між розробкою нових функцій, появою підтримки нових пристроїв і включенням їх в ядро; а також що зводить до мінімуму потребу творців дистрибутивів в модифікаціях ядра.
При цьому число латок (патчів), що вносяться до ядра, має тенденцію до зростання. Зводячи воєдино ці дві характеристики, можна відзначити, що, в середньому, до ядра вноситься 2,83 патча за годину, при цьому, в рядках коду щодня в ядро додається понад 3 тис. рядків, більше 1,4 тис. рядків модифікується. Число розробників, що взяли участь у випуску версії 2.6.24, більш ніж вдвічі перевищило цей показник для версії 2.6.11 і склало 1057 осіб.
При цьому, проте, всього 10 провідних розробників спільно внесли майже 15 % змін, а 30 провідних розробників — 30 %. Це, проте, не означає, що поширене в деяких кругах уявлення про Linux як про систему, що розробляється аматорами, правильне. Не зважаючи, що далеко не у всіх компаній, що займаються вільним ПЗ, є необхідність вносити зміни до ядра, числа компаній, що беруть участь в його розробці, росте. Чотири найбільші компанії-розробники ядра — Red Hat, Novell, IBM і Intel — внесли більше 32 % зроблених за час дослідження змін, а сумарний відсоток змін в ядро, внесених розробниками, що працюють на компанії, склав більше 70 %.
При цьому серед компаній, що беруть участь в розробці ядра, виділяється декілька груп по основній меті участі в розробці. Це група компаній, що включає IBM, Intel, HP, SGI, MIPS та інших, яка орієнтується в основному на підтримку роботи Linux на власному устаткуванні. Дистриб'ютори, такі, як Red Hat,, Novell, MontaVista мають на меті додавання в ядро можливостей, на які існує попит серед користувачів, і які підсилюють конкурентоспроможність дистрибутивів як кінцевих продуктів. Такі компанії, як Sony, Nokia, Samsung працюють над ядром для поліпшення роботи систем на базі ядра Linux у власних пристроях.
Назва компанії | Кількість змін | % від загального числа змін |
---|---|---|
Приватні користувачі | 11,594 | 13.9% |
Назва не визначена | 10,803 | 12.9% |
Red Hat | 9,351 | 11.2% |
Novell | 7,385 | 8.9% |
IBM | 6,952 | 8.3% |
Intel | 3,388 | 4.1% |
Linux Foundation | 2,160 | 2.6% |
2,055 | 2.5% | |
SGI | 1,649 | 2.0% |
1,341 | 1.6% | |
Oracle | 1,122 | 1.3% |
1,010 | 1.2% | |
965 | 1.1% | |
817 | 1.0% | |
HP | 765 | 0.9% |
NetApp | 764 | 0.9% |
762 | 0.9% | |
759 | 0.9% | |
Freescale | 730 | 0.9% |
715 | 0.9% | |
Academia | 656 | 0.8% |
Cisco | 442 | 0.5% |
437 | 0.5% | |
434 | 0.5% | |
QLogic | 398 | 0.5% |
Fujitsu | 389 | 0.5% |
Broadcom | 385 | 0.5% |
Analog Devices | 358 | 0.4% |
Mandriva | 329 | 0.4% |
294 | 0.4% | |
285 | 0.3% |
Таким чином, з дослідження Linux Foundation можна зробити висновок, що ядро Linux є безпрецедентним прикладом успішної співпраці різних за розміром і вироблюваною продукцією компаній і індивідуальних розробників. Кількість цих розробників і розподіл їхнього внеску в розробку може служити, в деякому розумінні, гарантією стабільності і незалежності розробки.
Також доступні новіші версії статистики для ядер 2.6.30 та 2.6.33(англ.).
Критика
Під час круглого столу на конференції LinuxCon 2009 року в США Лінус Торвальдс назвав ядро операційної системи Linux, створене ним 18 років тому, «роздутим і величезним» («bloated and huge»). З появою в ядрі кожної нової функції ситуація тільки погіршується, і в цей час співтовариство не має в своєму розпорядженні плану з виправлення ситуації. Але сама ситуація неминуча внаслідок необхідності додавання нових функцій і підтримки великої кількості пристроїв.
Згідно з внутрішнім дослідженням Intel, продуктивність Linux падає на два відсотки з кожним новим релізом — загальне зниження продуктивності за останні десять релізів досягло 12 відсотків.
Перша версія ядра Linux включала в себе приблизно 10 тисяч рядків коду, для версії 3.3 розмір ядра перевалив уже за 15 мільйонів рядків.
В інтерв'ю німецькому виданню Zeit Лінус Торвальдс висловив свої побоювання через стрімке ускладнення ядра Linux. Ситуацію, коли якусь підсистему ОС здатні розуміти лише кілька людей зі всього співтовариства, Лінус вважає неприпустимою: «Іноді просто для того, щоб зрозуміти, через що проявляється якась помилка — ми витрачаємо кілька днів, щоб знайти потрібного фахівця». Крім того, Лінус каже, що він тепер не знає тих тисяч розробників, що працюють над ядром, оскільки особисто контактує не більше, ніж з 50 провідними розробниками різних підсистем. При цьому він зізнається, що по-справжньому він довіряє лише кільком із них. Така система роботи склалася стихійно, і Лінус називає її «мережею взаємодії, побудованою на довірі» (Лінус довіряє кільком основним ментейнерам, які, своєю чергою, довіряють розробникам, котрі розвивають їхні підсистеми).
Примітки
- The Linux Kernel Open Source Project on Open Hub: Languages Page
- InfoWorld. Linux creator Torvalds still no fan of GPLv3. Архів оригіналу за 23 червня 2013. Процитовано 11 жовтня 2008.
- The Linux kernel is provided under: (англ.).
- Stallman, Richard (11 жовтня 2006). Linux, GNU, and freedom. Free Software Foundation. Архів оригіналу за 23 червня 2013. Процитовано 21 лютого 2007.
- September 25, 2006 e-mail by Linus Torvalds: Linux is open source, not free software. Архів оригіналу за 23 червня 2013. Процитовано 19 грудня 2006.
- Swapnil Bhartiya (12 травня 2016). . CIO. Архів оригіналу за 28 травня 2016. Процитовано 30 травня 2016.
- (англ.). 1992. Архів оригіналу за 3 жовтня 2012. Процитовано 14 травня 2019.
- Deucher, Alex (7 жовтня 2014). AMD's New Unified Open Source Driver. X.Org Foundation. Процитовано 21 січня 2015.
- GNU GENERAL PUBLIC LICENSE, Version 2 (англ.). Free Software Foundation. June 1991.
- http://groups.google.com/groups?selm=1991Aug25.205708.9541%40klaava.Helsinki.FI&output=gplain
- http://groups.google.com/groups?selm=1991Oct5.054106.4647%40klaava.Helsinki.FI&output=gplain
- http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=1992Jan19.085628.18752%40cseg01.uark.edu
- http://groups.google.com/groups?selm=1992Mar31.131811.19832%40rock.concert.net&output=gplain
- . Архів оригіналу за 18 листопада 2005. Процитовано 17 травня 2005.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - http://linuxtoday.com/news_story.php3?ltsn=2001-01-05-007-04-NW-LF-KN
- . Архів оригіналу за 16 липня 2003. Процитовано 17 травня 2005.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - Релиз ядра Linux 3.3. Обзор новшеств
- . Архів оригіналу за 5 квітня 2008. Процитовано 26 листопада 2008.
- http://lwn.net/Articles/334721/
- http://lwn.net/Articles/373405/
- Linus calls Linux 'bloated and huge' — The Register, 22.09.2009
- «Linux ist zu komplex geworden». Linus Torvalds, der Erfinder des freien Betriebssystems, fürchtet, dass irgendwann kein Entwickler mehr Linux versteht. Es müsse simpler werden, sagt er im Interview.
- Линус Торвальдс выразил опасения в связи со стремительным усложнением ядра Linux
Література
- Торвальдс, Лінус; Даймонд, Давид (2001). Тільки для втіхи: Історія невмисного революціонера. HarperBusiness. (тверда обкладинка); HarperAudio . (аудіо плівка, скорочена ред., прочитана Давидом Даймондом) — біля витоків ядра Лінукс
- [1], Nikolai Bezroukov. Portraits of Open Source Pioneers. Ch 4: A benevolent dictator (Softpanorama e-book).
- LinkSys and binary modules. LWN.net Weekly Edition. 16 жовтня 2003. Архів оригіналу за 23 червня 2013. Процитовано 19 грудня 2006.
- FreeBSD/Linux kernel source code cross-reference. Browsable Linux (and other operating system) kernel source cross-reference.
- . Browsable Linux kernel source.
- KernelHQ — a browsable kernel source tree — with all versions present, and with browsable diffs
- M. Tim Jones. Anatomy of the Linux kernel: History and architectural decomposition
- M. Tim Jones. Kernel command using Linux system calls
- Inside the Linux scheduler
- Роберт Лав. Разработка ядра Linux.
Див. також
- Об'єднане ядро Linux
- Kernel Panic (операційні системи)
- 9885 Linux — астероїд, названий на честь ядра Linux
Посилання
- Проєкт інтернаціоналізації та локалізації ядра Linux сімейства 2.6(англ.)
- Linux News | Ядро (Kernel)(рос.)
- Отчет Linux Foundation с анализом тенденций в разработке Linux-ядра 2010
- Інтерактивна мапа ядра Linux
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Yadro Linux yadro UNIX podibnoyi operacijnoyi sistemi Rozpovsyudzhuyetsya pid licenziyeyu GNU General Public License GPL i rozroblyayetsya lyudmi z usogo svitu sho dozvolilo jomu stati odnim iz najvidatnishih prikladiv vidkritogo programnogo zabezpechennya ta uvijti do chisla najmasshtabnishih proyektiv z rozrobki programnogo zabezpechennya versiya 4 5 mala 21 mln ryadkiv kodu a za 2015 rik do roboti nad nim doluchilos blizko chotiroh tisyach rozrobnikiv ta ponad 440 riznih organizacij LinuxTuxSistemni povidomlennya yadra Linux versiyi 3 0 sho zavantazhuyetsya na arhitekturi x86TipYadro operacijnoyi sistemiAvtorLinus Torvalds 1 RozrobnikiLinus Torvalds zasnovnik ta velika spilnotaPlatformaARM Mikrokontroleri AVR Blackfin DEC Alpha ETRAX CRIS Itanium MIPS PA RISC PowerPC SPARC SuperH TILE64 Unicore Xtensa Motorola 68000 IBM System 390 x86 x86 64 z ArchitectureMova programuvannyaCLicenziyaGNU General Public License lishe versiyi 2 plyus rizni licenzovani blobiRepozitorijgit kernel org pub scm linux kernel git torvalds linux gitVebsajtwww kernel org Mediafajli u Vikishovishi Yadro Linuks pracyuye na shirokomu koli aparatnih platform na jogo osnovi stvoreni yak produkti iz zakritimi pochatkovimi kodami tak i vidkritimi Cya stattya pro yadro operacijnoyi sistemi Dlya otrimannya informaciyi pro operacijni sistemi yaki vikoristovuyut ce yadro i yaki takozh chasto nazivayut Linux chitajte stattyu Linux Robotu nad Linuks rozpochav Linus Torvalds u 1991 roci Tim chasom proyekt GNU rozrobiv bagato komponentiv neobhidnih dlya povnocinnoyi vilnoyi operacijnoyi sistemi ale jogo vlasne yadro GNU Hurd bulo nepovnim i nezakinchenim Programi proyektu GNU ta velika kilkist lyudej sho doluchilisya do rozvitku yadra spriyali jogo populyarizaciyi ta stvorennyu povnocinnih operacijnih sistem na bazi cogo yadra kotri nazivayut distributivami Linuks ArhitekturaYadro Linux pidtrimuye bagatozadachnist virtualnu pam yat dinamichni biblioteki vidkladene zavantazhennya produktivnu sistemu keruvannya pam yattyu i bagato merezhnih protokoliv Linux monolitne yadro z pidtrimkoyu zavantazhuvanih moduliv Drajveri pristroyiv i rozshirennya yadra zazvichaj zapuskayutsya na kilci 0 z povnim dostupom do ustatkuvannya Na vidminu vid zvichajnih monolitnih yader u yadri Linuks drajveri pristroyiv legko zbirayutsya u viglyadi moduliv i zavantazhuyutsya abo vivantazhuyutsya pid chas roboti sistemi Te sho arhitektura Linux ne ye mikroyadernoyu viklikalo debati mizh Linusom Torvaldsom i Endryu Tanenbaumom na konferenciyi comp os minix Struktura Operacijnu sistemu mozhna umovno rozdiliti na dva rivni Na verhnomu rivni roztashovanij koristuvackij prostir prostir vikonuvannya prikladnih program Tut vikonuyutsya zastosunki koristuvacha Pid priznachenim dlya koristuvacha prostorom roztashovuyetsya prostir yadra Tut funkcionuye yadro Linux Ye takozh biblioteka GNU C glibc Vona nadaye interfejs sistemnih viklikiv yakij zabezpechuye zv yazok z yadrom i daye mehanizm dlya perehodu vid programi sho pracyuye v prostori koristuvacha do yadra Ce vazhlivo oskilki yadro i programa koristuvacha roztashovuyutsya v riznih zahishenih adresnih prostorah Pri comu todi yak kozhen proces v prostori koristuvacha maye svij vlasnij virtualnij adresnij prostir yadro zajmaye odin zagalnij adresnij prostir Yadro Linux mozhna svoyeyu chergoyu rozdiliti na tri veliki rivni Vgori roztashovuyetsya interfejs sistemnih viklikiv yakij realizuye bazovi funkciyi napriklad chitannya i zapis Nizhche za interfejs sistemnih viklikiv roztashovuyetsya kod yadra tochnishe kazhuchi nezalezhnij kod yadra Cej kod ye zagalnim dlya vsih procesornih arhitektur pidtrimuvanih Linux She nizhche roztashovuyetsya arhitekturno zalezhnij kod sho utvoryuye tak zvanij BSP paket pidtrimki aparatnoyi platformi Cej kod zalezhit vid procesora i platformi dlya konkretnoyi arhitekturi Yadro po suti ye dispetcherom resursiv Nezalezhno vid togo sho ye kerovanim resursom proces pam yat chi aparatnij pristrij yadro organizovuye j uporyadkovuye dostup do resursu bezlichi konkuruyuchih koristuvachiv yak u prostori yadra tak i v prostori koristuvacha Vlastivosti yadra Linux U yadri Linux realizovana cila nizka vazhlivih arhitekturnih elementiv I na najzagalnishomu i na detalnishih rivnyah yadro mozhna pidrozdiliti na bezlich riznih pidsistem Z inshogo boku Linux mozhna rozglyadati yak monolitne cile oskilki vsi bazovi servisi zibrani v yadri sistemi Takij pidhid vidriznyayetsya vid arhitekturi z mikroyadrom koli yadro nadaye tilki najzagalnishi servisi taki yak obmin informaciyeyu vvid vivid upravlinnya pam yattyu i procesami a konkretnishi servisi realizuyutsya v modulyah sho pidklyuchayutsya do rivnya mikroyadra Z chasom yadro Linux stalo efektivnishim z poglyadu vikoristannya pam yati i procesornih resursiv i nabulo vinyatkovoyi stabilnosti Vazhlivij aspekt Linux vrahovuyuchi rozmir i skladnist ciyeyi sistemi ce yiyi perenosimist Linux mozhna vidkompilyuvati dlya velicheznoyi kilkosti riznih procesoriv i platform sho mayut rizni arhitekturni obmezhennya i potrebi Napriklad Linux mozhe pracyuvati na procesori yak z blokom keruvannya pam yattyu MMU tak i bez nogo Pidtrimka procesoriv bez MMU realizovana u versiyi yadra Interfejs sistemnih viklikiv Interfejs sistemnih viklikiv SCI ce tonkij riven sho nadaye zasobi dlya vikliku funkcij yadra z prostoru koristuvacha Cej interfejs mozhe buti arhitekturno zalezhnim navit v mezhah odnogo procesornogo simejstva SCI faktichno ye sluzhboyu multipleksuvannya i demultipleksuvannya vikliku funkcij Realizaciya SCI mistitsya v u pidkatalozi kernel a arhitekturno zalezhna chastina u pidkatalozi arch Mehanizm obrobki sistemnih viklikiv perehid vid prostoru koristuvacha do prostoru yadra vidriznyayetsya dlya riznih procesornih arhitektur i mozhe navit buti riznim u mezhah odniyeyi arhitekturi napriklad mehanizmi shlyuziv vikliku int 80h SYSENTER i SYSCALL dlya x86 Keruvannya procesami Keruvannya procesami skoncentrovane na vikonanni procesiv U yadri ci procesi nazivayutsya nitkami angl threads voni vidpovidayut okremim virtualizovanim ob yektam procesora kod niti dani stek procesorni registri U prostori koristuvacha zazvichaj vikoristovuyetsya termin proces hocha v realizaciyi Linux ci dvi koncepciyi procesi i niti ne rozriznyayut Yadro nadaye prikladnij programnij interfejs API cherez SCI dlya stvorennya novogo procesu porodzhennya kopiyi zapusku na vikonannya vikliku funkcij Portable Operating System Interface POSIX zupinki procesu kill exit vzayemodiyi i sinhronizaciyi mizh procesami signali abo mehanizmi POSIX She odne zavdannya keruvannya procesami sumisne vikoristannya procesora aktivnimi nityami U yadri realizovanij novatorskij algoritm planuvalnika chas roboti yakogo ne zalezhit vid chisla nitej sho pretenduyut na resursi procesora Nazva cogo planuvalnika O 1 pidkreslyuye sho na dispetcherizaciyu odnoyi niti vitrachayetsya stilki zh chasu yak i na mnozhinu nitej Planuvalnik O 1 takozh pidtrimuye simetrichni bagatoprocesorni konfiguraciyi SMP Keruvannya pam yattyu Inshij vazhlivij resurs yakim keruye yadro ce operativna pam yat Dlya pidvishennya efektivnosti vrahovuyuchi mehanizm roboti aparatnih zasobiv z virtualnoyu pam yattyu pam yat organizovuyetsya u viglyadi tak zvanih storinok fiksovanogo rozmiru U Linux ye zasobi dlya keruvannya nayavnoyu pam yattyu a takozh aparatnimi mehanizmami dlya vstanovlennya vidpovidnosti mizh fizichnoyu i virtualnoyu pam yattyu Na bazi storinkovoyi pam yati u yadri Linux zbudovano rizni mehanizmi vidilennya i zvilnennya blokiv pam yati taki yak en en i en Pislya vidilennya storinok yadro rozmishuye strukturi useredini nih stezhachi za tim yaki storinki povni yaki chastkovo zapovneni i yaki porozhni Ce dozvolyaye dinamichno rozshiryuvati i skorochuvati shemu zalezhno vid potreb rozmishenoyi sistemi dzherelo V umovah nayavnosti velikogo chisla koristuvachiv u pam yati mozhlivi situaciyi koli vsya nayavna pam yat bude vicherpana Cherez ce storinki mozhna vidalyati z pam yati i perenositi na disk Cej proces obminu storinok mizh operativnoyu pam yattyu i tverdim diskom nazivayetsya pidkachuvannyam abo svopingom Virtualna fajlova sistema She odin vazhlivij aspekt yadra Linux virtualna fajlova sistema VFS yaka nadaye zagalnu abstrakciyu interfejsu do fajlovih sistem VFS nadaye riven komutaciyi mizh SCI i fajlovimi sistemami pidtrimuvanimi yadrom Na verhnomu rivni VFS roztashovuyetsya yedina API abstrakciya takih funkcij yak vidkrittya zakrittya chitannya i zapis fajliv Na nizhnomu rivni VFS roztashovani abstrakciyi fajlovih sistem yaki viznachayut yak realizuyutsya funkciyi verhnogo rivnya Voni ye modulyami sho pidklyuchayutsya dlya konkretnih fajlovih sistem yakih isnuye bilshe 50 Nizhche za riven fajlovoyi sistemi mistitsya kesh buferiv sho nadaye zagalnij nabir funkcij do rivnya fajlovoyi sistemi nezalezhnij vid konkretnoyi fajlovoyi sistemi Cej riven keshuvannya optimizuye dostup do fizichnih pristroyiv za rahunok korotkostrokovogo zberigannya danih abo poperedzhuvalnogo chitannya sho zabezpechuye gotovnist danih do togo momentu koli voni znadoblyatsya Nizhche za kesh buferiv mistyatsya drajveri pristroyiv sho realizovuyut interfejsi dlya konkretnih fizichnih pristroyiv Merezhevij stek Merezhevij stek za svoyeyu konstrukciyeyu maye bagatorivnevu arhitekturu sho povtoryuye strukturu samih protokoliv Protokol Internet Protocol IP ce bazovij protokol merezhevogo rivnya roztashovanij nizhche za transportnij protokol Transmission Control Protocol TCP Vishe TCP roztashovanij riven soketiv sho viklikayetsya cherez SCI Riven soketiv ye standartnim API do merezhevoyi pidsistemi Vin nadaye koristuvackij interfejs do riznih merezhevih protokoliv Riven soketiv realizuye standartizovanij sposib upravlinnya z yednannyami i peredachi danih mizh kincevimi tochkami vid dostupu do chistih kadriv danih i blokiv danih protokolu IP i do protokoliv TCP i User Datagram Protocol UDP Grafichnij stek Na konferenciyi XDC2014 Aleks Dojcher z AMD anonsuvav unifikovanu arhitekturu grafichnogo drajvera yadra Propriyetarnij grafichnij drajver vikoristovuye tu zh samu infrastrukturu dlya Mesa 3D Cherez te sho ABI yadra nestabilnij AMD povinna bula postijno adaptuvati blob vikoristovuvanij drajverom Catalyst Cej rozdil potrebuye dopovnennya berezen 2020 Drajveri pristroyiv Perevazhna bilshist pochatkovogo kodu yadra Linux pripadaye na drajveri pristroyiv sho zabezpechuyut mozhlivist roboti z konkretnimi aparatnimi pristroyami U derevi pochatkovih kodiv Linux ye pidkatalog drajveriv v yakomu svoyeyu chergoyu ye pidkatalogi dlya riznih tipiv pidtrimuvanih pristroyiv takih yak Bluetooth I2C poslidovni porti tosho Arhitekturno zalezhnij kod Hocha osnovna chastina Linux nezalezhna vid arhitekturi na yakij pracyuye operacijna sistema v deyakih elementah dlya zabezpechennya normalnoyi roboti i pidvishennya efektivnosti neobhidno vrahovuvati arhitekturu Vidminnosti vid UnixYadro Linux pidtrimuye dinamichne zavantazhennya moduliv yadra Hocha yadro Linux i ye monolitnim vono dodatkovo pidtrimuye dinamichne zavantazhennya i vivantazhennya vikonuvanogo kodu yadra za potrebi Yadro Linux pidtrimuye simetrichnu bagatoprocesornu obrobku SMP Hocha bilshist komercijnih variantiv operacijnoyi sistemi Unix zaraz pidtrimuyut SMP bilshist tradicijnih realizacij OS Unix takoyi pidtrimki ne mayut Yadro Linux pidtrimuye vitiskalnu bagatozadachnist u tomu chisli dlya potokiv vikonannya yadra Sered komercijnih realizacij OS Unix preemptivne yadro mayut tilki operacijni sistemi Solaris i IRIX dzherelo U yadri Linux vikoristovuyetsya cikavij pidhid dlya pidtrimki bagatonitkovosti multithreading nitki nichim ne vidriznyayutsya vid zvichajnih procesiv Z poglyadu yadra vsi procesi odnakovi prosto deyaki z nih mayut spilni resursi U yadri Linux vidsutni deyaki funkciyi OS Unix yaki vvazhayutsya pogano realizovanimi yak napriklad pidtrimka interfejsu STREAMS abo vidpovidayut nedolugim standartam Yadro Linux ye povnistyu vidkritim u povnomu rozuminni cogo slova Nabir funkcij realizovanih v yadri Linux ce rezultat vilnoyi i vidkritoyi modeli rozrobki operacijnoyi sistemi Linux Yaksho yakas funkciya yadra vvazhayetsya nesuttyevoyu abo neyakisnoyu to rozrobniki yadra ne zobov yazani yiyi realizuvati V protilezhnist comu vnesennya zmin pri rozrobci yadra Linux zajmaye elitarnu poziciyu zmini povinni virishuvati pevnu praktichnu zadachu povinni buti logichnimi i mati zrozumilu chitku realizaciyu Otzhe funkciyi deyakih suchasnih variantiv OS Unix taki yak pam yat yadra zi storinkovoyu realizaciyeyu ne buli realizovani dzherelo Popri nayavni vidminnosti Linux ye operacijnoyu sistemoyu zi strogim spadkoyemstvom tradicij OS Unix LicenziyaLinux rozpovsyudzhuyetsya na umovah licenziyi GNU General Public License viklyuchno versiyi 2 tobto vilno Cyu licenziyu vibrav Linus Torvalds praktichno vidrazu pislya togo yak stalo zrozumilo sho jogo hobi pochalo nabuvati poshirennya po vsomu svitu Vlasnikom torgovoyi marki Linux ye Linus a dopomagaye stezhiti za dotrimannyam jogo prav i umov organizaciya Linux Mark Institute Istoriyakviten 1991 21 richnij Linus Torvalds rozpochinaye robotu nad planuvalnikom zadach operacijnoyi sistemi dlya roboti na komp yuterah z procesorami i386 25 serpnya 1991 Linus povidomlyaye pro svoyu pracyu u comp os minix Pracyuyut bash 1 08 ta gcc 1 40 17 veresnya 1991 Linux 0 01 10 239 ryadkiv kodu Zhovten 1991 Linux 0 02 Gruden 1991 Linux 0 11 Persha versiya u yakij mozhna skompilyuvati yiyi samu 19 sichnya 1992 Pershe povidomlennya v alt os linux 31 bereznya 1992 stvorennya grupi novin comp os linux Kviten 1992 Linux 0 96 vpershe zapuskayetsya X Window System Ves 1993 i pochatok 1994 15 versij 0 99 14 bereznya 1994 Linux 1 0 0 Stabilna versiya 176 250 ryadkiv kodu Berezen 1995 Linux 1 2 0 Z yavilas pidtrimka Alpha SPARC i MIPS 310 950 ryadkiv kodu 9 travnya 1996 Pingvin Tux vibranij logotipom Linuks 9 chervnya 1996 Linux 2 0 0 Bagatoprocesornist SMP 777 956 ryadkiv kodu 25 sichnya 1999 Linux 2 2 0 1 800 847 ryadkiv kodu 4 sichnya 2001 Linux 2 4 0 3 377 902 ryadkiv kodu 18 grudnya 2003 Linux 2 6 0 5 929 913 ryadkiv kodu Vidmitka v 10 mln ryadkiv bula projdena u kinci 2008 roku pri vipusku yadra 2 6 27 Yadro 3 3 sho vijshlo u berezni 2012 podolalo chergovij rubizh rozmir sircevogo kodu yadra perevishiv vidmitku v 15 mln ryadkiv Pri comu 5 6 mln ryadkiv dovoditsya na drajveri 1 8 mln na specifichnij dlya aparatnoyi arhitekturi kod 700 tisyach na fajlovi sistemi 533 tisyach na zvukovu pidsistemu 493 tisyach na merezhevij stek 97 22 koda yadra napisano movoyu Si 2 47 na asembleri 0 15 na Perl i 0 04 na Shell Zmina politiki numeraciyi versij yadra Linux 30 travnya 2011 Linus Torvalds vipustiv yadro versiyi 3 0 rc1 Razom z nim zmineno politiku numeraciyi versij yadra Skasovano vikoristannya parnih neparnih nomeriv dlya poznachennya stabilnosti yadra a tretye chislo oznachaye stabilizaciyu yadra Versiya 3 0 ne mistit znachnih zmin krim novoyi politiki numeraciyi yadra Takim chinom stabilni versiyi yadra 3 0 imenuyutsya 3 0 X a nastupnij pislya cogo reliz maye nomer 3 1 Novi versiyi vihodyat priblizno sho dva misyaci Pislya vipusku versiyi 3 19 Linus Torvalds vipustiv yadro versiyi 4 0 12 kvitnya 2015 roku Versiya 5 0 vijshla 2019 go roku Hto stvoryuye yadro LinuxLinux skladna sistema sho mozhe vklyuchati tisyachi riznih pakunkiv vid najposhirenishih takih yak utiliti GNU X org grafichni seredovisha GNOME i KDE do specifichnih dlya yakogos odnogo z distributiviv Komandi rozrobnikiv kozhnogo proyektu vidriznyayutsya chiselnistyu pidhodom do roboti vikoristovuvanimi instrumentami i metodami planuvannya robit Pri comu yadro Linux zajmaye osoblive misce sered vsih inshih zastosuvan Vid nogo zalezhit mozhlivist roboti sistemi Linux na riznih aparatnih platformah i stupin pidtrimki riznih pristroyiv Tomu harakteristiki procesu jogo rozrobki mozhut yakoyus miroyu sluzhiti indikatorom dlya vsiyeyi sistemi Linux Linux Foundation provelo doslidzhennya sho ohoplyuye tririchnij period rozrobki yadra vid versiyi 2 6 11 do versiyi 2 6 24 i fokusuyetsya na takih harakteristikah yak chastota reliziv i zmin rozmir pochatkovih tekstiv yadra i najgolovnishe dozvolyaye otrimati uyavlennya pro tih hto zreshtoyu rozroblyaye yadro Linux Statistika pokazuye sho v serednomu kozhen novij reliz yadra vihodit raz na 2 5 3 misyaci 60 110 dniv V pershu chergu ce pov yazano z vibranoyu v 2005 r modellyu rozrobki napravlenoyu na zvedennya do minimumu trivalosti promizhkiv mizh rozrobkoyu novih funkcij poyavoyu pidtrimki novih pristroyiv i vklyuchennyam yih v yadro a takozh sho zvodit do minimumu potrebu tvorciv distributiviv v modifikaciyah yadra Pri comu chislo latok patchiv sho vnosyatsya do yadra maye tendenciyu do zrostannya Zvodyachi voyedino ci dvi harakteristiki mozhna vidznachiti sho v serednomu do yadra vnositsya 2 83 patcha za godinu pri comu v ryadkah kodu shodnya v yadro dodayetsya ponad 3 tis ryadkiv bilshe 1 4 tis ryadkiv modifikuyetsya Chislo rozrobnikiv sho vzyali uchast u vipusku versiyi 2 6 24 bilsh nizh vdvichi perevishilo cej pokaznik dlya versiyi 2 6 11 i sklalo 1057 osib Pri comu prote vsogo 10 providnih rozrobnikiv spilno vnesli majzhe 15 zmin a 30 providnih rozrobnikiv 30 Ce prote ne oznachaye sho poshirene v deyakih krugah uyavlennya pro Linux yak pro sistemu sho rozroblyayetsya amatorami pravilne Ne zvazhayuchi sho daleko ne u vsih kompanij sho zajmayutsya vilnim PZ ye neobhidnist vnositi zmini do yadra chisla kompanij sho berut uchast v jogo rozrobci roste Chotiri najbilshi kompaniyi rozrobniki yadra Red Hat Novell IBM i Intel vnesli bilshe 32 zroblenih za chas doslidzhennya zmin a sumarnij vidsotok zmin v yadro vnesenih rozrobnikami sho pracyuyut na kompaniyi sklav bilshe 70 Pri comu sered kompanij sho berut uchast v rozrobci yadra vidilyayetsya dekilka grup po osnovnij meti uchasti v rozrobci Ce grupa kompanij sho vklyuchaye IBM Intel HP SGI MIPS ta inshih yaka oriyentuyetsya v osnovnomu na pidtrimku roboti Linux na vlasnomu ustatkuvanni Distrib yutori taki yak Red Hat Novell MontaVista mayut na meti dodavannya v yadro mozhlivostej na yaki isnuye popit sered koristuvachiv i yaki pidsilyuyut konkurentospromozhnist distributiviv yak kincevih produktiv Taki kompaniyi yak Sony Nokia Samsung pracyuyut nad yadrom dlya polipshennya roboti sistem na bazi yadra Linux u vlasnih pristroyah Kompaniyi yaki najaktivnishe zdijsnyuyut doopracyuvannya yadra Linux Nazva kompaniyi Kilkist zmin vid zagalnogo chisla zmin Privatni koristuvachi 11 594 13 9 Nazva ne viznachena 10 803 12 9 Red Hat 9 351 11 2 Novell 7 385 8 9 IBM 6 952 8 3 Intel 3 388 4 1 Linux Foundation 2 160 2 6 2 055 2 5 SGI 1 649 2 0 1 341 1 6 Oracle 1 122 1 3 1 010 1 2 Google 965 1 1 817 1 0 HP 765 0 9 NetApp 764 0 9 762 0 9 759 0 9 Freescale 730 0 9 715 0 9 Academia 656 0 8 Cisco 442 0 5 437 0 5 434 0 5 QLogic 398 0 5 Fujitsu 389 0 5 Broadcom 385 0 5 Analog Devices 358 0 4 Mandriva 329 0 4 294 0 4 285 0 3 Takim chinom z doslidzhennya Linux Foundation mozhna zrobiti visnovok sho yadro Linux ye bezprecedentnim prikladom uspishnoyi spivpraci riznih za rozmirom i viroblyuvanoyu produkciyeyu kompanij i individualnih rozrobnikiv Kilkist cih rozrobnikiv i rozpodil yihnogo vnesku v rozrobku mozhe sluzhiti v deyakomu rozuminni garantiyeyu stabilnosti i nezalezhnosti rozrobki Takozh dostupni novishi versiyi statistiki dlya yader 2 6 30 ta 2 6 33 angl KritikaPid chas kruglogo stolu na konferenciyi LinuxCon 2009 roku v SShA Linus Torvalds nazvav yadro operacijnoyi sistemi Linux stvorene nim 18 rokiv tomu rozdutim i velicheznim bloated and huge Z poyavoyu v yadri kozhnoyi novoyi funkciyi situaciya tilki pogirshuyetsya i v cej chas spivtovaristvo ne maye v svoyemu rozporyadzhenni planu z vipravlennya situaciyi Ale sama situaciya neminucha vnaslidok neobhidnosti dodavannya novih funkcij i pidtrimki velikoyi kilkosti pristroyiv Zgidno z vnutrishnim doslidzhennyam Intel produktivnist Linux padaye na dva vidsotki z kozhnim novim relizom zagalne znizhennya produktivnosti za ostanni desyat reliziv dosyaglo 12 vidsotkiv Persha versiya yadra Linux vklyuchala v sebe priblizno 10 tisyach ryadkiv kodu dlya versiyi 3 3 rozmir yadra perevaliv uzhe za 15 miljoniv ryadkiv V interv yu nimeckomu vidannyu Zeit Linus Torvalds visloviv svoyi poboyuvannya cherez strimke uskladnennya yadra Linux Situaciyu koli yakus pidsistemu OS zdatni rozumiti lishe kilka lyudej zi vsogo spivtovaristva Linus vvazhaye nepripustimoyu Inodi prosto dlya togo shob zrozumiti cherez sho proyavlyayetsya yakas pomilka mi vitrachayemo kilka dniv shob znajti potribnogo fahivcya Krim togo Linus kazhe sho vin teper ne znaye tih tisyach rozrobnikiv sho pracyuyut nad yadrom oskilki osobisto kontaktuye ne bilshe nizh z 50 providnimi rozrobnikami riznih pidsistem Pri comu vin ziznayetsya sho po spravzhnomu vin doviryaye lishe kilkom iz nih Taka sistema roboti sklalasya stihijno i Linus nazivaye yiyi merezheyu vzayemodiyi pobudovanoyu na doviri Linus doviryaye kilkom osnovnim mentejneram yaki svoyeyu chergoyu doviryayut rozrobnikam kotri rozvivayut yihni pidsistemi PrimitkiThe Linux Kernel Open Source Project on Open Hub Languages Page InfoWorld Linux creator Torvalds still no fan of GPLv3 Arhiv originalu za 23 chervnya 2013 Procitovano 11 zhovtnya 2008 The Linux kernel is provided under angl Stallman Richard 11 zhovtnya 2006 Linux GNU and freedom Free Software Foundation Arhiv originalu za 23 chervnya 2013 Procitovano 21 lyutogo 2007 September 25 2006 e mail by Linus Torvalds Linux is open source not free software Arhiv originalu za 23 chervnya 2013 Procitovano 19 grudnya 2006 Swapnil Bhartiya 12 travnya 2016 CIO Arhiv originalu za 28 travnya 2016 Procitovano 30 travnya 2016 angl 1992 Arhiv originalu za 3 zhovtnya 2012 Procitovano 14 travnya 2019 Deucher Alex 7 zhovtnya 2014 AMD s New Unified Open Source Driver X Org Foundation Procitovano 21 sichnya 2015 GNU GENERAL PUBLIC LICENSE Version 2 angl Free Software Foundation June 1991 http groups google com groups selm 1991Aug25 205708 9541 40klaava Helsinki FI amp output gplain http groups google com groups selm 1991Oct5 054106 4647 40klaava Helsinki FI amp output gplain http groups google com groups hl en amp lr amp ie UTF 8 amp selm 1992Jan19 085628 18752 40cseg01 uark edu http groups google com groups selm 1992Mar31 131811 19832 40rock concert net amp output gplain Arhiv originalu za 18 listopada 2005 Procitovano 17 travnya 2005 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya http linuxtoday com news story php3 ltsn 2001 01 05 007 04 NW LF KN Arhiv originalu za 16 lipnya 2003 Procitovano 17 travnya 2005 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Reliz yadra Linux 3 3 Obzor novshestv Arhiv originalu za 5 kvitnya 2008 Procitovano 26 listopada 2008 http lwn net Articles 334721 http lwn net Articles 373405 Linus calls Linux bloated and huge The Register 22 09 2009 Linux ist zu komplex geworden Linus Torvalds der Erfinder des freien Betriebssystems furchtet dass irgendwann kein Entwickler mehr Linux versteht Es musse simpler werden sagt er im Interview Linus Torvalds vyrazil opaseniya v svyazi so stremitelnym uslozhneniem yadra LinuxLiteraturaTorvalds Linus Dajmond David 2001 Tilki dlya vtihi Istoriya nevmisnogo revolyucionera HarperBusiness ISBN 0 06 662072 4 tverda obkladinka HarperAudio ISBN 0 694 52539 1 audio plivka skorochena red prochitana Davidom Dajmondom bilya vitokiv yadra Linuks 1 Nikolai Bezroukov Portraits of Open Source Pioneers Ch 4 A benevolent dictator Softpanorama e book LinkSys and binary modules LWN net Weekly Edition 16 zhovtnya 2003 Arhiv originalu za 23 chervnya 2013 Procitovano 19 grudnya 2006 FreeBSD Linux kernel source code cross reference Browsable Linux and other operating system kernel source cross reference Browsable Linux kernel source KernelHQ a browsable kernel source tree with all versions present and with browsable diffs M Tim Jones Anatomy of the Linux kernel History and architectural decomposition M Tim Jones Kernel command using Linux system calls Inside the Linux scheduler Robert Lav Razrabotka yadra Linux ISBN 978 5 8459 1085 1Div takozhOb yednane yadro Linux Kernel Panic operacijni sistemi 9885 Linux asteroyid nazvanij na chest yadra LinuxPosilannyaProyekt internacionalizaciyi ta lokalizaciyi yadra Linux simejstva 2 6 angl Linux News Yadro Kernel ros Otchet Linux Foundation s analizom tendencij v razrabotke Linux yadra 2010 Interaktivna mapa yadra Linux