В 1991 году Линус Торвальдс, финский студент, чрезвычайно увлекся идеей написать совместимое с UNIX ядро операционной системы для своего персонального компьютера с процессором ставшей очень распространенной архитектуры Intel 80386. Прототипом для будущего ядра стала операционная система MINIX: совместимая с UNIX операционная система для персональных компьютеров, которая загружалась с дискет и умещалась в очень ограниченной в те времена памяти персонального компьютера. MINIX был создан Энди Танненбаумом в качестве учебной операционной системы, демонстрирующей архитектуру и возможности UNIX, но непригодной для полноценной работы с точки зрения программиста. Кроме того, MINIX можно было использовать только в некоммерческих целях. Именно полноценное ядро для своего ПК и хотел сделать Линус Торвальдс. Название для своего ядра он соорудил из собственного имени, заменив последнюю букву и сделав его похожим на анаграмму слова UNIX.
Совместимость с UNIX в этот момент означала, что операционная система должна поддерживать стандарт POSIX. POSIX – это функциональная модель совместимой с UNIX операционной системы, в которой описано, как должна вести себя система в той или иной ситуации, но не приводится никаких указаний, как это следует реализовать программными средствами. POSIX описывал те свойства UNIX-совместимых систем, которые были общими для разных реализаций UNIX на момент создания этого стандарта. В частности, в POSIX описаны системные вызовы, которые должна обрабатывать операционная система, совместимая с этим стандартом.
Важнейшую роль в развитии Linux сыграли глобальные компьютерные сети Usenet и Internet. На самых ранних стадиях автор Linux обсуждал свою работу и возникающие трудности с другими разработчиками в телеконференции comp.os.minix в сети Usenet, посвященной операционной системе MINIX.
Ключевым решением Линуса стала публикация исходных текстов еще ”сырой” первой версии ядра под свободной лицензией GPL. Благодаря этому и получавшей все большее распространение сети Internet очень многие получили возможность самостоятельно компилировать и тестировать это ядро, участвовать в обсуждении и исправлении ошибок, и присылать исправления и дополнения к исходным текстам Линуса. Теперь над ядром работал уже не один человек, и разработка пошла быстрее и эффективнее.
В 1992 году версия ядра Linux достигла 0.95, а в 1994 году вышла версия 1.0. Это означало, что разработчики, наконец, сочли ядро в целом законченным и все ошибки (теоретически) – исправленными. В настоящее время разработка ядра Linux – дело уже гораздо большего сообщества, чем во времена до версии 1.0. Изменилась и роль самого Линуса Торвальдса, который теперь не главный разработчик, но главный авторитет: он традиционно оценивает исходные тексты, которые должны быть включены в ядро и дает ”добро” на их включение. Тем не менее, общая модель свободной разработки сообществом сохраняется. В настоящее время параллельно всегда разрабатывается два варианта ядра. Стабильная версия, которая считается достаточно надежной и пригодной для пользователей, получает номер, заканчивающийся на четное число, например, ”2.4”. Номер соответствующей экспериментальной версии ядра оканчивается на нечетное число – ”2.5”. Экспериментальная версия адресована в первую очередь разработчикам ядра, тестирующим новые возможности.
GNU без Linux | GNU и Linux |