25 августа 1991 года после пяти месяцев разработки 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 насчитывает более 25 млн строк кода. По данным исследования, проведённого в 2010 году по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда (https://www.opennet.me/opennews/art.shtml?num=25560) долларов США, по другим (http://www.dwheeler.com/essays/linux-kernel-cost.html) оценкам - более 3 миллиардов (http://linuxcost.blogspot.ru/2011/03/cost-of-linux.html).Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты (http://www.cs.vu.nl/~ast/brown/codecomparison/alexey.html) исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.
Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере (ftp://ftp.funet.fi/pub/linux/) университета, назвав директорию с архивом не «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 млн. строк кода.
- 4.1 - июнь 2015, 19.5 млн. строк кода.
- 4.7 - июль 2016, 21.7 млн. строк кода.
- 4.12 - июль 2017, 24.1 млн. строк кода.
- 4.18 - август 2018, 25.3 млн. строк кода.
Прогресс развития ядра:- 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, который открыл эру виртуализации;
- В сентябре 2008 года сформирован первый релиз платформы Android, основанной на ядре Linux;
- В июле 2011 года после 10 лет развития ветки 2.6.x осуществлён (https://www.opennet.me/opennews/art.shtml?num=31259) переход к нумерации 3.x.
- В 2015 году состоялся (https://www.opennet.me/opennews/art.shtml?num=42029) выпуск ядра Linux 4.0.
URL: http://www.cs.cmu.edu/~awb/linux.history.html
Новость: https://www.opennet.me/opennews/art.shtml?num=49181
Толстеет пингвин к тридцатилетию. Лет через 5 еле дышать будет из-за пуза.
Ну пока что толстеет и еле дышит 10я винда. Пол года назат ставил, после запуска кушала 800 мб, сейчас - 1.5 гига. Через неделю аптайма 4 гига с закрытыми приложениями, лол. Даже гном так не тек, поскромнее был)) И это многомиллионная корпорация с тысячами оплачиваемых разработчиков. Вот так и работаем.
Она резервирует память, а не течет. Это у линукса проблемы постоянный с протечкой памяти и тирингом.
> Она резервирует память, а не течет.Отличный эвфемизм!
Еще, кажись в восьмерочке, маркетологи придумали, как значительно уменьшить потребление памяти -- просто и без затей немного "подкорректировав" диспетчер задач для показа "private working set" в качестве колонки потребления памяти.
Правда, на пользовательскую реальность это почему-то не повлияло:
https://www.reddit.com/r/Windows10/comments/54g3tp/ram_usage.../
> have 16 gb of ram (I do not currently know specs) and in task manager, a lot of the time when I'm doing nothing, it says the memory usage is at about 50%. The weird thing is, no application is using more than 2 mb of RAM
>Но это ведь уже не проблема шерифа^W впаривающих :)
Кстати, а как узнать, сколько оперативки занято ядром и его модулями?
dmesg
А dmesg должен с вашей точки зрения показать "сколько оперативки" занято модулем, который даже не был загружен на этапе старта системы - это не будет нарушать принцип причинности?Я уж молчу о том, что dmesg показывает строчку Memory в самом-самом начале, на моей системе даже то, что нужно для работы с дисками еще не загружено.
Вот так, дети, бывает, когда слишком пропагандой увлекаетесь. Инженер исчезает - офисный планктон остается...
Посмотрите =)
https://www.altlinux.org/Team/Famous#Michael_Shigorin
Ух ты! Там честное описание человека. Бывает же такое! Вот все бы так.
Ну какой же он "админ" с претензией на "манагера"? Скорее уж наоборот)
> Кстати, а как узнать, сколько оперативки занято ядром и его модулями?Запустить какой-нибудь init=/bin/sh и посмотреть free в совсем пустой системе. Будет неплохое приближение (минус память sh, free и используемых ими либ). Однако есть нюансы - buffers/cache как бы заняты ядром, но как бы при необходимости ядро большую часть этой памяти отдаст приложениям. Ценой более тормозной работы с накопителями, конечно.
>> Кстати, а как узнать, сколько оперативки занято ядром и его модулями?
> Запустить какой-нибудь init=/bin/sh и посмотреть free в совсем пустой системе. Будет неплохое
> приближение (минус память sh, free и используемых ими либ). Однако есть нюансыИ что, неужели нет аналога kldstat (т.к. слишком просто и немолодежно)?
# kldstat -h|head
Id Refs Address Size Name
1 88 0xffffffff80200000 17M kernel
2 1 0xffffffff812a3000 6.3K cc_cubic.ko
3 1 0xffffffff81419000 6.0K fdescfs.koNAME
kldstat – display status of dynamic kernel linker
HISTORY
The kldstat utility first appeared in FreeBSD 3.0 (1998), replacing the lkm
interface.% cloc /usr/src/sbin/kldstat
4 text files.
4 unique files.
2 files ignored.-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C 1 21 27 155
make 1 3 27 5
-------------------------------------------------------------------------------
SUM: 2 24 54 160
Шугоринг опять трет ответы, в которых ему указывают на его некомпетентность. Прости чувак, надеюсь ты успел записать команды, которые я тебе дал.
И дальше страшные сказки про глюкавую текучую венду будут продолжаться до конца треда и далее. Пока злым и глупым детям не надоест. А им ведь никогда не надоедает.
А что такое венда?
А мне показалось, что они так ещё в семёрке сделали...
А это нормально, что с каждым днем она сжирает все больше памяти из моих максимальных 32GB? Скажем, после месяца без перезагрузок она сжирает 12-15GB, при том что ничего тяжелее браузера и фильмов я не запускал. Или это она на будущее резервирует, мол вдруг чего от Adobe и Autodesk запущу, а тут хоп, и память уже "зарезервирована"? Мне интересно, что будет еще через месяц. Съест всю память? А потом начнет "резервировать" своп?
> А это нормально, что с каждым днем она сжирает все больше памяти из моих максимальных 32GB?да.
Более того, линукс в этом месте работает точно так же, но значительно более эффективно - через "месяц без перезагрузок" выглядит как-то вот так:
total used free shared buffers cached
Mem: 12322848 12183276 139572 0 125240 3214528
-/+ buffers/cache: 8843508 3479340
Swap: 8388604 25092 8363512было бы тут 32 - были бы сожраны и 32.
Если эту память не отдать системе - она просто даром жрет электричество.> Мне интересно, что будет еще через месяц. Съест всю память?
если будете не просто др...ть на таскменеджер, а работать - да, для того и память.
> А потом начнет "резервировать" своп?
нет, это чисто линуксная фича - см выше, 130 мег свободно, но 22 в свопе. И это _правильное_ поведение. (для линукса, для винды накладные расходы выше и она так агрессивно не свопит)
почему - домашнее задание вам на оставшуюся неделю до учебы.
Как пользователь KDE, люто не согласен с вами! За 2 месяца аптайма в Kubuntu 18.04 потребляемая память колеблется в диапазоне 500-600 мегов. При этом постоянно открываются и закрываются приложения самой разной "весовой" категории - вплоть до 4-5 гигов (вроде систем 3D-моделирования и т.п.). И после закрытия всех приложений используемая память НИКОГДА не выходила за пределы 1 гига. При этом, те же приложения - на этом же самом компе, на точно таком же HDD, но на Windows - работают МЕДЛЕННЕЕ, не смотря на постоянный жор оперативки виндой. И чем оправдаем такое поведение?
Твой компьютер работает на нужды корпорации, скажи спасибо что не майнит. Прежде чем жаловаться, прочитай соглашение. Если не согласен с соглашением, деинсталлируй продукт немедленно.
А у меня вообще нет свопа и через месяц аптайма все так же как и после старта почти. Но это всего лишь XFCE, при том тестовой версии из debian testing.> для линукса, для винды накладные расходы выше и она так агрессивно не свопит
У линукса как именно свопиться - настраивается. И что там в конкретном дистре как дефолты завернули - по вкусу майнтайнеров. А в винде даже если не понравится поведение свопа - фиг чего с этим сделаешь. Зачастую винды грешат выдавливанием в своп неизвестно зачем даже активно используемых приложений. И если убрать браузер в фон, попечатать в офисе или там что еще часок-другой, переключение в браузер будет меееееедленно хрустеть диском. Нафига? Кто ж его знает, на то оно и винда.
А вообще - мне больше всего нравится zram для выгрузки в такой своп "cold" данных/кода и никакого свопа на диске. Потому что своп на диске - убийца латенси и источник тормозов. На десктопе это все-же мерзко. ZRAM при нужде на несколько порядков быстрее RAM компрессит/декомпрессит при душняке с памятью.
uptime
10:33:09 up 56 days, 9 min, 23 users, load average: 1,55, 1,51, 0,99free -h
total used free shared buff/cache available
Mem: 15Gi 6,6Gi 1,1Gi 424Mi 7,7Gi 8,2Gi
Swap: 31Gi 21Mi 31GiКеды. Фирефокс, Гимп, Кугис, Кукад, виртуалки и прочие
>[оверквотинг удален]
> free shared
> buffers cached
> Mem: 12322848 12183276
> 139572
> 0 125240 3214528
> -/+ buffers/cache: 8843508 3479340
> Swap: 8388604
> 25092 8363512
> было бы тут 32 - были бы сожраны и 32.
> Если эту память не отдать системе - она просто даром жрет электричество.Так вот это число (139572 в вашем случае) и получается из-за того, что в какой то переменной ядра (на вскидку не помню, и сколько процентов по умолчанию то же не помню) в процентах указано сколько оставлять свободной памяти. То есть, совсем свободной, которую можно начинать использовать вот прямо сейчас (без всяких там пере распределений и борьбы со свопом) в случае, если вдруг понадобилось ;). Можете подстроить свои значения даже на ходу через sysctl (поищите в Интернете). Например, если Вы запускаете "тяжелые" приложения, то можете попробовать увеличить, и по идее должно запускаться быстрее. НО (вот оно и всплыло это НО), так как система по прежнему будет стремится к указанному вами проценту свободной памяти, то ее придется дополнительно перераспределять память (а позже наверняка и посвопить, даже больше чем если бы процент был бы меньше), что бы все было в соответствии с заказанным (и да, она (система) не может (пока ;) читать Ваши мысли, на счет запускаемых Вами приложений и прочие добрые и хорошие мысли ;). Так что Вы полностью правы, свободная память не используется от слова совсем (то есть просто "ест" электричество).
>> Мне интересно, что будет еще через месяц. Съест всю память?
> если будете не просто др...ть на таскменеджер, а работать - да, для
> того и память.
>> А потом начнет "резервировать" своп?
> нет, это чисто линуксная фича - см выше, 130 мег свободно, но
> 22 в свопе. И это _правильное_ поведение. (для линукса, для винды
> накладные расходы выше и она так агрессивно не свопит)
> почему - домашнее задание вам на оставшуюся неделю до учебы.С домашним заданием справился, или нет? Как по вашему?!
Ты лучше озаботься тем, кого ей есть, когда она доест своп.
Любимая ось не течет, она резервирует память.
Любимая ось не падает, она выдает диагностическое сообщение.
Любимая ось не тормозит, она делает технические паузы.
Любимая ось не шпионит, она снабжает разработчиков полезной телеметрией.
Любимая ось не нарушает совместимость, она решительно избавляется от легаси кода.
Что она резервирует? Файл подкачки отключен, диспетчер задач показывает потребление 4 из 6 Гб, остальное типа кэш. Но выскакивает сообщение о нехватке памяти, всю глючит, хром зависает(даже не закрывается). И что это за 2гига кэша который нельзя выгрузить?
Это известная фича еще со времен вин2к - наверное так и осталось - памяти до фига, но закончилась самая главная страница дескрипторов которая там 64к в любом режиме памяти...
Она резервирует бабки в кошельках таких, как ты.
Если бы глаза небыли красными, знали бы как оптимизировать/отключить кэширования и не бомбили бы кирпичами.
Будет дышать ещё лучше :)
p.s.:
Для тех кто не видел, обязательно посмотрите фильм Revolution OS:
https://www.youtube.com/watch?v=n1F_MfLRlX0
> Толстеет пингвин к тридцатилетию. Лет через 5 еле дышать будет из-за пуза.Так толстеет в основном из-за поддержки нового оборудования. SoC сейчас не клепает только ленивый, чипов поразвелось море и они сложнее стали. Логично что и код работы с ними распух и его стало больше.
Собери своё ядро, заменит glibc на musl, а coreutils на busybox.
В такой конфигурации система может уместиться в 4 MiB, т.е. стать прошивкой SOHO роутера.
судя по описанию в новости, до 2008го года представлялись новые технологии, а после только увеличивалось количество git-объектов в репозитории ядра. может кто-то детально опишет что происходило с ядром после 2010го?
Выше уже написали 🙂
Эта информация доступна только подписчикам RedHat :)
redhat все купил
> Эта информация доступна только подписчикам RedHat :)Неправда, она всем доступна в git log майнлайнового ядра. Но фич там столько что даже выжимка занимает много места. Как это примерно выглядит - посмотрите в новости о выходе очередного ядра. Стандартный список - страницы на 2. А если так по всем ядрам сделать - вы читать этот трехтомник не опухнете?
Чего ты хочешь нового? Старые ещё не используются достаточно.
Как говорят философы, хороший вопрос содежит половину ответа. Твой вопрос содержит весь ответ.
Все нормально с ядром. Я проверял.
Ну пройди хоть по LWN тому же с новостями о релизе очередного ядра.
> 0.0.1 - сентябрь 1991, 10 тыс. строк кода;
> 4.18 - август 2018, 25.3 млн. строк кода.Надо ввести версионирование в миллионах строк кода:
0.0.1 -> 0.010 (0 млн 010 тыс LOC)
4.18 -> 25.300 (25 млн 300 тыс LOC)
А если начнёт уменьшаться, выпилят ненужное, как будет версифицировать?
> начнёт уменьшаться, выпилят ненужноеЛюблю аналогии не к месту. Человек растет до ~25 лет. Потом теряет в росте. Примерно также ведет его iq. Смысл - рост эквивалентен iq. Смысловое версионирование. Интеллектуальный возраст - рост человека. Версия - сложность. LOC - один из метрик измерения сложности кода.
> выпилят ненужное"Чтобы продать что-нибудь ненужное, нужно сначала купить что-нибудь ненужное"
Чтобы удалить что-нибудь ненужное, надо сначала написать что-нибудь ненужное.
В ядре хватает ненужного. Всякий рипнутый хлам из железяк, например, который можно вынести в отдельную ветку linux-necro. Ту же Reiserfs можно выкинуть.
386 же порезали из поддержки ядра
386 не порезали, а понадобавили еще ненужного, что только на 686 (пеньпро амдк6) заведется.
> один из метрикпоследний из магиканов
> магикановчем знаменита эта русская фамилия?
а вот могикане, то есть микроядра посматривают на метрики.
> Число объектов в Git-репозитории достигло 2 млн;Любопытно, а как растет количество блобов, включенных Линусом в ядро?
Без них линукс останется системой для гиков. Людям нужны полноценные дрова.
Люди не нужны.
Тогда почему ты еще не выпилился?
> Тогда почему ты еще не выпилился?Потому что рептилоид спалился.
Линуксу не нужны пользователи.
Линуксу не нужен ты.
> Любопытно, а как растет количество блобов, включенных Линусом в ядро?В последнее время - несколько деблобнули, вытряхнув фирмвари в linux-firmware, откуда кому надо и тягают non-free, если им это надо. А сорцы именно ядра от блоботни в последнее время все же чистят.
На 4 года старше меня (:
С днём рождения!
Ждём Linux 5.0! Уже скоро!
>> но позднее передумал и передал все права на торговую марку Линусуда там же вроде суд был, и тяжба была едва ли не год. И передумал он явно не по доброте душевной во славу открытого ПО, а под давлением общественности и невозможности доказать право первой ночи с кодом. Легко отделался прописав Линуса Факьюэнвидия Торвальсда в документ
Линус мужик. Отстаивает свои права.
Это жена его порешала. Дала коммерсу с разворота пяткой в нос и сказала что счётчик включен. А жЫрный торвальдс только ейную сумочку держал, чтоб не запачкать кровью :-)
Жена со стальными яичниками! ;)
> 1.2.0 - март 1995, 311 тыс. строк кода;
> Linux 1.2 - март 1995, существенное увеличение числа драйверов, поддержка платформ Alpha, MIPS и SPARC, расширение возможностей сетевого стека, появление пакетного фильтра, поддержка NFS;Интересно, как оно умудрялось работать? Ведь современные разработчики доказали на практике, что такого количества кода хватает едва-едва, впритык, на скромную систему инициализации и менеджмента сервисов:
https://www.openhub.net/p/systemd/analyses/latest/languages_...
> Total Lines : 568,120 Code Lines : 422,175
Может надо считать с вырезанными комментариями?
Ай, не до конца прочёл
дык тогда современные разработчики были либо в проекте, либо на ранних стадиях развития.
> либо в проекте, либоВ данном контексте мне почему-то сразу вспоминается идиома "жертва аборта". Вот как пить дать - не были они в проекте, а либо...
А ведь я помню, как ему было 18. И все шутили, что с ним можно "тpaxaтьcя" легально. Казалось бы, прошло всего ничего времени, а ядру уже 27, и с такими старыми это делать не интересно
А линусу не так уж и долго ждать будет 50 скоро. Интересно хочет ли он все еще насиловать nvidia и пингвинов.
> а ядру уже 27Пора уже рожать, часики-то тикают.
Главное не через задницу рожать, а то получится еще одна венда...
Кто девушку танцует, тому и родит. А кто её танцует - смотри список ея партнёров :) У неё кстати они аж в нескольких списках, блЖадь она походу :-)
Google уже нагулял Fuchsia на стороне.
Всем опять же привет с LVEE -- Виталь Хилько только что напомнил в рамках своего доклада про сабж :)
Кто кто? Виталий Кличко?
каждый год один и тотже текст
Сделай лучше. Это опенсорс, детка.
> каждый год один и тотже текстИстория не меняется, факты остаются. Вы предлагайте каждый год переписывать историю?
С днем рождения, LINUX!
Без операционной системы GNU — Linux не нужен.
Ну лет 20 назад может быть. Но с тех пор доля GNUтого софта в экосистеме линукса очень сильно уменьшилась. Причем незаменимого не осталось вообще.
Мальчук покажи мне Линукс без утилит ГНУ.
Пожалуйста - https://openwrt.org/downloads
>Пожалуйста - https://openwrt.org/downloadsПопробуй собрать OpenWRT без GNU утилит.
>>Пожалуйста - https://openwrt.org/downloads
> Попробуй собрать OpenWRT без GNU утилит.Чтобы _скачать_ SETUP.EXE или как там его
GNU не нужен. Ну,
GNU wget, да, всего лишь. Ну,
GnuPG ещё, да, они ж бинари-то подписывают?
А так им "ничего этава" ни надь, винда путти-екзе и фрибеседе -- решают.
Решительно!
> Попробуй собрать OpenWRT без GNU утилит.Изначально просили _показать_ линукс без утилит gnu.
выкинь свой телефон тогда
В цель!
Т.е. в предлагающего выкинуть.
Пользуюсь утилитами GNU на андроиде, при этом они из коробки на всех устройствах. Что я делаю не так?
> составила бы болееА составила сколько? )
Скоро тридцатник, а Винду так и не победили.
Была цель подарить свободную UNIX-совместимую систему.
Цель достигнута.
https://w3techs.com/technologies/details/os-linux/all/all
Если Windows перейдёт на ядро Linux, будет ли это победой? Если да, то чьей?
>будет ли это победой? Если да, то чьей?Джима Землина, конечно.
Первые пару лет, пока с ним не покончат, как с нокией.
С кем, с Джимом?
>>будет ли это победой? Если да, то чьей?
> Джима Землина, конечно.Тот скорее под эппл ляжет.