Linux (ядро) | это... Что такое Linux (ядро)? (original) (raw)

Эта статья о ядре для операционных систем. О группе операционных систем, которые используют это ядро, называемых «Linux», см. в статье Linux

Ядро Linux
NewTux.svg
Тип Ядро ОС
Разработчик Линус Торвальдс, многочисленные разработчики по всему миру
Написана на C
Операционная система Linux, встраиваемые
Последняя версия 3.1.1[1] (11 ноября 2011)
Тестовая версия 3.1-rc10 (17 октября 2011)
Лицензия GNU GPL 2 с примесями
Сайт kernel.org

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

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

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

Торговая марка Linux зарегистрирована на Линуса Торвальдса.

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

Содержание

История

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

Привет всем, кто использует миникс — Я делаю (свободную) операционную систему (всего лишь хобби, она не будет большой и профессиональной, как gnu) для клонов 386 (486) AT…

Оригинальный текст (англ.)

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.

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

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

Сейчас в апреле 2011 семейство операционных систем на базе ядра Linux — третье по популярности в мире на рынке настольных компьютеров — 5,1 %[7]. На рынке веб-серверов доля Linux порядка 32 %, остальное — Unix-системы (FreeBSD и др.)[8]. По данным Top500, Linux используется в качестве операционной системы на 91 % самых мощных суперкомпьютеров планеты[9]. Большинство мобильных устройств, таких как смартфоны и планшетные компьютеры на базе ОС Android и MeeGo, а так же телевизоры, и многие служебные устройства, такие как внешние сетевые жесткие диски, маршрутизаторы и модемы, также используют операционные системы на базе ядра Linux.

Хронология

От: 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, так как это всё, что у меня есть :-(

Оригинальный текст (англ.)

Hello everybody out there using minix -

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus (torvalds@kruuna.helsinki.fi)

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.

Версии

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

Нумерация версий до 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.

Поддержка

В то время как Торвальдс продолжает выпускать новые экспериментальные версии, руководство «старыми» стабильными версиями передаётся другим лицам:

Серия Версии Руководители
2.0 2.0.40 Дэвид Виенхал
2.2 2.2.27-rc2 Марк-Кристиан Петерсон (раньше Алан Кокс)
2.4 2.4.37.6 Вилли Тарро
2.6.16 2.6.16.62 Эдриан Банк
2.6 2.6.31.1 Линус Торвальдс
3.0 3.0.7 Линус Торвальдс
3.1 3.1- Линус Торвальдс

Другими программистами ядра Linux являются Роберт Лав и Инго Молнар. (См. Список сопроводителей Linux (англ.)).

Стабильные версии

Архитектура

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

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

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

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

Совместимость

Не задуманный изначально как многоплатформенное ядро, Linux на данный момент портирован на очень широкий круг архитектур, запускается на широком спектре оборудования от iPAQ (карманный компьютер) до IBM S/390 (высокопроизводительный мейнфрейм). Системы на основе Linux используются в качестве основных практически на всех суперкомпьютерах (более 91 % списка Top500), в том числе и на самых мощных — K computer.

Изначально Linux разрабатывался для 32-битных x86-совместимых ПК; на сегодняшний день Linux запускается на следующих процессорных архитектурах:

Лицензия

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

Символ

Tux

Основная статья: 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.[10] В 2006 году исследование, профинансированное Евросоюзом, подняло стоимость разработки ядра Linux до уровня 882 млн евро (1,14 млрд долл. США).[11]

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

См. также

Ссылки

The Linux Kernel Archives (англ.) (HTML). — Официальный сайт ядра Linux. Архивировано из первоисточника 21 августа 2011. Проверено 6 июля 2010.

git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/summary (англ.) (HTML). — Git-репозиторий. Архивировано из первоисточника 21 августа 2011. Проверено 6 июля 2010.

Index of /pub/linux/kernel/v2.6 (англ.) (HTML). — Последние версии. Архивировано из первоисточника 21 августа 2011. Проверено 6 июля 2010.

Замечательный Мир Linux 2.6 (рус.) (HTML). — Замечательный Мир Linux 2.6 (linux). Архивировано из первоисточника 21 августа 2011. Проверено 6 июля 2010.

Мини-портал Linux (рус.) (HTML). — Мини-портал Linux на сайте OpenNet. Архивировано из первоисточника 21 августа 2011. Проверено 6 июля 2010.

Linux Kernel Newbies (англ.) (HTML). — KernelNewbies.org. Проверено 6 июля 2010.

Мини-справочник GNU/Linux (рус.) (HTML). — Фонд свободного программного обеспечения (FSF). Архивировано из первоисточника 21 августа 2011. Проверено 6 июля 2010.

Литература

Примечания

  1. Линус Торвальдс The Linux Kernel Archives (24 октября 2011). Проверено 27 октября 2011.
  2. Howto pronouce Linux? (англ.). Архивировано из первоисточника 21 августа 2011. Проверено 5 марта 2008.
  3. Bruce Byfield Linux-libre project meets rocky reception (англ.). Linux.com. SourceForge, Inc. (1 August 2008). Архивировано из первоисточника 21 августа 2011. Проверено 2 августа 2008.
  4. http://www.networkworld.com/news/2011/040511-linux-vs-microsoft.html via http://habrahabr.ru/blogs/linux/116992/
  5. 1 2 What would you like to see most in minix? (англ.) — Оригинальное сообщение Линуса Торвальдса о его новой ОС в новостной группе comp.os.minix
  6. Andrew D. Balsa The linux-kernel mailing list FAQ (англ.) (12 November 2006). Архивировано из первоисточника 21 августа 2011. Проверено 17 мая 2008.
  7. OS Statistics
  8. Usage of Linux for websites (англ.). По данным на март 2011 года, Linux-системы используются на 31,2 % веб-сайтов в интернете.. W3 Techs. Архивировано из первоисточника 21 августа 2011. Проверено 2 августа 2010.
  9. Доля операционных систем по данным на ноябрь 2010 (англ.). Top500. Архивировано из первоисточника 21 августа 2011. Проверено 2 августа 2010.
  10. David A. Wheeler Linux Kernel 2.6: It's Worth More!. Архивировано из первоисточника 21 августа 2011.
  11. Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector, таблица 3 на странице 50.
  12. Estimating Total Development Cost Of a Linux Distribution, таблица на странице 6.
  13. The Billion Dollar Kernel
  14. 9885 Linux (1994 TM14) (англ.). JPL Small-Body Database Browser. JPL (NASA). Архивировано из первоисточника 21 августа 2011. Проверено 23 мая 2008.

| | | |

Linux
Общее Adoption • Сравнение с WindowsКритикаПроект GNUGNUЯдроИсторияThe Linux Foundation (portability) • Закон ЛинусаИменование GNU/LinuxTux Символы Linux и логотип GNU
Распространение Дистрибутивы (сравнение) • Live CD (сравнение) • Live USBMini LinuxФорматы пакетов программ
Приложения Таблица соответствий Windows и Linux программALSA • Desktop • Devices • Embedded • Gaming • LAMPThin client
Персоналии Джоно БэконКлаус КнопперАлан Кокс • Бенджамин Мако Хилл • Памела Джонс • Ари Лемке • Эндрю Мортон • Ян МёрдокГанс Рейзер • Скотт Джеймс Ремнант • Дэниел Роббинс • Марк ШаттлвортРичард СтоллманЛинус Торвальдс • Теодор Тсо • Патрик Фолькердинг • Уоррен Вудфорд • Матт Циммерман
СМИ Enterprise open source journal • Free Software Magazine • Linux.comLinux Format • Linux Gazette • Linux Journal • Linux-Magazin • Linux Magazine • Linux Medical News • LWN.net • O3 Magazine • OpenNETPhoronix
Списки Устройства • ДистрибутивыLive CD
Мобильность Access Linux PlatformAndroidbadaLiMo PlatformMeeGo (MobilinuxMaemo) • MoblinUbuntu Mobile and Embedded Edition
Прочее Группа пользователейLSBRevolution OS • SCO и Linux • Спор Таненбаума — ТорвальдсаВредоносные программы