Линус Торвальдс поздравил (https://lkml.org/lkml/2014/8/25/558) сообщество с двадцатитрёхлетием с момента публикации первого анонса ядра Linux, выпустив второй кандидат в релизы ядра 3.17. 23 года назад, после 5 месяцев разработки, 21-летний студент Линус Торвальдс объявил (http://www.cs.cmu.edu/~awb/linux.history.html) в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux для которой было отмечено завершение портировния bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 (http://www.linuxgrill.com/anonymous/kernel/Archive/historic/) имело размер 62 Кб в сжатом виде и содержало около 10 тыс. строк кода. Современное ядро Linux насчитывает более 15 млн строк кода. По данным исследования, проведенного по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта аналогичного современному ядру Linux составила бы более миллиарда долларов.
Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты (http://www.cs.vu.nl/~ast/brown/codecomparison/alexey.html) исследования показали наличие только 4 несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.Первоначально Линус задумал назвать ядро Freax, от слов "free", "freak" и X (Unix). Но имя Linux ядро получило с легкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на своем FTP-сервере, назвав директорию с архивом не "freax" как просил Торвальдс, а "linux". Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux ядра, пингвин Tux, был выбран в результате соревнования (http://www.cs.earlham.edu/%7Ejeremiah/linux-pix/linux-l...), состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.
Статистика с отражением динамики роста кодовой базы ядра:
- 0.0.1 - сентябрь 1991, 10 тыс. строк кода;- 1.0.0 - март 1994, 176 тыс. строк кода;
- 1.2.0 - март 1995, 311 тыс. строк кода;
- 2.0.0 - июнь 1996, 778 тыс. строк кода;
- 2.2.0 - январь 1999, 1.8 млн. строк кода;
- 2.4.0 - январь 2001, 3.4 млн. строк кода;
- 2.6.0 - декабрь 2003, 5.9 млн. строк кода;
- 2.6.28 - декабрь 2008, 10.2 млн. строк кода;
- 2.6.35 - август 2010, 13.4 млн. строк кода;
- 3.0 - июль 2011, 14.6 млн. строк кода;
- 3.5 - июль 2012, 15.5 млн. строк кода;
- 3.10 - июль 2013, 15.8 млн. строк кода;
- 3.16 - август 2014, 17.5 млн. строк кода.
Прогресс, развития ядра:- Linux 0.0.1 - сентябрь 1991, первый публичный выпуск, поддерживающий только CPU i386 и загружающийся с дискеты;
- Linux 0.12 - январь 1992, код начал распространяться под лицензией GPLv2;
- Linux 0.95 - март 1992, обеспечена возможность запуска X Window System, реализована поддержка виртуальной памяти и раздела подкачки.
- Linux 0.96-0.99 - 1992-1993, началась работа над сетевым стеком. Представлена файловая система Ext2, добавлена поддержка формата файлов ELF, представлены драйверы для звуковых карт и контроллеров SCSI, реализована загрузка модулей ядра и файловой системы /proc.
- В 1992 году появились первые дистрибутивы SLS и Yggdrasil. Летом 1993 года были основаны проекты Slackware и Debian.- Linux 1.0 - март 1994, первый официально стабильный релиз;
- Linux 1.2 - март 1995, существенное увеличение числа драйверов, поддержка платформ Alpha, MIPS и SPARC, расширение возможностей сетевого стека, появление пакетного фильтра, поддержка NFS;
- Linux 2.0 - июнь 1996 года, поддержка многопроцессорных систем;
- Март 1997, основан LKML, список рассылки разработчиков ядра Linux;- 1998 год, запущен первый попавший в список Top500 кластер на базе Linux, состоящий из 68 узлов с CPU Alpha;
- Linux 2.2 - январь 1999, увеличена эффективность системы управления памятью, добавлена поддержка IPv6, реализован новый межсетевой экран, представлена новая звуковая подсистема;
- Linux 2.4 - февраль 2001, обеспечена поддержка 8-процессорных систем и 64 Гб ОЗУ, файловая система Ext3, поддержка USB, ACPI;
- Linux 2.6 - декабрь 2003, поддержка SELinux, средства автоматического тюнинга параметров ядра, sysfs, переработанная система управления памятью;
- В 2005 году представлен гипервизор Xen, который открыл эру виртуализации;
- В июле 2011 года после 10 лет развития ветки 2.6.x осуществлён (http://www.opennet.me/opennews/art.shtml?num=31259) переход к нумерации 3.x.
- В 2015 году ожидается (http://www.opennet.me/opennews/art.shtml?num=38331) выпуск ядра Linux 4.0, в который планируется включить только исправления ошибок, без добавления функциональных изменений и новшеств. Ядро 4.0 станет дополнительным стабилизирующим этапом, подводящим итог развития ветки 3.x.URL: https://lkml.org/lkml/2014/8/25/558
Новость: http://www.opennet.me/opennews/art.shtml?num=40452
Ура, товарищи!Мне почему-то кажется, что через несколько лет проект ядра линукс разделят на несколько подпроектов, которые параллельно будут развиваться и поддерживаться различными группами разработчиков и мейнтенеров.
Например, выделят Core Level в ядре и этот уровень будет отвечать за взаимодействие драйверов с другими подсистемами.
Выделят Block Device Driver Level, в котором не будут менять интерфейсы и методы взаимодействия на протяжении версии Core Level.
Далее другие подсистемы ядра, такие как планировщики, фильтры и прочие.При таком подходе к разработке, драйверы к своим новым устройствам смогут создавать даже совсем маленькие стартапы, в которых нет опыта взаимодействия с воротилами ядерной промышленности. ;-)
Пока жив Торвальдс, этого не будет.
И хорошо. Ибо стабильный внутренний API - соблазн для проприерастов делать блободрайверы.
И правильно. Ядро - епархия ядерщиков. Внешние участники крутятся как умеют, а блобье там вообще прямым текстом не велкам. Потому что усложняет разработку и отладку, к тому же ряд разработчиков явным образом заявили что их код линковать можно только с GPLным и нии...т (символы экспортируемые как GPL_ONLY).Наличие у системы своих дров - лютая фича. Которая означает что может быть нормальный plug-n-play, а не так что "засунь сидюк, запусти setup.exe как в досе, 2 ребута, и вот железка уже заработала". Что система не зависит от произвола левых хpeнов. И если мне не понравится вон то изменение в вот этом драйвере, я это отменю парой команд git в пиковом случае. А у виндузоидов если вендырь прокатил с дровами - остается только обтечь и утереться...
Попахивает микроядерностью, сударь!
Вангуешь скорую кончину Линусу? Без идейного лидера проект может свалиться в вялотекущее раздробленное нечно, из которого только проприетасты будут тырить кусочки под свои задачи.
> Например, выделят Core Level в ядре и этот уровень будет отвечать за
> взаимодействие драйверов с другими подсистемами.http://lwn.net/Articles/203731/ с приветами вашим невидиям и риатекам.
""Поддержание драйверов вне дерева бесстыдное самобичевание в лучшем случае. Нас это действительно не волнует, - если бы не мы сделали их жизнь сложнее, они бы пошли и загнали себе булавки под ногти, чтобы компенсировать отсутствие боли. Если подумать об этом ещё, то мы, вероятно, делает им одолжение - по крайней мере так они остаются _в_безопасности_.
David Woodhouse
> При таком подходе к разработке, драйверы к своим новым устройствам смогут создавать
> даже совсем маленькие стартапы, в которых нет опыта взаимодействия с воротилами
> ядерной промышленности. ;-)С нуждами стартапов пройдите на freebsd.org и apache.org. Там _всем помогают!
> Мне почему-то кажется, что через несколько лет проект ядра линукс разделят на
> несколько подпроектов, которые параллельно будут развиваться и поддерживаться
> различными группами разработчиков и мейнтенеров.Мне почему-то кажется, что где-то разморозилась криокамера. Ядро Linux уже давно именно так и разрабатывают. Разработчики пилят свои куски где-то отдельно, а потом, когда собираются выкатить новую версию - открывают окно приема изменений, и разработчики кидают Торвальдсу pull requests на то что готово, а тот сводит все воедино. Готово - это логически завершенное состояние, не конфликтующее с остальным деревом сорцов и более-менее работоспособное (окончательная проверка - в -RC версиях).
Логично что пилить на части имеет смысл в рамках подсистем/драйверов/etc и разработка естественным образом распараллелилась по сложившимся границам подсистем и драйверов. Git позволяет это делать естественно и удобно. А в релизы ядер включают соответственно те фичи/драйвера/... которые удалось нормально запилить к этому моменту. Для любителей экспериментов/свежака есть staging drivers, там могут быть драйвера которые "пц как нужны, но не допилено до состояния которое разработчики считают желаемым".
> Например, выделят Core Level в ядре и этот уровень будет отвечать за
> взаимодействие драйверов с другими подсистемами.Остается только взять сорец линя в виде гитовой репы и полгодика понаблюдат как туда коммиты вообще прилетают, что такое окно приема изменений и кто и что майнтайнит.
> Выделят Block Device Driver Level, в котором не будут менять интерфейсы и
> методы взаимодействия на протяжении версии Core Level.Будут. Там никто не ориентируется на проприетарь, поэтому если блочному уровню от core станет надо что-то новое - пойдут и запилят, подточив оба уровня друг к другу. Как там будут проприерасы выкруиваться - никого не е... :). С другой стороны это обеспечивает неплохую скорость и фичность. Если нечто работает лучше по другому - идут и переделывают вот так.
> Далее другие подсистемы ядра, такие как планировщики, фильтры и прочие.
Капитан Очевидность сообщает что оно как-то так и происходит.
> При таком подходе к разработке, драйверы к своим новым устройствам смогут создавать
> даже совсем маленькие стартапы, в которых нет опыта взаимодействия с воротилами
> ядерной промышленности. ;-)А вот тут проблемы негров - шерифа не волнуют. Корректный метод создания драйвера для Linux - это замайнлайнить и развивать/поддерживать оный в рамках ядра. При этом разумеется отвалбашки будут замечены и вовремя починены, ибо если ядро не билдуется - причастный или таки починет это, или его кусок кода будет с треском вынесен.
Опоздали с новостью на 1 день!)))
Это было вчера...On 25 August 1991, he announced this system in a Usenet posting to the newsgroup "comp.os.minix."(с) http://en.wikipedia.org/wiki/History_of_Linux
Но лучше завтра, чем никогда...)))
>Ядро 4.0 станет дополнительным стабилизирующим этапом, подводящим итог развития ветки 3.x.Смѣрть блiзка.
>Смерть близка.Фикс. По правилам дореформенной орфографии именно так, хоть обвешайся ятями.
А так не готично.
Линукс Торвард наш Бог, предлагаю сегодня в честь праздника все вечером выпить по стакану, 0,5 пива.
И совершить жертвоприношение креветок
Таненбаум тормознул, а мог бы быть на коне
Не, не мог. Линус на коне не потому, что он как-то раз принял удачное решение, а потому что он 23 года работал над этим. Таненбауму надо было бы стать другим человеком и сместить свои жизненные приоритеты, чтобы добиться подобного. Да и то не факт, что из этого что-нибудь вышло.
> Таненбауму надо было бы стать другим человеком и сместить свои жизненные приоритеты, чтобы добиться подобного."А ты написал свое ядро?" Бросте, Таннебаум занимался своим делом, предовательской и изыскателькой деятельностью. И делал свои дела хорошо.
>> Таненбауму надо было бы стать другим человеком и сместить свои жизненные приоритеты, чтобы добиться подобного.
> "А ты написал свое ядро?" Бросте, Таннебаум занимался своим делом, предовательской и
> изыскателькой деятельностью. И делал свои дела хорошо.Я разве сказал, что Танненбаум выбрал неправильный путь в жизни? Нет, я сказал о том, что идя тем путём он бы не создал linux. Даже если бы он изменил, например, лицензию миникса на gpl.
>>> Таненбауму надо было бы стать другим человеком и сместить свои жизненные приоритеты, чтобы добиться подобного.
>> "А ты написал свое ядро?" Бросте, Таннебаум занимался своим делом, предовательской и
>> изыскателькой деятельностью. И делал свои дела хорошо.
> Я разве сказал, что Танненбаум выбрал неправильный путь в жизни? Нет, я
> сказал о том, что идя тем путём он бы не создал linux.Да, Кэп. Никакой Теннебаум не может заменить рабочую группу в 40 человек.
>>>> Таненбауму надо было бы стать другим человеком и сместить свои жизненные приоритеты, чтобы добиться подобного.
>>> "А ты написал свое ядро?" Бросте, Таннебаум занимался своим делом, предовательской и
>>> изыскателькой деятельностью. И делал свои дела хорошо.
>> Я разве сказал, что Танненбаум выбрал неправильный путь в жизни? Нет, я
>> сказал о том, что идя тем путём он бы не создал linux.
> Да, Кэп. Никакой Теннебаум не может заменить рабочую группу в 40 человек.Я вот думаю, вы прикидываетесь идиотом или это я непонятно выражаюсь. Вы как думаете? А как вы думаете, к какому из этих двух ответов склоняюсь я?
Так что, поясняю для идиотов: если бы Танненбаум занял бы место Линуса, то хрена бы чего у Танненбаума вышло бы, если бы Танненбаум не изменил бы при этом свою жизнь и мировоззрение. И да, при этом, "изыскательская" и преподавательская деятельность тоже пошли бы немного иным путём, и не факт, что они от этого стали бы лучше. Потому что, Линус работал над ядром linux 23 года, причём это был основной род его деятельности. И принимал решения в том же стиле, с которого и начал, в стиле, который обоснован мировоззрением Торвальдса.
>>> Я разве сказал, что Танненбаум выбрал неправильный путь в жизни? Нет, я
>>> сказал о том, что идя тем путём он бы не создал linux.
>> Да, Кэп. Никакой Теннебаум не может заменить рабочую группу в 40 человек.
> Так что, поясняю для идиотов: если бы Танненбаум занял бы место Линуса,
> то хрена бы чего у Танненбаума вышло быПоясняю для интеллектуалов: если бы у бабушки был хер, то это был бы дедушка. =)
>>>> Я разве сказал, что Танненбаум выбрал неправильный путь в жизни? Нет, я
>>>> сказал о том, что идя тем путём он бы не создал linux.
>>> Да, Кэп. Никакой Теннебаум не может заменить рабочую группу в 40 человек.
>> Так что, поясняю для идиотов: если бы Танненбаум занял бы место Линуса,
>> то хрена бы чего у Танненбаума вышло бы
> Поясняю для интеллектуалов: если бы у бабушки был хер, то это был
> бы дедушка. =)Отлично. Вы поняли мою мысль. Видимо надо было сразу давать объяснения "для идиотов".
> Отлично. Вы поняли мою мысль. Видимо надо было сразу давать объяснения "для идиотов".А была ли мысль? =)
>> Отлично. Вы поняли мою мысль. Видимо надо было сразу давать объяснения "для идиотов".
> А была ли мысль? =)Судя по тому, сколько времени вам потребовалось, чтобы её осознать -- была.
>>> Отлично. Вы поняли мою мысль. Видимо надо было сразу давать объяснения "для идиотов".
>> А была ли мысль? =)
> Судя по тому, сколько времени вам потребовалось, чтобы её осознать -- была.Потребовалось время, что бы ее поискать - а вдруг? Не нашел =)
>>>> Отлично. Вы поняли мою мысль. Видимо надо было сразу давать объяснения "для идиотов".
>>> А была ли мысль? =)
>> Судя по тому, сколько времени вам потребовалось, чтобы её осознать -- была.
> Потребовалось время, что бы ее поискать - а вдруг? Не нашел =)Примите мои глубокие соболезнования.
>>>>> Отлично. Вы поняли мою мысль. Видимо надо было сразу давать объяснения "для идиотов".
>>>> А была ли мысль? =)
>>> Судя по тому, сколько времени вам потребовалось, чтобы её осознать -- была.
>> Потребовалось время, что бы ее поискать - а вдруг? Не нашел =)
> Примите мои глубокие соболезнования.Не к чему. По поводу отсутсвия мыслей в ваших текстах горечи не испытываю.
> Таненбаум тормознул, а мог бы быть на конеАкадемики - не жокеи, им кони ни к чему. У Таненбаума очень странная расстановка приоритетов :). Т.е. система была для обучения в основном. Это в версии 3 он там трепыхаться начал, видимо заметив что операционки людьми оказывается не только для обучения программированию используются.
>> Таненбаум тормознул, а мог бы быть на коне
>Это в версии 3 он там трепыхаться начал, видимо заметив что операционки людьми оказывается не только для обучения программированию используются.Детка, это ничего, что он готовил специалистов для работы с уже существующими промышленными системами?
не знаем таких
хм, День Независимости Ядра, надо же
Унылое старое дерьмо этот Linux.
> Унылое старое дерьмо этот Linux.Бзды старее. А таки продули "новичку" подчистую.
>> Унылое старое дерьмо этот Linux.
> Бзды старее. А таки продули "новичку" подчистую.А что стрелки переводить? Ты бы еще со своим генным кодом сравнил.
Унылое старое дерьмо этот Linux, сам по себе.
Делался на пост-хипарских настроениях, типа в жопу всю методику, мы умники, да так и остался по сути большой анархистко-юношеской недоделкой.
Ураааа!
У мя сегодня на столе пиво!!! ... впрочем как и вчера... и позавчера :(А серьёзно, всему сообществу СПАСИБО.
Линукс дома, на нетбуке, на рабочей станции, на серверах, на тонких клиентах, маршрутизаторах и возможно даже в видеорегистраторе который пишет моё рожу.Жизнь полна Линуксом. С Днем Рождения !
Хоть бы к 25-летию, сделали Линусу подарок, десктоп допилили!