Linux Demystified — это серия блогов Клуба программирования IIT Kanpur, посвященная всем основным компонентам дистрибутива Linux. Эта серия статей не является введением в установку/использование Linux и не сравнением различных дистрибутивов Linux, а скорее объяснением того, что делает Linux таким настраиваемым и мощным. В конце этой серии вы сможете настроить свою собственную ОС, оценить различия и выбрать из вариантов, доступных на каждом небольшом уровне операционной системы.
Хотя полный новичок легко сможет пройти все блоги из этой серии, пользователь-любитель Linux может лучше оценить их и относиться к ним.

ЧТО-да-F***X!

Линус Торвальдс (создатель LINUX) уже рассматривал название Linux, но счел его эгоистичным. Первоначально он хотел назвать ОС FREAX (свободная + урод + 'X' от Unix), даже около года сохранял имя файла как Freax.

Здесь мы поговорим о происхождении, версиях и предшественниках современных систем Linux. Наша история начинается еще в 1969 году с разработки UNIX.

UNIX v0.0

Unix начиналась как платформа для игры Space Travel. Реализация «Космических путешествий» Кена Томпсона и Денниса Ритчи (да, создателей B и C) привлекла внимание. Сначала программное обеспечение нужно было кросс-компилировать на мейнфрейме. Служебные программы, которые они написали для поддержки разработки игр на самом мини-компьютере, стали ядром Unix. Первоначальное написание было «UNICS» (UNiplexed Information and Computing Service), которое Ричи позже описал как «несколько предательский каламбур на Multics», который сама расшифровывалась как MULTiplexed Information and Computing Service. Традиция облегченной разработки Unix и неформальных методов также зародилась у этих корней.
Multics был большим проектом с тысячами страниц технических спецификаций, написанных до того, как появилось оборудование.
Первый работающий код Unix был разработан тремя людьми и реализован Кеном Томпсоном за два дня — на устаревшей машине, предназначенной для использования в качестве графического терминала для «настоящего» компьютера.

Когда Unix была впервые написана, большинство разработчиков ОС считали, что ОС должна быть написана на языке ассемблера, чтобы эффективно функционировать и иметь доступ к оборудованию. Unix была новаторской, потому что она была написана на языке ( C ), который не был языком ассемблера. Язык C работает на достаточно высоком уровне, чтобы его можно было перенести на различное компьютерное оборудование. Многие общедоступные программы Unix распространяются в виде программ на C, которые необходимо скомпилировать перед использованием. Многие программы Unix следуют синтаксису C. Системные вызовы Unix считаются функциями C.

К концу 1970-х годов многие университеты/компании, такие как Калифорнийский университет, корпорация Microsoft начали разрабатывать различные варианты систем UNIX.Она превратилась в операционную систему с «закрытым исходным кодом».

ГНУ/Линукс

Концепция GNU началась в День Благодарения 1983 года.

Сообщение было выпущено как Свободный UNIX! а затем
Начиная с этого Дня Благодарения, я собираюсь написать полную совместимую с Unix программную систему под названием GNU (от Gnu’s Not Unix) и раздать ее бесплатно всем, кто может ее использовать. Очень нужны вклады времени, денег, программ и оборудования [«…]» (Весь пост можно сослаться здесь.)

Автор поста сам написал несколько компонентов для проекта GNU, включая GCC (популярный компилятор C) и GMake (GNU Make, автоматизатор), EMacs (текстовый редактор, разработанный ранее), отладчик GNU и широко используемую оболочку. утилиты, включая awk, grep, ls и make.

До этого момента все программное обеспечение создавалось с неявной коммерциализацией. Радикальные перемены часто воспринимаются как сумасшествие, и Столлман был не тем, кто остался без критики.
Таким образом, многие считали Столмена бунтарем-программистом, который уподоблял себя молодому идеалисту Че Геваре до 1954 года, желавшему социальных технологий. справедливости без какой-либо ответственности перед кем-либо. Многие утверждают, что Столлман пересек невидимую черту будущего неповиновения любой ценой, когда он сказал после смерти Стива Джобса: «Я не рад, что он мертв, но я рад, что он ушел». Через несколько лет он начал открыто призывать к гражданскому неповиновению. Почему Че Гевара Редукс? Столлмана часто обвиняют в том, что он анархист, что может быть неточно, но на первый взгляд, эту аналогию легко провести.
Тем не менее, почти во всех требованиях публичной лицензии Столлмана есть один очевидный недостаток; ни у кого из них нет права регресса или ответственности.

Таким образом, GNU была концепцией Ричарда Столлмана, которая гарантировала конечным пользователям свободу запуска, изучения, совместного использования и модификации любого программного обеспечения под лицензией GNU. GNU полностью состоит из свободного программного обеспечения, большинство из которых лицензируется в соответствии с собственной Стандартной общественной лицензией (GPL) проекта GNU и представляет собой рекурсивную аббревиатуру от «GNU's Not Unix!».
Столлман с нетерпением ждал создания ядра для открытого Исходная операционная система, работа над GNU Hurd (ядро GNU) только шла, но Линус первым придумал свое ядро, которое дополнило недостающую часть проекта GNU.

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

Знаменитая копипаста —

Я просто хотел бы вмешаться на мгновение. То, что вы называете Linux, на самом деле является GNU/Linux, или, как я недавно стал называть это, GNU плюс Linux. Linux - это не операционная система сама по себе, а скорее еще один бесплатный компонент полностью функционирующей системы GNU, который становится полезным благодаря GNU corelibs, утилитам оболочки и жизненно важным системным компонентам, составляющим полноценную ОС, как это определено POSIX. Многие пользователи компьютеров запускают модифицированную версию системы GNU каждый день, даже не подозревая об этом. Благодаря своеобразному повороту событий, версия GNU, которая широко используется сегодня, часто называется «Linux», и многие из ее пользователей не знают, что это в основном система GNU, разработанная в рамках проекта GNU. Линукс действительно существует, и эти люди его используют, но это всего лишь часть используемой ими системы. Linux — это ядро: программа в системе, которая выделяет ресурсы машины другим программам, которые вы запускаете. Ядро является неотъемлемой частью операционной системы, но само по себе бесполезно; он может функционировать только в контексте полной операционной системы. Linux обычно используется в сочетании с операционной системой GNU: вся система в основном представляет собой GNU с добавлением Linux или GNU/Linux. Все так называемые дистрибутивы «Linux» на самом деле являются дистрибутивами GNU/Linux.

BSD

BSD расшифровывается как Berkeley Software Distribution. Изначально это был набор модификаций Bell Unix, созданный в Калифорнийском университете в Беркли. Со временем она превратилась в полноценную операционную систему, и теперь существует несколько разных BSD.

Линукс это просто ядро. Дистрибутивы Linux должны объединять все программное обеспечение, необходимое для создания полной ОС Linux, и объединять его в дистрибутивы Linux, такие как Ubuntu, Mint, Debian и т. д. Напротив, BSD представляют собой и ядро, и операционную систему. Например, FreeBSD предоставляет как ядро ​​FreeBSD, так и операционную систему FreeBSD. Он поддерживается как единый проект.

Linux использует стандартную общественную лицензию GNU или GPL. Если вы модифицируете ядро ​​Linux и распространяете его, вы должны выпустить исходный код для своих модификаций. BSD используют лицензию BSD. Если вы изменяете ядро ​​или дистрибутив BSD и распространяете его, вам вообще не нужно выпускать исходный код. Вы можете делать с кодом BSD все, что хотите, и вы не обязаны публиковать исходный код, хотя вы можете сделать это, если хотите. Оба с открытым исходным кодом, но по-разному.

MacOS — это форк BSD, поэтому Apple не обязана публиковать исходный код.

Система V

В 1980-х и начале 1990-х двумя основными версиями UNIX были UNIX System V и Berkeley Software Distribution (BSD). Фактически, в течение многих лет после отделения Unix-сообщество было занято первой фазой войн Unix — внутренним спором, соперничеством между System V Unix и BSD Unix. Спор имел несколько уровней, некоторые технические и некоторые культурные. Разделение было примерно между длинношерстными и короткошерстными; программисты и технические специалисты склонялись к Berkeley и BSD, более ориентированные на бизнес типы — к AT&T и System V.

Тем не менее, на протяжении всего своего развития System V наполнялась функциями BSD, в то время как варианты BSD, такие как Ultrix от DEC, получали функции System V. AT&T и Sun Microsystems работали вместе, чтобы объединить System V с SunOS на основе BSD для создания Solaris. С начала 1990-х, благодаря усилиям по стандартизации, таким как POSIX и успеху Linux, разделение между System V и BSD стало менее важным.

Заключение

Хотя существует несколько операционных систем на основе UNIX, Linux является наиболее популярным из-за огромного размера сообщества, использующего и поддерживающего его. Впредь в этой серии мы будем фокусироваться только на Linux.

В следующем блоге мы поговорим об этапах загрузки операционной системы. Оставайтесь с нами.

Наконец, мы приветствуем отзывы, комментарии и предложения.

Ссылки:

https://wiki.archlinux.org/
https://homepage.cs.uri.edu/~thenry/resources/unix_art/ch02s01.html
https://groups .google.com/g/net.unix-wizards/c/8twfRPM79u0/m/1xlglzrWrU0J
https://www.gnu.org/gnu/linux-and-gnu.html

Авторы: Абхишек Шри, Б. Аншуман, Пратюш Гупта, Акил Агравал
Редактор: Наман Гупта
Дизайн: Адитья Субраманиан