Реклама


Ядро Linux

Ядро Linux
Tux.svg
KNOPPIX booting.png
Тип свободное и открытое программное обеспечение и ядро операционной системы
Автор Линус Торвальдс[1]
Разработчики Линус Торвальдс и многочисленные разработчики по всему миру
Написана на Си[7], ассемблер и C++
Первый выпуск 0.01 (17 сентября 1991)
Аппаратная платформа ARM, AVR, Blackfin, DEC Alpha, ETRAX CRIS[d], Itanium, MIPS, PA-RISC, PowerPC, SPARC, SuperH, TILE64[d], Unicore[d], Xtensa[d], Motorola 680x0, IBM System/390, x86, x86-64 и z/Architecture[d]
Последняя версия 4.17[2][3][4] (3 июня 2018 года)
Кандидат в релизы 4.18-rc6[5][6] (22 июля 2018 года)
Лицензия GNU GPL 2[8][9][10]
Сайт kernel.org​ (англ.)
Commons-logo.svg Ядро Linux на Викискладе
Применение ядра Linux

Ядро Linux (/ˈlɪnʊks/[11]) — ядро операционной системы, соответствующее стандартам POSIX, составляющее основу операционных систем семейства Linux. Разработка кода ядра была начата финским студентом Линусом Торвальдсом в 1991 году, на его имя зарегистрирована Торговая марка «Linux».

Код написан в основном на Си с некоторыми расширениями gcc и на ассемблере (с использованием AT&T-синтаксиса GNU Assembler).

Распространяется как свободное программное обеспечение на условиях GNU General Public License, кроме несвободных элементов, особенно драйверов, которые используют прошивки, распространяемые под различными лицензиями[12].

Операционные системы на базе ядра Linux являются лидерами на рынках суперкомпьютеров, микрокомпьютеров, серверов и смартфонов.

Содержание

История[ | код]

Начало проекту было положено в 1991 году с публикации сообщения в новостной группе Usenet[13].

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

«Linux» как ядро операционной системы, разработка которого была начата Торвальдсом — лишь небольшая часть многих из использующих его систем, которые обычно тоже называют «Linux». Это иногда приводит к путанице, и те из них, которые используют системные библиотеки (например, GNU C Library) и другие программы проекта GNU, формально называют также «GNU/Linux»[14].

По состоянию на сентябрь 2016 года семейство операционных систем на базе ядра Linux — третье по популярности в мире на рынке настольных компьютеров — 5,8 %[15]. На рынке веб-серверов доля Linux порядка 32 %, остальное — Unix-системы (FreeBSD и др.)[16]. По данным Top500 (июнь 2016 года), Linux используется в качестве операционной системы на 99,4 % самых мощных суперкомпьютеров планеты[17].

Большинство мобильных устройств, таких, как смартфоны и планшетные компьютеры на базе операционных систем Android, MeeGo, Tizen, а также телевизоры и многие служебные устройства, такие, как внешние сетевые жёсткие диски, маршрутизаторы и модемы, также используют операционные системы на базе ядра Linux.

Хронология[ | код]

Версии[ | код]

Торвальдс продолжает выпускать новые версии ядра, объединяя изменения, вносимые другими программистами, и внося свои. Оно обычно называется «ванильным» (vanilla), то есть официальное ядро без каких-либо сторонних изменений. В дополнение к официальным версиям ядра существуют альтернативные ветки, которые могут быть взяты из различных источников. Как правило, разработчики дистрибутивов Linux поддерживают свои собственные версии ядра, например, включая в них драйверы устройств, которые ещё не включены в официальную версию. С 30 мая 2011 изменена политика нумерации версий ядра[19].

Нумерация версий до 30 мая 2011[ | код]

Номер версии ядра Linux до 30 мая 2011 содержал четыре числа, согласно недавнему изменению в политике именования версий, схема которой долгое время была основана на трёх числах. Для иллюстрации допустим, что номер версии составлен таким образом: A.B.C[.D] (например, 2.2.1, 2.4.13 или 2.6.12.3).

Нумерация версий с 30 мая 2011[ | код]

30 мая 2011 Линус Торвальдс выпустил ядро версии 3.0-rc1. Вместе с ним изменена политика нумерации версий ядра. Отменено использование чётных и нечётных номеров для обозначения стабильности ядра, а третье число означает стабильность ядра. Версия 3.0 практически не несёт никаких изменений, кроме изменения политики нумерации ядра. Таким образом, стабильные версии ядра 3.0 будут именоваться 3.0.X, а следующий после этого релиз будет иметь номер 3.1.

Поддержка[ | код]

В то время как Торвальдс продолжает выпускать новые экспериментальные версии, руководство LTS (англ. Long-term support)-версиями передаётся другим лицам:

Серия Версии Руководители Окончание поддержки
3.2 3.2.101 Бэн Хатчингс Май 2018
3.4 3.4.113 Ли Зифан Октябрь 2016
3.10 3.10.108 Уилли Тароу Ноябрь 2017
3.12 3.12.74 Иржи Слаби Май 2017
3.14 3.14.79 Грег Кроа-Хартман Сентябрь 2016
3.16 3.16.61 Бэн Хатчингс Апрель 2020
3.18 3.18.126 Саша Левин Январь 2017
4.1 4.1.51 Саша Левин Май 2018
4.4 4.4.164 Грег Кроа-Хартман Февраль 2022
4.9 4.9.138 Грег Кроа-Хартман Январь 2023
4.14 4.14.82 Грег Кроа-Хартман Январь 2020
4.19 4.19.3 Грег Кроа-Хартман Декабрь 2020

Другими программистами ядра Linux являются Роберт Лав[en] и Инго Молнар[en][20].

Стабильные версии[ | код]

Архитектура[ | код]

Архитектура ядра Linux и интерактивная карта
Обобщённая структура файловой системы

Ядро Linux поддерживает многозадачность, виртуальную память, динамические библиотеки, отложенную загрузку, производительную систему управления памятью и многие сетевые протоколы.

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

То, что архитектура Linux не является микроядерной, вызвало обширнейшие прения между Торвальдсом и Эндрю Таненбаумом в конференции по Minix в 1992 году.

Совместимость[ | код]

Задуманное изначально не как многоплатформенное, ядро Linux на данное время перенесено на очень широкий круг архитектур, запускается на широком спектре оборудования от iPAQ (карманный компьютер) до IBM S/390 (высокопроизводительный мейнфрейм). Системы на основе Linux используются в качестве основных почти на всех суперкомпьютерах (более 99 % списка TOP500), в том числе и на самом мощном — Summit[24]. Изначально Linux разрабатывался для 32-битных x86-совместимых ПК; на сегодняшний день различные версии ядра Linux запускаются на следующих процессорных архитектурах:

Лицензия[ | код]

Linux распространяется на условиях лицензии GNU General Public License, то есть свободно. Эту лицензию выбрал Линус Торвальдс практически сразу после того, как стало понятно, что его хобби начало получать распространение по всему миру. Владельцем торговой марки Linux является Линус, а помогает следить за соблюдением его прав и условий GPL Фонд свободного программного обеспечения.

Символ[ | код]

Tux

Официальным символом Linux является пингвин по имени Tux, отличающийся от «обычных» пингвинов жёлтым цветом клюва и лап.

Tuz

В качестве символа версии ядра 2.6.29 принят тасманский дьявол Tuz, изображение которого ранее служило талисманом конференции linux.conf.au 2009. На этой конференции Линус Торвальдс провел успешную акцию по благотворительной продаже игрушек Linux Tasmanian devil за сохранение популяции Тасманского дьявола. В версии 2.6.30 используется прежний логотип.

Оценка стоимости разработки с нуля[ | код]

Стоимость переразработки ядра Linux версии 2.6.0 способами, принятыми для разработки проприетарного ПО, была оценена в 612 млн долл. США (467 млн евро) в ценах 2004 года с использованием модели оценки человеко-месяцев COCOMO[26]. В 2006 году исследование, профинансированное Евросоюзом, подняло стоимость разработки ядра Linux до уровня 882 млн евро (1,09 млрд долл. США)[27].

Эта тема была снова поднята в октябре 2008 г. Амандой МакФерсон, Брайаном Проффиттом и Роном Хейл-Эвансом. Используя методологию Дэвида Э. Вилера, они оценили разработку ядра 2.6.25 в 1,3 млрд долл. США (часть от 10,8 млрд долл. США переразработки Fedora 9)[28]. Также Гарсиа-Гарсиа и Алонсо де Магдалено из университета Овьедо (Испания) оценили ежегодный прирост стоимости ядра приблизительно в 100 млн евро с 2005 по 2007 гг. и 225 млн евро в 2008 г. Совокупная стоимость разработки в Евросоюзе в 2009 году оценена в более чем 1 млрд евро (около 1,23 млрд долл. США)[29].

См. также[ | код]

Компоненты ядра Linux

Примечания[ | код]

  1. https://web.archive.org/web/20150315012537/http://www.linuxfoundation.org/about
  2. Linux-Kernel Archive: Linux 4.17
  3. OpenNews: Релиз ядра Linux 4.17
  4. Linux 4.17 Kernel Released With Big Updates For AMDGPU, CPU Power-Savings - Phoronix
  5. Linux Kernel Archive: Linux 4.18-rc6
  6. Linux 4.18-rc6 Kernel Released With Many Networking Fixes, Other Regressions Resolved - Phoronix
  7. The linux Open Source Project on Open Hub: Languages Page — 2006.
  8. RELEASE NOTES FOR LINUX v0.12
  9. It’s official, Linux was released on September 17, 1991
  10. The linux Open Source Project on Open Hub: Licenses Page — 2006.
  11. Howto pronouce Linux? (англ.). Проверено 5 марта 2008. Архивировано 21 августа 2011 года.
  12. Bruce Byfield. Linux-libre project meets rocky reception (англ.). Linux.com. SourceForge, Inc. (1 August 2008). Проверено 2 августа 2008. Архивировано 21 августа 2011 года.
  13. 1 2 What would you like to see most in minix? (англ.) — Оригинальное сообщение Линуса Торвальдса о его новой ОС в новостной группе comp.os.minix
  14. Andrew D. Balsa. The linux-kernel mailing list FAQ (англ.) (12 November 2006). Проверено 17 мая 2008. Архивировано 21 августа 2011 года.
  15. OS Statistics
  16. Usage of Linux for websites (англ.). По данным на март 2011 года, GNU/Linux-системы используются на 31,2 % веб-сайтов в интернете.. W3 Techs. Проверено 2 августа 2010. Архивировано 21 августа 2011 года.
  17. List Statistics | TOP500 Supercomputer Sites
  18. От: torvalds@klaava.Helsinki.Fi (Линус Бенедикт Торвальдс)
    Новостная группа: comp.os.minix
    Тема: Небольшой опрос о моей новой операционной системе
    Message-ID:<1991Aug25.205708.9541@klaava.Helsinki.Fi>
    Дата: 25 Aug 91 20:57:08 GMT
    Организация: Хельсинкский Университет

    Привет всем тем, кто использует миникс —

    Я делаю (свободную) операционную систему (это только хобби, не столь большое и профессиональное, как GNU) для 386 (486)AT-клонов. Эта система пишется с апреля и скоро будет готова. Я хочу получить любой отзыв, касающийся вещей, которые нравятся/не нравятся людям в миникс, так как моя ОС похожа на неё (такое же устройство файловой системы (по практическим соображениям), среди прочего).

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

    Линус (torvalds@kruuna.helsinki.fi)

    PS. Да — в ней нет кода миникс, и будет мультипотоковая ФС. Система НЕПЕРЕНОСИМА (использует команды Intel 386 и т. д.) и, вероятно, будет поддерживать только жёсткие диски AT, так как это всё, что у меня есть:-(

  19. [1]
  20. Список сопроводителей Linux (англ.)
  21. Ima Sheep. Linux 4.0 released. Linux Kernel Mailing List archive (Sun, 12 Apr 2015 15:41:30).
  22. Linus Torvalds. Re: Linux 4.0 released (Sun, 12 Apr 2015 15:49:41 -0700).
  23. JOEY-ELIJAH SNEDDON. Linux Kernel 4.0 Features Live Kernel Patching, PS3 Support.
  24. Sandra Henry-Stocker. UNIX AS A SECOND LANGUAGE: Red Hat reaches the Summit – a new top scientific supercomputer (англ.). Network World (8 июня 2018). Проверено 1 октября 2018.
  25. http://www.pcweek.ru/foss/article/detail.php?ID=136238 "Обновлённое ядро поддерживает DSP-процессор Hexagon компании Qualcomm. "
  26. David A. Wheeler. Linux Kernel 2.6: It's Worth More!. Архивировано 21 августа 2011 года.
  27. Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector, таблица 3 на странице 50.
  28. Estimating Total Development Cost Of a Linux Distribution, таблица на странице 6.
  29. The Billion Dollar Kernel
  30. 9885 Linux (1994 TM14) (англ.). JPL Small-Body Database Browser. JPL (NASA). Проверено 23 мая 2008. Архивировано 21 августа 2011 года.

Литература[ | код]

Ссылки[ | код]

Реклама