Предпосылки возникновения и история операционных систем GNU/Linux

Введение

Операционные системы на базе ядра Linux представляют собой очень многообразную группу Unix-подобных операционных систем. Более грамотное название этих операционных систем — GNU/Linux. Каждый конкретный тип операционной системы на базе ядра Linux принято называть дистрибутивом. Каждый дистрибутив имеет собственное имя. Например, дистрибутивами GNU/Linux являются следующие операционные системы: Debian, AltLinux, Mandriva, Fedora, Ubuntu и многие другие. Каждый дистрибутив так или иначе развивается на протяжении своего относительно длинного или короткого периода «жизни», поэтому представлен различными версиями.

Возможно появление систем GNU/Linux является вполне естественным в эволюции компьютерных технологий. Далее в краткой форме дается представление о предпосылках возникновения и развитии операционных систем GNU/Linux.

Предпосылки возникновения операционных систем GNU/Linux (схема)

UNIX

Поскольку GNU/Linux являются Unix-подобными операционными системами, то естественно начать изложение с описания ОС Unix. На самом деле, в настоящее время уже нет «чистой» Unix, хотя на заре своего появления она была одной единственной и неповторимой. Unix в свое время послужила основой для появления множества операционных систем, которые сегодня мы называем «Unix-подобные», и заложила важные принципы разработки и функционирования ОС вообще.

Unix начала разрабатываться в 1969 г. группой программистов, работавших в американской фирме Bell Laboratories. В начале 70-х годов для удобства разработки Unix, а скорее для того, чтобы большая часть ОС была независима от архитектуры компьютера, Денисом Ритчи и Кеном Томпсоном был создан язык Си. На этом языке до сих пор пишутся основные части большинства ОС.

Основной задачей при разработки Unix в то время было создание удобной среды для программистов. Приветствовался совместный труд при разработке программ. Так легче было увидеть ошибки, выделить хорошие идеи и забраковать тупиковые.

К середине 70-х Unix уже был достаточно широко распространен. Следует учитывать, что в то время персональных компьютеров (ПК) еще не было и под словами «широко распространен» имеются ввиду организации, владеющие большими компьютерами (по большей части это были университеты). Коллектив каждой организации, обзаведясь копией Unix (который распространялся бесплатно), старался его улучшить и расширить под свои нужды. Поэтому к концу десятилетия уже начинают появляться разновидности Unix. И даже появляется вариант коммерческого Unix'а.

В начале 80-х Unix был выбран в качестве системы, под которой планировалось развивать сетевой протокол TCP/IP, тем самым он получил хорошую поддержку для дальнейшего совершенствования и «прижился» на серверах.

С появлением коммерческих Unix'ов, полноценное развитие системы приостановилось. Это было связано с тем, что каждая фирма, продающая свой Unix, запрещала распространять свои исходные коды. Другие программисты не могли воспользоваться уже сделанным и начинали реализовывать уже созданную кем-то функцию или программу сначала. Кроме того, каждая фирма вносила свои собственные изменения. В результате программы, написанные для одной системы, не могли работать в другой. Т. е. Unix'ы стали несовместимы между собой. Проблема совместимости сильно влияет на совместную работу.

Хотя вопросами стандартизации Unix в последствие стали заниматься, однако закрытость системы оказала на нее негативное влияние, и возможно привело к тому, что она упустила возможность возможность развиваться в сторону персональных компьютеров.

GNU

В 1982 г. Ричард Столлман столкнулся с ситуацией, когда лицензия ПО не позволяла ему обмениваться исходниками программ в стенах института, где он работал. Он нашел это возмутительным и неестественным до такой степени, что ушел с работы.

В 1983 г. он основал проект GNU, целью которого было создание открытой и свободной ОС. GNU — это аббревиатура фразы "GNU - это не UNIX" (GNU - Not UNIX). Проект Ричарда Столлмана был поддержан многими людьми.

Для того, чтобы программисты могли писать программы Столлман разработал редактор Emacs. Потом был основан благотворительный фонд, отвечающий за распространение свободного ПО. Фонд получал некоторые деньги для проекта GNU путем распространения ПО и продажи руководств и сопутствующих услуг.

На протяжении 80-х годов в рамках проекта GNU была создана достаточно большая коллекция ПО. Однако к 90-му году ядро операционной системы еще не было готово.

MINIX

В 1987 г. Эндрю Таненбаум создал маленькую учебную Unix-подобную операционную систему, которую назвал Minix. На основе этой системы студенты Таненбаума знакомились с принципами работы ОС и с тем, из чего она состоит. Для того, чтобы каждый мог изучить исходные коды системы, она распространялась под лицензией, позволяющей ее свободное распространение (аналогично программному обеспечению из проекта GNU).

ОС Minix так или иначе оказала влияние на рождение Linux, т. к. большинство студентов изучали строение ОС именно на ее основе.

LINUX

В 1991 г. Линус Торвальдс познакомился с ОС Minix. Однако она не удовлетворяла его потребности в полной мере. И он начал создавать собственную операционную систему, программируя системные вызовы. К концу лета 91 года уже появляется сырой вариант ядра системы. В последствие данное ядро получило имя Linux.

Примечание. Ядро операционной системы обеспечивает взаимодействие программ (прикладных и системных) с аппаратной частью компьютера, регулирует распределение памяти и процессорного времени между работающими программами.

Поскольку Linux был свободен (каждый мог копировать) и открыт (исходные коды были доступны), он начала быстро распространяться и видоизменяться.

Развитие GNU/Linux

Поскольку проекту GNU в начале 90-х не хватало только ядра, то ядро Linux оказалось как нельзя кстати. Постепенно оно «обрастало» различным ПО из проекта Столлмана и превращалось в полноценную операционную систему GNU/Linux.

В дальнейшей разработке этой операционной системы приняли участие множество людей по всему миру, которые в основном общались между собой с помощью Интернет.

Спустя достаточно небольшой промежуток времени (возможно несколько лет) появились компании, продающие свои версии (дистрибутивы) операционных систем на базе ядра Linux. Следует иметь ввиду, что свобода и открытость не есть аналогия бесплатности. Еще недавно Интернет был медленный и дорогой, поэтому пользователи GNU/Linux часто заказывали диски почтой и оплачивали поставщику расходы средств и времени. Также в мире Linux фирмы зарабатывают путем оказания технической поддержки. Например, покупая коробочную версию того или иного дистрибутива, вам предоставляется возможность в течение нескольких месяцев или лет задавать вопросы по e-mail (или телефону) при возникновении трудностей при использовании ПО.

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

Поскольку GNU/Linux занимались и занимаются многие люди и фирмы, каждый из которых вносит свои улучшения и дополнения, то в настоящее время существует огромное количество дистрибутивов. Дистрибутивы различаются между собой по многим признакам, например, областью применения (для сервера или ПК) или системой управления пакетами (как устанавливается ПО) и др.

С течением времени Linux адаптировали под разные архитектуры компьютеров, поэтому в настоящее время встречается на многих устройствах.

На сегодняшний день операционные системы GNU/Linux больше распространены на серверах и суперкомпьютерах и в малой степени на персональных компьютерах. Однако движение в сторону последних наблюдается.