Ядро Linux

Поделись знанием:


Ты - не раб!
Закрытый образовательный курс для детей элиты: "Истинное обустройство мира".
http://noslave.org

Перейти к: навигация, поиск
Ядро Linux
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).
Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).
Тип

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Автор

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Разработчик

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Разработчики

Линус Торвальдс и многочисленные разработчики по всему миру

Написана на

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Интерфейс

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Операционная система

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Языки интерфейса

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Первый выпуск

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Аппаратная платформа

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Последняя версия

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Кандидат в релизы

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Бета-версия

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Альфа-версия

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Тестовая версия

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Читаемые форматы файлов

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Создаваемые форматы файлов

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Состояние

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Лицензия

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Сайт

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).

Ошибка Lua в Модуль:Wikidata на строке 170: attempt to index field 'wikibase' (a nil value).
Файл:Linux kernel ubiquity.svg
Применение ядра Linux

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

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

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

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







История

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

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

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

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

Большинство мобильных устройств, таких, как смартфоны и планшетные компьютеры на базе ОС 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, так как это всё, что у меня есть:-(

  • 17 сентября 1991 — Linux версии 0.01 (10 239 строк кода).
  • 5 октября 1991 — Linux версии 0.02 [http://groups.google.com/groups?selm=1991Oct5.054106.4647%40klaava.Helsinki.FI] (англ.).
  • Декабрь 1991 — Linux версии 0.11. Это была первая версия Linux, на которой можно было собрать Linux из исходных кодов.
  • 19 января 1992 — Первое сообщение в группе новостей [http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=1992Jan19.085628.18752%40cseg01.uark.edu alt.os.linux] (англ.).
  • 31 марта 1992 — Создана группа новостей [http://groups.google.com/groups?selm=1992Mar31.131811.19832%40rock.concert.net comp.os.linux] (англ.).
  • Апрель 1992 — Linux версии 0.96, на котором стало возможно запустить графический сервер X Window System.
  • Весь 1993 и начало 1994 — 15 тестовых релизов версии 0.99.* (в июле 1993 введено понятие BogoMips).
  • 14 марта 1994 — Linux версии 1.0.0 (176 250 строк кода).
  • Март 1995 — Linux версии 1.2.0 (310 950 строк кода).
  • 9 мая 1996 — Выбран символ Linux — пингвин Tux.
  • 9 июня 1996 — Linux версии 2.0.0 (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 строк кода).
  • 23 марта 2009 — Linux версии 2.6.29, временный символ Linux — тасманский дьявол Tuz (11 010 647 строк кода).
  • 22 июля 2011 — релиз Linux 3.0.
  • 24 октября 2011 — релиз Linux 3.1.
  • 15 января 2012 — релиз Linux 3.3 преодолел отметку в 15 млн строк кода.
  • 23 февраля 2015 — первый релиз-кандидат Linux 4.0.

<timeline>

  1. NOTE: All the tag dates shown below are UTC (thus, v2.6.39's release date of May 18 21:06-0700 is the May 19 04:06+0000 shown below).

Define $now = 07/02/2016 Define $width = 700 Define $warning = 490 # $width - 110 ImageSize = width:$width height:900 PlotArea = left:40 right:10 bottom:100 top:10 DateFormat = dd/mm/yyyy Period = from:01/01/1991 till:$now TimeAxis = orientation:ver Alignbars = justify Legend = orientation:vertical position:bottom columns:4

  1. Color definitions #

Colors =

 id:col0.0.1   value:limegreen		 Legend:Linux_0.1
 id:col1.0     value:yellowgreen	 Legend:Linux_1.0
 id:col1.1     value:drabgreen      	 Legend:Linux_1.1
 id:col1.2     value:kelleygreen      	 Legend:Linux_1.2
 id:col1.3     value:teal               Legend:Linux_1.3
 id:colbeta-l1 value:black
 id:col2.0     value:rgb(1,0.74,0.16)	 Legend:Linux_2.0
 id:col2.0-l1  value:black
 id:col2.0-l2  value:rgb(1,0.92,0.74)
 id:col2.2     value:lightpurple	 Legend:Linux_2.2
 id:col2.2-l1  value:black
 id:col2.2-l2  value:lavender
 id:col2.4     value:oceanblue		 Legend:Linux_2.4
 id:col2.4-l1  value:black
 id:col2.4-l2  value:skyblue
 id:col2.6     value:green		 Legend:Linux_2.6
 id:col2.6-l1  value:black
 id:col2.6-l2  value:drabgreen
 id:col3.x     value:red                Legend:Linux_3.x
 id:col3.x-l1  value:black
 id:col3.x-l2  value:pink
 id:col4.x     value:rgb(0.15,0.55,0.6) Legend:Linux_4.x
 id:col4.x-l1  value:black
 id:col4.x-l2  value:rgb(0.85,0.8,0.8)
 id:colbg      value:gray(0.98)
 id:colgrmaj   value:gray(0.5)
 id:colgrmin   value:gray(0.8)
 id:colbeta    value:gray(0.8)		 Legend:Development
 id:lighttext  value:rgb(0.5,0.5,0.5)

ScaleMajor = gridcolor:colgrmaj unit:year increment:1 start:01/01/1991 ScaleMinor = gridcolor:colgrmin unit:month increment:3 start:01/01/1991 BackgroundColors = canvas:colbg

PlotData=

 ##################################################
 # 0.01-1.3 filled bar ver:0.01-0.99.15           #
 ##################################################
 bar:0.01-1.3 width:40 from:17/09/1991 till:03/02/1994 color:col0.0.1 mark:(line,col0.0.1)
 ##################################################
 # 0.01-1.3 filled bar ver:1.0-patch9             #
 ##################################################
 bar:0.01-1.3 width:40 from:13/03/1994 till:16/04/1994 color:col1.0 mark:(line,col1.0)
 ##################################################
 # 0.01-1.3 filled bar ver:1.1.0-1.1.95           #
 ##################################################
 bar:0.01-1.3 width:40 from:06/04/1994 till:02/03/1995 color:col1.1 mark:(line,col1.1)
 ##################################################
 # 0.01-1.3 filled bar ver:1.2.0-1.2.13           #
 ##################################################
 bar:0.01-1.3 width:40 from:07/03/1995 till:02/08/1995 color:col1.2 mark:(line,col1.2)
 ##################################################
 # 0.01-1.3 filled bar ver:1.3.0-1.3.100          #
 ##################################################
 bar:0.01-1.3 width:40 from:12/06/1995 till:10/05/1996 color:col1.3 mark:(line,col1.3)
 ##################################################
 # 0.01-1.3 important versions   ver:0.01-1.3.100 #
 ##################################################
 bar:0.01-1.3 mark:(line,black) align:center fontsize:S
 at:17/09/1991 text:"0.01" shift:(0,-12)
 at:13/03/1994 text:"1.0" shift:(0,-12)
 at:06/04/1994 text:"1.1.0" shift:(0,2)
 at:07/03/1995 text:"1.2.0"
 at:12/06/1995 text:"1.3.0"
 at:10/05/1996 text:"1.3.100" shift:(0,2)
 ##################################################
 # pre2.0 betavers. pre2.0.1 - pre2.0.14          #
 ##################################################
 bar:pre2.0 width:40 from:12/05/1996 till:06/06/1996 color:colbeta mark:(line,colbeta)
 ##################################################
 # pre2.0 line & text for first & last version    #
 ##################################################
 bar:pre2.0 mark:(line,colbeta-l1) align:center fontsize:S
 at:12/05/1996 text:"pre2.0.1" shift:(0,-12)
 at:06/06/1996 text:"pre2.0.14" shift:(0,2)
 ##################################################
 # 2.0 filled bar                                 #
 ##################################################
 bar:2.0 width:40 from:09/06/1996 till:08/02/2004 color:col2.0 mark:(line,col2.0)
 ##################################################
 # 2.0 line & text for first version every year   #
 ##################################################
 bar:2.0 mark:(line,col2.0-l1) align:center fontsize:S
 at:09/06/1996 text:"2.0" shift:(0,-12)
 at:14/01/1997 text:"2.0.28"
 at:04/06/1998 text:"2.0.34"
 at:14/06/1999 text:"2.0.37"
 at:09/01/2001 text:"2.0.39"
 at:08/02/2004 text:"2.0.40" shift:(0,2)
 ##################################################
 # 2.0 line for all other versions                #
 ##################################################
 bar:2.0 mark:(line,col2.0-l2)
 at: 03/07/1996 # 2.0.1
 at: 05/07/1996 # 2.0.2
 at: 06/07/1996 # 2.0.3
 at: 08/07/1996 # 2.0.4
 at: 10/07/1996 # 2.0.5
 at: 12/07/1996 # 2.0.6
 at: 15/07/1996 # 2.0.7
 at: 25/07/1996 # 2.0.8
 at: 26/07/1996 # 2.0.9
 at: 27/07/1996 # 2.0.10
 at: 05/08/1996 # 2.0.11
 at: 09/08/1996 # 2.0.12
 at: 16/08/1996 # 2.0.13
 at: 20/08/1996 # 2.0.14
 at: 25/08/1996 # 2.0.15
 at: 31/08/1996 # 2.0.16
 at: 02/09/1996 # 2.0.17
 at: 05/09/1996 # 2.0.18
 at: 11/09/1996 # 2.0.19
 at: 13/09/1996 # 2.0.20
 at: 20/09/1996 # 2.0.21
 at: 08/10/1996 # 2.0.22
 at: 18/10/1996 # 2.0.23
 at: 30/10/1996 # 2.0.24
 at: 08/11/1996 # 2.0.25
 at: 22/11/1996 # 2.0.26
 at: 01/12/1996 # 2.0.27
 at: 07/02/1997 # 2.0.29
 at: 08/04/1997 # 2.0.30
 at: 17/10/1997 # 2.0.31
 at: 18/11/1997 # 2.0.32
 at: 16/12/1997 # 2.0.33
 at: 13/07/1998 # 2.0.35
 at: 16/11/1998 # 2.0.36
 at: 25/08/1999 # 2.0.38
 ##################################################
 # 2.1(dev) betavers. 2.1.0 - 2.2.0pre9          #
 ##################################################
 bar:2.1 width:40 from:30/09/1996 till:21/01/1999 color:colbeta mark:(line,colbeta)
 ##################################################
 # 2.1(dev) line & text for first & last version  #
 ##################################################
 bar:2.1 mark:(line,colbeta-l1) align:center fontsize:S
 at:30/09/1996 text:"2.1.0" shift:(0,-12)
 at:21/01/1999 text:"2.2.0pre9" shift:(0,2)
 ##################################################
 # 2.2 filled bar                                 #
 ##################################################
 bar:2.2 width:40 from:26/01/1999 till:24/02/2004 color:col2.2  mark:(line,col2.2)
 ##################################################
 # 2.2 line & text for first version every year   #
 ##################################################
 bar:2.2 mark:(line,col2.2-l1) align:center fontsize:S
 at:26/01/1999 text:"2.2.0" shift:(0,-12)
 at:04/01/2000 text:"2.2.14"
 at:25/03/2001 text:"2.2.19"
 at:20/05/2002 text:"2.2.21"
 at:05/03/2003 text:"2.2.24"
 at:24/02/2004 text:"2.2.26"
 ##################################################
 # 2.2 line for all other versions                #
 ##################################################
 bar:2.2 mark:(line,col2.2-l2)
 at:28/01/1999 # 2.2.1
 at:23/02/1999 # 2.2.2
 at:09/03/1999 # 2.2.3
 at:23/03/1999 # 2.2.4
 at:29/03/1999 # 2.2.5
 at:16/04/1999 # 2.2.6
 at:28/04/1999 # 2.2.7
 at:11/05/1999 # 2.2.8
 at:13/05/1999 # 2.2.9
 at:14/06/1999 # 2.2.10
 at:09/08/1999 # 2.2.11
 at:26/08/1999 # 2.2.12
 at:20/10/1999 # 2.2.13
 at:04/05/2000 # 2.2.15
 at:07/06/2000 # 2.2.16
 at:04/09/2000 # 2.2.17
 at:11/12/2000 # 2.2.18
 at:02/11/2001 # 2.2.20
 at:16/09/2002 # 2.2.22
 at:29/11/2002 # 2.2.23
 at:17/03/2003 # 2.2.25
 ##################################################
 # 2.3(dev) betavers. 2.3.0 - 2.3.99pre9          #
 ##################################################
 bar:2.3 width:40 from:11/05/1999 till:23/05/2000 color:colbeta mark:(line,colbeta)
 ##################################################
 # 2.3(dev) line & text for first & last version  #
 ##################################################
 bar:2.3 mark:(line,colbeta-l1) align:center fontsize:S
 at:11/05/1999 text:"2.3.0" shift:(0,-12)
 at:23/05/2000 text:"2.3.99pre9" shift:(0,2)
 ##################################################
 # 2.4 filled bar                                 #
 ##################################################
 bar:2.4 width:40 from:04/01/2001 till:18/12/2010 color:col2.4  mark:(line,col2.4)
 # Last version is 2.4.37.11 released 18/12/2010.
 # According to http://lkml.org/lkml/2010/9/6/15, one year without update would mean end of life.
 # But as with the 2.0,2.2 and 2.6 columns, the column ends with the last base release.
 # EOL confirmed in http://lwn.net/Articles/491245/.
 ##################################################
 # 2.4 line & text for first version every year   #
 ##################################################
 bar:2.4 mark:(line,col2.4-l1) align:center fontsize:S
 at:04/01/2001 text:"2.4.0" shift:(0,-12)
 at:25/02/2002 text:"2.4.18"
 at:13/06/2003 text:"2.4.21"
 at:05/01/2004 text:"2.4.24"
 at:19/01/2005 text:"2.4.29"
 at:11/08/2006 text:"2.4.33"
 at:26/07/2007 text:"2.4.35"
 at:01/01/2008 text:"2.4.36"
 at:02/12/2008 text:"2.4.37"
 at:18/12/2010 text:"2.4.37.11"
 ##################################################
 # 2.4 line for all other versions                #
 ##################################################
 bar:2.4 mark:(line,col2.4-l2)
 at:30/01/2001 # 2.4.1
 at:22/02/2001 # 2.4.2
 at:30/03/2001 # 2.4.3
 at:28/04/2001 # 2.4.4
 at:26/05/2001 # 2.4.5
 at:04/07/2001 # 2.4.6
 at:20/07/2001 # 2.4.7
 at:11/08/2001 # 2.4.8
 at:16/08/2001 # 2.4.9
 at:23/09/2001 # 2.4.10
 at:09/10/2001 # 2.4.11
 at:11/10/2001 # 2.4.12
 at:24/10/2001 # 2.4.13
 at:05/11/2001 # 2.4.14
 at:23/11/2001 # 2.4.15
 at:26/11/2001 # 2.4.16
 at:21/12/2001 # 2.4.17
 at:03/08/2002 # 2.4.19
 at:28/11/2002 # 2.4.20
 at:25/08/2003 # 2.4.22
 at:28/11/2003 # 2.4.23
 at:18/02/2004 # 2.4.25
 at:14/04/2004 # 2.4.26
 at:07/08/2004 # 2.4.27
 at:17/11/2004 # 2.4.28
 at:04/04/2005 # 2.4.30
 at:01/06/2005 # 2.4.31
 at:16/11/2005 # 2.4.32
 at:23/12/2006 # 2.4.34
 ##################################################
 # 2.5(dev) betavers. 2.5.0-2.5.75 (2.4.15=2.5.0) #
 ##################################################
 bar:2.5 width:40 from:23/11/2001 till:10/07/2003 color:colbeta mark:(line,colbeta)
 ##################################################
 # 2.5(dev) line & text for first & last version  #
 ##################################################
 bar:2.5 mark:(line,colbeta-l1) align:center fontsize:S
 at:23/11/2001 text:"2.5.0" shift:(0,-12)
 at:10/07/2003 text:"2.5.75" shift:(0,2)
 ##################################################
 # 2.6 filled bar                                 #
 ##################################################
 bar:2.6 width:40 from:18/12/2003 till:$now color:col2.6  mark:(line,col2.6)
  1. As of November 2014, long term 2.6 kernels are still released.
  2. 2.6.32.64 was released on 23rd November 2014. (see https://www.kernel.org/category/releases.html for an update)
 ##################################################
 # 2.6 line & text for first version every year   #
 ##################################################
 bar:2.6 mark:(line,col2.6-l1) align:center fontsize:S
 at:18/12/2003 text:"2.6.0" shift:(0,-12)
 at:09/01/2004 text:"2.6.1"
 at:02/03/2005 text:"2.6.11"
 at:03/01/2006 text:"2.6.15"
 at:04/02/2007 text:"2.6.20"
 at:24/01/2008 text:"2.6.24"
 at:23/03/2009 text:"2.6.29"
 at:24/02/2010 text:"2.6.33"
 at:05/01/2011 text:"2.6.37"
 at:19/05/2011 text:"2.6.39" # Last 2.6.x
 at:03/08/2011 text:"2.6.39.4" # Last 2.6.39.x
 ##################################################
 # 2.6 line for all other versions                #
 ##################################################
 bar:2.6 mark:(line,col2.6-l2)
 at:04/02/2004 # 2.6.2
 at:18/02/2004 # 2.6.3
 at:11/03/2004 # 2.6.4
 at:04/04/2004 # 2.6.5
 at:10/05/2004 # 2.6.6
 at:16/06/2004 # 2.6.7
 at:14/08/2004 # 2.6.8
 at:18/10/2004 # 2.6.9
 at:24/12/2004 # 2.6.10
 at:17/06/2005 # 2.6.12
 at:29/08/2005 # 2.6.13
 at:28/10/2005 # 2.6.14
 at:20/03/2006 # 2.6.16
 at:18/06/2006 # 2.6.17
 at:20/09/2006 # 2.6.18
 at:29/11/2006 # 2.6.19
 at:26/04/2007 # 2.6.21
 at:08/07/2007 # 2.6.22
 at:09/10/2007 # 2.6.23
 at:17/04/2008 # 2.6.25
 at:13/07/2008 # 2.6.26
 at:09/10/2008 # 2.6.27
 at:24/12/2008 # 2.6.28
 at:10/06/2009 # 2.6.30
 at:09/09/2009 # 2.6.31
 at:03/12/2009 # 2.6.32
 at:16/05/2010 # 2.6.34
 at:01/08/2010 # 2.6.35
 at:20/10/2010 # 2.6.36
 at:15/03/2011 # 2.6.38
 ##################################################
 # 3.0 rc                                         #
 ##################################################
 bar:3.x width:40 from:22/02/2015 till:12/04/2015 color:colbeta mark:(line,colbeta)
 ##################################################
 # 3.0 rc                                         #
 ##################################################
 bar:3.x mark:(line,colbeta-l1) align:center fontsize:S
 at:29/05/2011 text:"3.0-rc1" shift:(0,-12)
 ##################################################
 # 3.x filled bar                                 #
 ##################################################
 bar:3.x width:40 from:22/07/2011 till:$now color:col3.x  mark:(line,col3.x)
 ##################################################
 # 3.x line & text for first version every year   #
 ##################################################
 bar:3.x mark:(line,col3.x-l1) align:center fontsize:S
 at:22/07/2011 text:"3.0" shift:(0,0)
 at:05/01/2012 text:"3.2"
 at:19/02/2013 text:"3.8"
 at:20/01/2014 text:"3.13"
 at:09/02/2015 text:"3.19"


 ##################################################
 # 3.x line for all other versions                #
 ##################################################
 bar:3.x mark:(line,col3.x-l2)
 at:24/10/2011 # 3.1
 at:19/03/2012 # 3.3
 at:21/05/2012 # 3.4
 at:21/07/2012 # 3.5
 at:01/10/2012 # 3.6
 at:11/12/2012 # 3.7
 at:29/04/2013 # 3.9
 at:30/06/2013 # 3.10
 at:02/09/2013 # 3.11
 at:03/11/2013 # 3.12
 at:31/03/2014 # 3.14
 at:08/06/2014 # 3.15
 at:03/08/2014 # 3.16
 at:05/10/2014 # 3.17
 at:07/12/2014 # 3.18	
 ##################################################
 # 4.0 rc                                         #
 ##################################################
 bar:4.x width:40 from:22/02/2015 till:12/04/2015 color:colbeta mark:(line,colbeta)
 ##################################################
 # 4.0 rc                                         #
 ##################################################
 bar:4.x mark:(line,colbeta-l1) align:center fontsize:S
 at:22/02/2015 text:"4.0-rc1" shift:(0,-12)
 ##################################################
 # 4.x filled bar                                 #
 ##################################################
 bar:4.x width:40 from:12/04/2015 till:$now color:col4.x  mark:(line,col4.x)
 ##################################################
 # 4.x bar and text                               #
 ##################################################
 bar:4.x mark:(line,col4.x-l1) align:center fontsize:S
 at:12/04/2015 text:"4.0" shift:(0,0)
 bar:4.x mark:(line,col4.x-l2) align:center fontsize:S
 at:22/06/2015 # 4.1
 at:30/08/2015 # 4.2
 at:01/11/2015 # 4.3
 at:10/01/2016 text:"4.4" shift:(0,-8) # 4.4
 ##################################################
 # 4.5 rc                                         #
 ##################################################
 bar:4.x mark:(line,colbeta-l1) align:center fontsize:S
 at:01/02/2016 text:"4.5-rc2" shift:(0,2)


TextData =

 fontsize:S
 textcolor:lighttext
 pos:($warning,5)
 text:Updated 2016-01-07
  1. Ref:http://www.kernel.org/pub/linux/kernel/

</timeline>

Версии

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

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

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

  • Число A обозначает версию ядра. Оно изменяется редко и только тогда, когда вносятся значительные изменения в код и концепцию ядра. Оно изменялось три раза в истории ядра: в 1994 (версия 1.0), в 1996 (версия 2.0) и 31 мая 2011 (3.0.0).
  • Число B обозначает старшую версию ревизии ядра. Чётные числа обозначают стабильные ревизии, то есть те, которые предназначены для промышленного использования, такие, как 1.2, 2.4 или 2.6. Нечётные числа обозначают ревизии для разработчиков, такие, как 1.1 или 2.5. Они предназначены для того, чтобы тестировать новые улучшения и драйвера до тех пор, пока они не станут достаточно стабильными для того, чтобы включить их в стабильный выпуск.
  • Число C обозначает младшую версию ревизии ядра. В старой трёхчисловой схеме нумерации оно изменялось тогда, когда в ядро включались заплатки, связанные с безопасностью, исправления ошибок, новые улучшения или драйверы. С новой политикой нумерации, однако, оно изменяется только тогда, когда вносятся новые драйверы или улучшения; небольшие исправления поддерживаются числом D.
  • Число D впервые появилось после случая, когда в коде ядра версии 2.6.8 была обнаружена грубая, требующая незамедлительного исправления ошибка, связанная с NFS. Однако других изменений было недостаточно для того, чтобы это послужило причиной для выпуска новой младшей ревизии (которой должна была стать 2.6.9). Поэтому была выпущена версия 2.6.8.1 с единственным изменением в виде исправления этой ошибки. С ядра 2.6.11 эта нумерация была адаптирована в качестве новой официальной политики версий. Исправления ошибок и заплатки безопасности теперь обозначаются с помощью четвёртого числа, тогда как большие изменения отражаются в увеличении младшей версии ревизии ядра (число C).

Нумерация версий с 30 мая 2011

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

Поддержка

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

Серия Версии Руководители
3.2 3.2.81 Бэн Хатчингс
3.4 3.4.112 Ли Зифан
3.10 3.10.102 Willy Tarreau
3.12 3.12.61 Иржи Слаби
3.14 3.14.73 Грэг Кро-Хартман
3.16 3.16.63 Ben Hutchings
3.18 3.18.37 Sasha Levin
4.1 4.1.28 Sasha Levin
4.4 4.4.15 Грэг Кро-Хартман

Другими программистами ядра Linux являются Роберт Лав и Инго Молнар. (См. [http://lxr.linux.no/source/MAINTAINERS Список сопроводителей Linux]  (англ.)).

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

  • Версия 1.0 в марте 1994 — поддерживала только однопроцессорные i386-машины.
  • Версия 1.2 в марте 1995 — добавлена поддержка процессоров Alpha, SPARC и MIPS.
  • Версия 2.0 в июне 1996 — добавлена поддержка других процессоров, а также многопроцессорных систем.
  • Версия 2.2 в январе 1999 — [http://kniggit.net/wwol22.html] (англ.).
  • Версия 2.4 в январе 2001 — добавлена поддержка ISA Plug and Play, процессоров PA-RISC, шин USB и PC-Card (PCMCIA). Поддержка для процессоров Axis Communications ETRAX CRIS и файловой системы InterMezzo были добавлены чуть позже. [http://linuxtoday.com/news_story.php3?ltsn=2001-01-05-007-04-NW-LF-KN] (англ.)
  • Версия 2.6-от 17 декабря 2003:
    • создано ответвление μClinux (для микроконтроллеров);
    • добавлена поддержка для процессоров Hitachi серии H8/300, NEC v850, процессоры для встроенных систем Motorola m68k, новая архитектура доступа к памяти NUMA, поддержка NCR Voyager, технологии Intel hyperthreading и PAE;
    • добавлено:
      • поддержка файловой системы XFS (разработчик — фирма SGI);
      • улучшена поддержка APIC;
      • увеличено максимальное количество пользователей и групп с 65 000 до более 4 млрд;
      • увеличено максимальное количество процессов с 32 000 до 1 млрд;
      • увеличено максимальное количество типов устройств (major device) – с 255 до 4095, и максимальное количество устройств каждого типа (minor device) – с 255 до более миллиона, из-за проблем с распределением номеров под типы устройства введён системный сервис udev;
      • улучшена поддержка 64-битных систем и файловых систем размером более 16 Тбайт;
      • уменьшено время реакции для процессов реального времени;
      • переписана реализация потоков с использованием Native POSIX Thread Library (NPTL);
      • улучшен загрузчик модулей;
      • добавлена новая служебная файловая система sysfs;
      • интеграция User-mode Linux;
      • и др.
  • Версия 3.0. — Используется в Ubuntu 11.10
  • Версия 3.1.
  • Версия 3.2 — используется в Ubuntu 12.04 LTS и Debian 7 Wheezy. Помимо исправлений ошибок, предполагается впервые вносить некоторые оптимизации кода, влияющие на производительность, в ядро с длительным циклом поддержки.
  • Версия 3.3.
  • Версия 3.4.
  • Версия 3.5 — используется в Ubuntu 12.10.
  • Версия 3.6.
  • Версия 3.7.
  • Версия 3.8 — прекращена поддержка процессоров i386. Используется в Ubuntu 13.04.
  • Версия 3.9.
  • Версия 3.10.
    • Нововведения[9].
      • Можно запретить выполнять скрипты как программы — функциональность запуска скриптов, содержащих путь к интерпретатору в заголовке «#!», теперь может быть собрана в виде модуля ядра.
      • Интегрирована разработанная и используемая в Google система bcache (англ.). Bcache позволяет организовать кэширование доступа к медленным жестким дискам на быстрых SSD-накопителях; кэширование при этом ведётся на уровне блочного устройства — и это позволяет ускорить доступ к накопителю, причём независимо от используемых файловых систем на устройстве.
      • Ядро можно собирать компилятором Clang благодаря подготовленным проектом LLVMLinux патчам.
      • Появилась динамическая система управления генерацией прерываний таймером. Теперь можно в зависимости от текущего состояния изменять прерывания в диапазоне от тысяч тиков в секунду до одного прерывания в секунду — это позволяет сводить к минимуму нагрузку на CPU при обработке прерываний в случае неактивности системы. Сейчас эта функция используется для систем реального времени и HPC (высокопроизводительных вычислений), но в следующих выпусках ядра будет задействована и для десктоп-систем тоже.
      • Появилась возможность генерации события с уведомлением приложения о приближении к исчерпанию доступной процессу/системе памяти (в cgroups).
      • Для команды perf стало доступно профилирование доступа к памяти.
      • Появился новый драйвер «sync» (экспериментальный). Он был разработан в рамках платформы Android и используется для синхронизации между другими драйверами.
      • Появился драйвер для виртуальных видеоадаптеров Microsoft Hyper-V (по работе Hyper-V в целом тоже есть улучшения).
      • Теперь поддерживаются новые средства управления питанием, которые появились в процессорах AMD семейства 16h («Jaguar»).
      • Поддержка ускорения декодирования видео с использованием аппаратного декодера UVD, встроенного в современные GPU AMD, была добавлена в DRM-модуль Radeon.
      • Добавлена поддержка протокола RDMA (iSER) в подсистему iSCSI.
      • Выполнение криптографических функций (sha256, sha512, blowfish, twofish, serpent и camellia) оптимизировано с использованием инструкций AVX/AVX2 и SSE.
      • Был интегрирован драйвер виртуальной графической карты QXL (применяется в системах виртуализации для ускоренного вывода графики при помощи протокола SPICE).
  • Версия 3.11. — Используется в Ubuntu 13.10
  • Версия 3.12.
  • Версия 3.13. — Используется в Ubuntu 14.04
  • Версия 3.14.
  • Версия 3.15.
  • Версия 3.16. — Используется в Ubuntu 14.10
  • Версия 3.17.
  • Версия 3.18.
  • Версия 3.19. — Используется в Ubuntu 15.04
  • Версия 4.0[10] — изменения касаются, в основном, исправлений драйверов (media, sound, pci, scsi target, drm, thermal.), обновлений для архитектур nios2, x86 [11].
    • Некоторые нововведения:[12]
      • установка обновлений ядра без необходимости перезагрузки;
      • улучшения для платформы Intel ‘Skylake’;
      • поддержка Intel Quark SoC;
      • различные улучшения для работы Linux на  Playstation 3;
      • поддержка драйвером TOpen-source AMD Radeon функции DisplayPort Audio;
      • различные улучшения в драйверах HID, включая Lenovo compact keyboards, Wacom Cintiq 27QHD;
      • в драйвера управления питания Toshiba добавлены настройки USB sleep/charge functionality, rapid charge, sleep w/ music и др.;
      • улучшения работы с файловой системой, включая F2FS, BtrFS и др.
  • Версия 4.1.
  • Версия 4.2. — Используется в Ubuntu 15.10
  • Версия 4.3.
  • Версия 4.4. — Используется в Ubuntu 16.04
  • Версия 4.5.
  • Версия 4.6.

Архитектура

Файл:Linux VFS.svg
Обобщённая структура файловой системы

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

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

То, что архитектура Linux не является микроядерной, вызвало обширнейшие прения между Линусом Торвальдсом и Эндрю Таненбаумом в конференции [https://groups.google.com/d/topic/comp.os.minix/wlhw16QWltI/discussion comp.os.minix]  (англ.) в 1992 г.

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

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

Лицензия

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

Символ

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

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

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

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

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

См. также

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

Напишите отзыв о статье "Ядро Linux"

Примечания

  1. [http://www.paul.sladen.org/pronunciation/ Howto pronouce Linux?] (англ.). Проверено 5 марта 2008. [http://www.webcitation.org/616XVG7S2 Архивировано из первоисточника 21 августа 2011].
  2. Bruce Byfield. [http://www.linux.com/feature/142772 Linux-libre project meets rocky reception] (англ.). Linux.com. SourceForge, Inc. (1 August 2008). Проверено 2 августа 2008. [http://www.webcitation.org/616XVh6TX Архивировано из первоисточника 21 августа 2011].
  3. http://www.networkworld.com/news/2011/040511-linux-vs-microsoft.html via http://habrahabr.ru/post/116992/
  4. 1 2 [http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b What would you like to see most in minix?] (англ.) — Оригинальное сообщение Линуса Торвальдса о его новой ОС в новостной группе [news://comp.os.minix comp.os.minix]
  5. Andrew D. Balsa. [http://www.tux.org/lkml/ The linux-kernel mailing list FAQ] (англ.) (12 November 2006). Проверено 17 мая 2008. [http://www.webcitation.org/616XX1D2H Архивировано из первоисточника 21 августа 2011].
  6. [http://www.w3schools.com/browsers/browsers_os.asp OS Statistics]
  7. [http://w3techs.com/technologies/details/os-linux/all/all Usage of Linux for websites] (англ.). По данным на март 2011 года, GNU/Linux-системы используются на 31,2 % веб-сайтов в интернете.. W3 Techs. Проверено 2 августа 2010. [http://www.webcitation.org/616XXWFzG Архивировано из первоисточника 21 августа 2011].
  8. [http://www.top500.org/statistics/list/ List Statistics | TOP500 Supercomputer Sites]
  9. [http://habrahabr.ru/post/185178/ Вышло ядро Linux 3.10 / Хабрахабр]
  10. Ima Sheep. [https://lkml.org/lkml/2015/4/12/178 Linux 4.0 released]. Linux Kernel Mailing List archive (Sun, 12 Apr 2015 15:41:30).
  11. Linus Torvalds. [https://lkml.org/lkml/2015/4/12/180 Re: Linux 4.0 released] (Sun, 12 Apr 2015 15:49:41 -0700).
  12. JOEY-ELIJAH SNEDDON. [http://www.omgubuntu.co.uk/2015/04/linux-kernel-4-0-new-features Linux Kernel 4.0 Features Live Kernel Patching, PS3 Support].
  13. http://www.pcweek.ru/foss/article/detail.php?ID=136238 "Обновлённое ядро поддерживает DSP-процессор Hexagon компании Qualcomm. "
  14. David A. Wheeler. [http://www.dwheeler.com/essays/linux-kernel-cost.html Linux Kernel 2.6: It's Worth More!]. [http://www.webcitation.org/616XYjg7d Архивировано из первоисточника 21 августа 2011].
  15. [http://ec.europa.eu/enterprise/ict/policy/doc/2006-11-20-flossimpact.pdf Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector], таблица 3 на странице 50.
  16. [http://www.linuxfoundation.org/publications/estimatinglinux.pdf Estimating Total Development Cost Of a Linux Distribution], таблица на странице 6.
  17. [http://linux.slashdot.org/story/10/02/24/155214/The-Billion-Dollar-Kernel The Billion Dollar Kernel]
  18. [http://ssd.jpl.nasa.gov/sbdb.cgi?sstr=9885+Linux 9885 Linux (1994 TM14)] (англ.). JPL Small-Body Database Browser. JPL (NASA). Проверено 23 мая 2008. [http://www.webcitation.org/616XZAvGR Архивировано из первоисточника 21 августа 2011].

Литература

  • Торвальдс, Л.; Даймонд, Д. Ради удовольствия = Just for fun. — М.: ЭКСМО-Пресс, 2002. — С. 288. — ISBN 5-04-009285-7.
  • Роберт Лав. Разработка ядра Linux = Linux Kernel Development. — 2-е изд. — М.: «Вильямс», 2006. — С. 448. — ISBN 0-672-32720-1.
  • Родригес К. З., Фишер Г., Смолски С. Linux: азбука ядра. — «КУДИЦ-ПРЕСС», 2007. — С. 584. — ISBN 978-5-91136-017-7.
  • Баррет Д. Linux: основные команды. Карманный справочник. — 2-е издание. — «КУДИЦ-ПРЕСС», 2007. — С. 288. — ISBN 5-9579-0050-8.

Ссылки

  • [http://kernel.org/ The Linux Kernel Archives] (англ.) (HTML). — Официальный сайт ядра Linux. Проверено 6 июля 2010. [http://www.webcitation.org/616XZbj71 Архивировано из первоисточника 21 августа 2011].
  • [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/summary] (англ.) (HTML). — Git-репозиторий. Проверено 6 июля 2010. [http://www.webcitation.org/616XaA5hg Архивировано из первоисточника 21 августа 2011].
  • [http://www.kernel.org/pub/linux/kernel/v3.0/ Index of /pub/linux/kernel/v3.0] (англ.) (HTML). — Последние версии. Проверено 12 ноября 2012. [http://www.webcitation.org/616XaePPo Архивировано из первоисточника 21 августа 2011].
  • [http://www.opennet.ru/base/sys/linux26_intro.txt.html Замечательный Мир Linux 2.6] (рус.) (HTML). — Замечательный Мир Linux 2.6 (linux). Проверено 6 июля 2010. [http://www.webcitation.org/616XbAZ08 Архивировано из первоисточника 21 августа 2011].
  • [http://linux.opennet.ru Мини-портал Linux] (рус.) (HTML). — Мини-портал Linux на сайте OpenNet. Проверено 6 июля 2010. [http://www.webcitation.org/616XcIaXx Архивировано из первоисточника 21 августа 2011].
  • [http://KernelNewbies.org/ Linux Kernel Newbies] (англ.) (HTML). — KernelNewbies.org. Проверено 6 июля 2010.
  • [http://linux.lanbin.ru/ Мини-справочник GNU/Linux] (рус.) (HTML). — Фонд свободного программного обеспечения (FSF). Проверено 6 июля 2010. [http://www.webcitation.org/616Xdb62e Архивировано из первоисточника 21 августа 2011].
  • [http://www.opennet.ru/opennews/art.shtml?num=33529 Анализ тенденций и участников разработки ядра Linux ] — статья об отчёте The Linux Foundation за 2012 год

Отрывок, характеризующий Ядро Linux

Ей, наверняка, не казалось, что говорить о нём в его же присутствии может быть не очень-то правильно... Она просто-напросто была очень счастлива, что наконец-то у неё появился друг, и этим счастьем со мной открыто и с удовольствием делилась.
Она вообще была неправдоподобно счастливым ребёнком! Как у нас говорилось – «счастливой по натуре». Ни до Стеллы, ни после неё, мне никогда не приходилось встречать никого, хотя бы чуточку похожего на эту «солнечную», милую девчушку. Казалось, никакая беда, никакое несчастье не могло выбить её из этой её необычайной «счастливой колеи»... И не потому, что она не понимала или не чувствовала человеческую боль или несчастье – напротив, я даже была уверена, что она чувствует это намного глубже всех остальных. Просто она была как бы создана из клеток радости и света, и защищена какой-то странной, очень «положительной» защитой, которая не позволяла ни горю, ни печали проникнуть в глубину её маленького и очень доброго сердечка, чтобы разрушить его так привычной всем нам каждодневной лавиной негативных эмоций и раненных болью чувств.... Стелла сама БЫЛА СЧАСТЬЕМ и щедро, как солнышко, дарила его всем вокруг.
– Я нашла его таким грустным!.. А теперь он уже намного лучше, правда, Гарольд? – обращаясь к нам обоим одновременно, счастливо продолжала Стелла.
– Мне очень приятно познакомиться с вами, – всё ещё чувствуя себя чуточку скованно, сказала я. – Это наверное очень сложно находиться так долго между мирами?..
– Это такой же мир как все, – пожав плечами, спокойно ответил рыцарь. – Только почти пустой...
– Как – пустой? – удивилась я.
Тут же вмешалась Стелла... Было видно, что ей не терпится поскорее мне «всё-всё» рассказать, и она уже просто подпрыгивала на месте от сжигавшего её нетерпения.
– Он просто никак не мог найти здесь своих близких, но я ему помогла! – радостно выпалила малышка.
Гарольд ласково улыбнулся этому дивному, «искрящемуся» счастьем человечку и кивнул головой, как бы подтверждая её слова:
– Это правда. Я искал их целую вечность, а оказалось, надо было всего-навсего открыть правильную «дверь». Вот она мне и помогла.
Я уставилась на Стеллу, ожидая объяснений. Эта девочка, сама того не понимая, всё больше и больше продолжала меня удивлять.
– Ну, да, – чуть сконфужено произнесла Стелла. – Он рассказал мне свою историю, и я увидела, что их здесь просто нет. Вот я их и поискала...
Естественно, из такого объяснения я ничего толком не поняла, но переспрашивать было стыдно, и я решила подождать, что же она скажет дальше. Но, к сожалению или к счастью, от этой смышлёной малышки не так-то просто было что-то утаить... Хитро глянув на меня своими огромными глазами, она тут же предложила:
– А хочешь – покажу?
Я только утвердительно кивнула, боясь спугнуть, так как опять ожидала от неё чего-то очередного «потрясающе-невероятного»... Её «цветастая реальность» куда-то в очередной раз исчезла, и появился необычный пейзаж...
Судя по всему, это была какая-то очень жаркая, возможно восточная, страна, так как всё кругом буквально слепило ярким, бело-оранжевым светом, который обычно появлялся только лишь при очень сильно раскалённом, сухом воздухе. Земля, сколько захватывал глаз, была выжженной и бесцветной, и, кроме в голубой дымке видневшихся далёких гор, ничто не разнообразило этот скупо-однообразный, плоский и «голый» пейзаж... Чуть дальше виднелся небольшой, древний белокаменный город, который по всей окружности был обнесён полуразрушенной каменной стеной. Наверняка, уже давным-давно никто на этот город не нападал, и местные жители не очень-то беспокоились о «подновлении» обороны, или хотя бы «постаревшей» окружающей городской стены.
Внутри по городу бежали узенькие змееподобные улочки, соединяясь в одну-единственную пошире, с выделявшимися на ней необычными маленькими «замками», которые скорее походили на миниатюрные белые крепости, окружённые такими же миниатюрными садами, каждый из которых стыдливо скрывался от чужих глаз за высокой каменной стеной. Зелени в городе практически не было, от чего залитые солнцем белые камни буквально «плавились» от испепеляющей жары. Злое, полуденное солнце яростно обрушивало всю мощь своих обжигающих лучей на незащищённые, пыльные улицы, которые, уже задыхаясь, жалобно прислушивались к малейшему дуновению, так и не появлявшегося, свежего ветерка. Раскалённый зноем воздух «колыхался» горячими волнами, превращая этот необычный городок в настоящую душную печь. Казалось, это был самый жаркий день самого жаркого на земле лета.....
Вся эта картинка была очень реальной, такой же реальной, какими когда-то были мои любимые сказки, в которые я, так же, как здесь, «проваливалась с головой», не слыша и не видя ничего вокруг...
Вдруг из «общей картинки» выделилась маленькая, но очень «домашняя» крепость, которая, если бы не две смешные квадратные башенки, походила бы более на большой и довольно уютный дом.
На ступеньках, под большим оливковым деревом, играл маленький белокурый мальчонка лет четырёх-пяти. А за ним, под старой яблоней собирала упавшие яблоки полная, приятная женщина, похожая на милую, заботливую, добродушную няню.
На дворе появилась очень красивая, светловолосая молодая дама и... мой новый знакомый – рыцарь Гарольд.
Женщина была одета в необычное, но видимо, очень дорогое, длинное шёлковое платье, складки которого мягко колыхались, повторяя каждое движение её лёгкого, изящного тела. Смешная, шитая бисером, голубая шёлковая шапочка мирно покоилась на светлых волосах красивой дамы, великолепно подчёркивая цвет её больших светло-голубых глаз.
Гарольд же, несмотря на такую испепеляющую, адскую жару, почти что задыхаясь, «честно мучился» в своих раскалённых рыцарских доспехах, мысленно проклиная сумасшедшую жару (и тут же прося прощения у «милостивого» Господа, которому он так верно и искренне уже столько лет служил)... Горячий пот, сильно раздражая, лился с него градом, и, застилая ему глаза, бессердечно портил быстро убегавшие минуты их очередного «последнего» прощания... По-видимому, рыцарь собрался куда-то очень далеко, потому что лицо его милой дамы было очень печальными, несмотря на то, что она честно, изо всех сил пыталась это скрыть...
– Это в последний раз, ласка моя... Я обещаю тебе, это правда в последний раз, – с трудом выговорил рыцарь, ласково касаясь её нежной щеки.
Разговор я слышала мысленно, но оставалось странное ощущение чужой речи. Я прекрасно понимала слова, и всё же знала, что они говорят на каком-то другом языке.
– Я тебя больше никогда не увижу... – сквозь слёзы прошептала женщина. – Уже никогда...
Мальчонка почему-то никак не реагировал ни на близкий отъезд своего отца, ни на его прощание с мамой. Он спокойно продолжал играть, не обращая никакого внимания на взрослых, как будто это его никак не касалось. Меня это чуточку удивило, но я не решалась ничего спрашивать, а просто наблюдала, что же будет дальше.
– Разве ты не скажешь мне «до свидания»? – обращаясь к нему, спросил рыцарь.
Мальчик, не поднимая глаз, отрицательно покачал головкой.
– Оставь его, он просто на тебя злится... – грустно попросила женщина. – Он тоже тебе верил, что больше не оставишь его одного.
Рыцарь кивнул и, взобравшись на свою огромную лошадь, не оборачиваясь поскакал по узенькой улице, очень скоро скрывшись за первым же поворотом. А красивая дама печально смотрела ему в след, и душа её готова была бежать... ползти... лететь за ним не важно куда, только бы ещё раз хотя бы на миг увидеть, хоть на короткое мгновение услышать!.. Но она знала, что этого не будет, что она останется там, где стоит, и что, по капризной прихоти судьбы, уже не увидит и не обнимет своего Гарольда никогда... По её бледным, в миг осунувшимся, щекам, катились крупные, тяжёлые слёзы и сверкающими каплями исчезали в пыльной земле...
– Господи сохрани его... – горько шептала женщина. – Я никогда его не увижу... уже никогда... помоги ему, Господи...
Она стояла неподвижно, как скорбная мадонна, ничего вокруг не видя и не слыша, а к её ногам жался белокурый малыш, теперь уже обнаживший всю свою печаль и глядевший с тоской туда, где вместо его любимого папы только лишь одиноко белела пустая пыльная дорога.....
– Как же я мог с тобой не попрощаться, ласка моя?.. – вдруг прозвучал рядом тихий, грустный голос.
Гарольд не отрываясь смотрел на свою милую, и такую печальную жену, и смертельная тоска, которую, казалось, было невозможно смыть даже водопадом слёз, плескалась в его синих глазах... А ведь выглядел он очень сильным и мужественным человеком, которого, вероятнее всего, не так-то просто было прослезить...
– Не надо! Ну не надо печалиться! – гладила его огромную руку своими хрупкими пальчиками малышка Стелла. – Ты же видишь, как сильно они тебя любили?.. Ну, хочешь, мы не будем больше смотреть? Ты это видел и так уже много раз!..
Картинка исчезла... Я удивлённо посмотрела на Стеллу, но не успела ничего сказать, как оказалась уже в другом «эпизоде» этой чужой, но так глубоко затронувшей мою душу, жизни.
Просыпалась непривычно яркая, усыпанная алмазными каплями росы, весёлая, розовая заря. Небо на мгновение вспыхнуло, окрасив алым заревом каёмочки кудрявых, белобрысых облаков, и сразу же стало очень светло – наступило раннее, необычайно свежее утро. На террасе уже знакомого дома, в прохладной тени большого дерева, сидели втроём – уже знакомый нам, рыцарь Гарольд и его дружная маленькая семья. Женщина выглядела изумительно красивой и совершенно счастливой, похожей на ту же самую утреннюю зарю... Ласково улыбаясь, она что-то говорила своему мужу, иногда нежно дотрагиваясь до его руки. А он, совершенно расслабившись, тихо качал на коленях своего заспанного, взъерошенного сынишку, и, с удовольствием попивая нежно розовый, «вспотевший» напиток, время от времени лениво отвечал на какие-то, видимо, ему уже знакомые, вопросы своей прелестной жены ...
Воздух был по-утреннему «звенящим» и удивительно чистым. Маленький опрятный садик дышал свежестью, влагой и запахами лимонов; грудь распирало от полноты струящегося прямо в лёгкие, дурманяще-чистого воздуха. Гарольду хотелось мысленно «взлететь» от наполнявшего его уставшую, исстрадавшуюся душу, тихого счастья!... Он слушал, как тоненькими голосами пели только что проснувшиеся птицы, видел прекрасное лицо своей улыбающейся жены, и казалось, ничто на свете не могло нарушить или отнять у него этот чудесный миг светлой радости и покоя его маленькой счастливой семьи...
К моему удивлению, эта идиллическая картинка вдруг неожиданно отделилась от нас со Стеллой светящейся голубой «стеной», оставляя рыцаря Гарольда со своим счастьем наедине. А он, забыв обо всём на свете, всей душой «впитывал» эти чудесные, и такие дорогие ему мгновения, даже не замечая, что остался один...
– Ну вот, пусть он это смотрит, – тихо прошептала Стелла. – А я покажу тебе, что было дальше...
Чудесное видение тихого семейного счастья исчезло... а вместо него появилось другое, жестокое и пугающее, не обещающее ничего хорошего, а уж, тем более – счастливого конца.....
Это был всё ещё тот же бело-каменный город, и тот же, уже знакомый нам, дом... Только на этот раз всё вокруг полыхало в огне... Огонь был везде. Ревущее, всё пожирающее пламя вырывалось из разбитых окон и дверей, и охватывало мечущихся в ужасе людей, превращая их в кричащие человеческие факелы, чем создавало преследовавшим их чудовищам удачную живую мишень. Женщины с визгом хватали детей, пытаясь укрыться с ними в подвалах, но спасались они не надолго – спустя короткое время хохочущие изверги тащили их, полуголых и отчаянно вопящих, наружу, чтобы насиловать прямо на улице, рядом с ещё не остывшими трупиками их маленьких детей... От разносящейся по всюду копоти почти ничего не было видно... Воздух был «забит» запахами крови и гари, нечем было дышать. Обезумевшие от страха и жары, прятавшиеся в подвалах старики вылазили во двор и тут же падали мёртвыми под мечами жутко гикающих, носящихся по всему городу на конях, звероподобных диких людей. Вокруг слышался грохот копыт, звон железа, и дикие крики, от которых стыла в жилах кровь...
Перед моими глазами, как в кино, проносились страшные, холодящие сердце картинки насилия и зверских убийств... Я не могла на всё это спокойно смотреть, сердце буквально «выпрыгивало» из груди, лоб (как если бы я была в физическом теле!..) покрывался холодной испариной, и хотелось бежать, куда глаза глядят из этого ужасающего, чудовищно-безжалостного мира... Но, взглянув на серьёзно-сосредоточенное личико Стеллы мне стало стыдно за свою слабость, и я заставила себя смотреть дальше.
Мы оказались внутри того же самого дома, только сейчас всё в нём было полностью разбито и уничтожено, а посередине одной из комнат, прямо на полу, валялось мёртвое тело доброй няни... Через разбитые окна с улицы слышались душераздирающие женские крики, всё перемешалось в ужасном кошмаре безысходности и страха... Казалось, весь мир вдруг почему-то сошёл с ума... Тут же мы увидели другую комнату, в которой трое мужчин, тяжело навалившись, пытались привязать к ручкам кровати, вырывающуюся из последних сил, светловолосую жену рыцаря Гарольда... А его маленький сын сидел прямо под той же кроватью, сжимая в своих малюсеньких ручках, слишком большой для него, папин кинжал и, закрыв глаза, сосредоточено что-то шептал... Никто во всей этой сумасшедшей суматохе никакого внимания на него не обращал, а он был так странно и «неподвижно» спокоен, что сперва я подумала – с малышом, от всего этого ужаса, случился самый настоящий эмоциональный удар. Но очень скоро поняла, что ошиблась... Как оказалось, ребёнок, попросту, из последних сил пытался собраться для какого-то, видимо очень решительного и важного шага...
Он мог свободно дотянуться до любого из насильников, и я сперва подумала, что бедный малыш, думая ещё совершенно по-детски, хочет попытаться как-то защитить свою несчастную маму. Но, как оказалось, этот крошечный, насмерть напуганный мальчонка, был в своей, ещё детской, душе настоящим сыном рыцаря, и сумел сделать самый правильный и единственный в тот жуткий момент вывод... и решился на самый тяжёлый в его коротенькой жизни, шаг... Каким-то образом, наконец, собравшись, и тихо прошептав «мамочка!», он выскочил наружу, и изо всех своих детских силёнок.... полоснул тяжеленным кинжалом прямо по нежной шее свою бедную мать, которую уже никак по-другому не мог спасти, и которую он всем своим детским сердечком беззаветно любил....
Вначале, в «насильническом» азарте, происшедшего никто даже и не заметил... Мальчонка тихонько отполз в угол, и видимо не имея ни на что больше сил, сидел застывший, ко всему безразличный, и расширившимися от ужаса глазами наблюдал как прямо перед ним, от его же руки, уходила из жизни его добрая, самая лучшая на свете, ласковая мама...
Вдруг это страшное видение куда-то исчезло и вокруг опять сиял, переливаясь всеми цветами радуги, светлый и радостный Стеллин мир... А я, не в состоянии прийти в себя от увиденного кошмара, пыталась сохранить в своей памяти чистый образ этого чудесного, храброго маленького мальчика, и даже не заметила, что плачу... Я чувствовала, как по моим щекам рекой текут слёзы, но мне почему-то ни капельки не было стыдно...
– Дальше тебе не буду показывать, потому что там будет ещё грустнее... – расстроено сказала Стелла. – Но мы их нашли, с ними всё в порядке! Ты не грусти так! – тут же опять, стряхнув печаль, прощебетала она.
А бедный Гарольд сидел на созданном ею сверкающем камне, гладил одним пальцем мурлыкающего красного дракончика, и был от нас очень далеко, в своём заветном мире, в котором наверняка все они были всё ещё вместе, и в котором очень реально жила его несвершившаяся мечта...
Мне было так его жаль!.. Но, к сожалению, помочь ему было не в моих силах. И мне, честно, очень хотелось узнать, чем же эта необыкновенная малышка ему помогла...
– Мы нашли их! – опять повторила Стелла. – Я не знала, как это сделать, но бабушка мне помогла!
Оказалось, что Гарольд, при жизни, даже не успел узнать, как страшно пострадала, умирая, его семья. Он был рыцарем-воином, и погиб ещё до того, как его город оказался в руках «палачей», как и предсказывала ему жена.
Но, как только он попал в этот, ему незнакомый, дивный мир «ушедших» людей, он сразу же смог увидеть, как безжалостно и жестоко поступила с его «единственными и любимыми» злая судьба. После он, как одержимый, целую вечность пытался как-то, где-то найти этих, самых ему дорогих на всём белом свете людей... И искал он их очень долго, больше тысячи лет, пока однажды какая-то, совершенно незнакомая, милая девочка Стелла не предложила ему «сделать его счастливым» и не открыла ту «другую» нужную дверь, чтобы наконец-то их для него найти...
– Хочешь, я покажу тебе? – опять предложила малышка,
Но я уже не была так уверена, хочу ли я видеть что-то ещё... Потому, что только что показанные ею видения ранили душу, и невозможно было от них так быстро избавиться, чтобы желать увидеть какое-то продолжение...
– Но ты ведь хочешь увидеть, что с ними случилось! – уверенно констатировала «факт» маленькая Стелла.
Я посмотрела на Гарольда и увидела в его глазах полное понимание того, что я только что нежданно-негаданно пережила.
– Я знаю, что ты видела... Я смотрел это много раз. Но они теперь счастливы, мы ходим смотреть на них очень часто... И на них «бывших» тоже... – тихо произнёс «грустный рыцарь».
И тут только я поняла, что Стелла, просто-напросто, когда ему этого хотелось, переносила его в его же прошлое, точно так же, как она сделала это только что!!! И она делала это почти играючи!.. Я даже не заметила, как эта дивная, светлая девчушка всё сильнее и сильнее стала меня к себе «привязывать», становясь для меня почти что настоящим чудом, за которым мне без конца хотелось наблюдать... И которую совершенно не хотелось покидать... Тогда я почти ещё ничего не знала и не умела, кроме того, что могла понять и научиться сама, и мне очень хотелось хотя бы чему-то у неё научиться, пока ещё была такая возможность.
– Ты ко мне, пожалуйста, приходи! – тихо прошептала вдруг погрустневшая Стелла, – ты ведь знаешь, что тебе ещё нельзя здесь оставаться... Бабушка сказала, что ты не останешься ещё очень, очень долго... Что тебе ещё нельзя умирать. Но ты приходи...
Всё вокруг стало вдруг тёмное и холодное, будто чёрные тучи вдруг затянули такой красочный и яркий Стеллин мир...
– Ой, не надо думать о таком страшном! – возмутилась девочка, и, как художник кисточкой по полотну, быстро «закрасила» всё опять в светлый и радостный цвет.
– Ну вот, так правда лучше? – довольно спросила она.
– Неужели это были просто мои мысли?.. – опять не поверила я.
– Ну, конечно же! – засмеялась Стелла. – Ты же сильная, вот и создаёшь по-своему всё вокруг.
– А как же тогда думать?.. – всё ещё никак не могла «въехать» в непонятное я.
– А ты просто «закройся» и показывай только то, что хочешь показать, – как само собой разумеющееся, произнесла моя удивительная подружка. – Бабушка меня так научила.
Я подумала, что видимо мне тоже пришла пора чуть-чуть «потрясти» свою «засекреченную» бабушку, которая (я почти была в этом уверена!) наверняка что-то знала, но почему-то никак не желала меня пока ничему учить...
– Так ты хочешь увидеть, что стало с близкими Гарольда? – нетерпеливо спросила малышка.
Желания, если честно, у меня слишком большого не было, так как я не была уверена, чего от этого «показа» можно ожидать. Но чтобы не обидеть щедрую Стеллу, согласилась.
– Я не буду тебе показывать долго. Обещаю! Но ты должна о них знать, правда же?.. – счастливым голоском заявила девчушка. – Вот, смотри – первым будет сын...

К моему величайшему удивлению, в отличие от виденного раньше, мы попали в совершенно другое время и место, которое было похожим на Францию, и по одежде напоминало восемнадцатый век. По широкой мощёной улице проезжал крытый красивый экипаж, внутри которого сидели молодые мужчина и женщина в очень дорогих костюмах, и видимо, в очень дурном настроении... Молодой человек что-то упорно доказывал девушке, а та, совершенно его не слушая, спокойно витала где-то в своих грёзах, чем молодого человека очень раздражала...
– Вот видишь – это он! Это тот же «маленький мальчик»... только уже через много, много лет, – тихонько прошептала Стелла.
– А откуда ты знаешь, что это точно он? – всё ещё не совсем понимая, спросила я.
– Ну, как же, это ведь очень просто! – удивлённо уставилась на меня малышка. – Мы все имеем сущность, а сущность имеет свой «ключик», по которому можно каждого из нас найти, только надо знать, как искать. Вот смотри...
Она опять показала мне малыша, сына Гарольда.
– Подумай о его сущности, и ты увидишь...
И я тут же увидела прозрачную, ярко светящуюся, на удивление мощную сущность, на груди которой горела необычная «бриллиантовая» энергетическая звезда. Эта «звезда» сияла и переливалась всеми цветами радуги, то уменьшаясь, то увеличиваясь, как бы медленно пульсируя, и сверкала так ярко, будто и вправду была создана из самых потрясающих бриллиантов.
– Вот видишь у него на груди эту странную перевёрнутую звезду? – Это и есть его «ключик». И если ты попробуешь проследить за ним, как по ниточке, то она приведёт тебя прямо к Акселю, у которого такая же звезда – это и есть та же самая сущность, только уже в её следующем воплощении.
Я смотрела на неё во все глаза, и видно заметив это, Стелла засмеялась и весело призналась:
– Ты не думай, что это я сама – это бабушка меня научила!..
Мне было очень стыдно чувствовать себя полной неумёхой, но желание побольше узнать было во сто крат сильнее любого стыда, поэтому я запрятала свою гордость как можно глубже и осторожно спросила:
– А как же все эти потрясающие «реальности», которые мы сейчас здесь наблюдаем? Ведь это чья-то чужая, конкретная жизнь, и ты не создаёшь их так же, как ты создаёшь все свои миры?
– О, нет! – опять обрадовалась возможности что-то мне объяснить малышка. – Конечно же, нет! Это ведь просто прошлое, в котором все эти люди когда-то жили, и я всего лишь переношу нас с тобой туда.
– А Гарольд? Как же он всё это видит?
– О, ему легко! Он ведь такой же, как я, мёртвый, вот он и может перемещаться, куда захочет. У него ведь уже нет физического тела, поэтому его сущность не знает здесь препятствий и может гулять, где ей захочется... так же, как и я... – уже печальнее закончила малышка.
Я грустно подумала, что то, что являлось для неё всего лишь «простым переносом в прошлое», для меня видимо ещё долго будет являться «загадкой за семью замками»... Но Стелла, как будто услышав мои мысли, тут же поспешила меня успокоить:
– Вот увидишь, это очень просто! Тебе надо только попробовать.
– А эти «ключики», они разве никогда не повторяются у других? – решила продолжить свои расспросы я.
– Нет, но иногда бывает кое-что другое...– почему-то забавно улыбаясь, ответила крошка. – Я в начале именно так и попалась, за что меня очень даже сильно «потрепали»... Ой, это было так глупо!..
– А как? – очень заинтересовавшись, спросила я.
Стелла тут же весело ответила:
– О, это было очень смешно! – и чуть подумав, добавила, – но и опасно тоже... Я искала по всем «этажам» прошлое воплощение своей бабушки, а вместо неё по её «ниточке» пришла совсем другая сущность, которая как-то сумела «скопировать» бабушкин «цветок» (видимо тоже «ключик»!) и, как только я успела обрадоваться, что наконец-то её нашла, эта незнакомая сущность меня безжалостно ударила в грудь. Да так сильно, что у меня чуть душа не улетела!..
– А как же ты от неё избавилась? – удивилась я.
– Ну, если честно, я и не избавлялась... – смутилась девочка. – Я просто бабушку позвала...
– А, что ты называешь «этажами»? – всё ещё не могла успокоиться я.
– Ну, это разные «миры» где обитают сущности умерших... В самом красивом и высоком живут те, которые были хорошими... и, наверное, самыми сильными тоже.
– Такие, как ты? – улыбнувшись, спросила я.
– О, нет, конечно! Я наверное сюда по ошибке попала. – Совершенно искренне сказала девчушка. – А знаешь, что самое интересное? Из этого «этажа» мы можем ходить везде, а из других никто не может попасть сюда... Правда – интересно?..
Да, это было очень странно и очень захватывающе интересно для моего «изголодавшегося» мозга, и мне так хотелось узнать побольше!.. Может быть потому, что до этого дня мне никогда и никто ничего толком не объяснял, а просто иногда кто-то что-то давал (как например, мои «звёздные друзья»), и поэтому, даже такое, простое детское объяснение уже делало меня необычайно счастливой и заставляло ещё яростнее копаться в своих экспериментах, выводах и ошибках... как обычно, находя во всём происходящем ещё больше непонятного. Моя проблема была в том, что делать или создавать «необычное» я могла очень легко, но вся беда была в том, что я хотела ещё и понимать, как я это всё создаю... А именно это пока мне не очень-то удавалось...