Найти тему

О языке программирования Си и оперционной системе UNIX. То с чего начиналось всё современное IT.

Оглавление

Вступление

Ни для кого из читателей не будет секретом, что IT давно стало неотъемлемой частью нашей жизни. Остаться без интернета равноценно чуть ли не смерти, комьютеры и смартфоны почти наше прямое продолжение. Но с чего это всё началось? Об этом ниже:

Примерно такие люди лет 30-40 назад создавали современный интернет, ога!
Примерно такие люди лет 30-40 назад создавали современный интернет, ога!

История Си и UNIX

Всё начилось с компании AT&T и её подразделения Bell Labs. Эти компании существуют до сих пор и их основная деятельность - разработка и создание средств телекоммуникаций. Как и любым подобным компаниям, им нужны были свои собственные наработки по части программного обеспечения (в будущем просто ПО) и оперционных систем (ОС). Поначалу компании пытались написать свою ОС на ассемблере, но язык ассемблера очень сложный, слишком близкий к машинному коду и далёкий от языка обычных людей. Поэтому двум сотрудникам, Брайану Кернигану и Деннису Ритчи поручили создание более простого, понятное и человечного языка, на основе которого можно будет написать свою собственную ОС и программы к ней. Эту задачу они выполнили с блистательным успехом и миру был явлен язык Си. На этом языке написаны ядра ряда оперционных систем, таких как UNIX, macOS, Linux, BSD и т.д.. Помимо ядер написана куча ПО для этих систем. Так же почти вся современная сетевая инфраструктура зиждется на маршрутизаторах, где скромно вертится реализация этого милого языка.

Этот язык до сих пор является самым используемым языком программирования.
Этот язык до сих пор является самым используемым языком программирования.

В дальнейшем все наработки по части UNIX были переписаны с ассемблера на Си. Но что же это за ОС такая? Сейчас я поведаю об её главных особеностях:

  1. Всё является текстовым файлом, даже папка (более правильное название - директория), и даже различные устройства и файлы с настройками программ (в Windows это хранится в виде электронной базы данных - великий и ужасный регистр!)
  2. Сама система представляет из себя ядро, которое с помощью специальной утилиты запускает все остальные программы. Самые главные программы, которые должны работать с самого старта системы и к ним не дожно быть допуска от обычных пользователей принято называть демонами (от англ. Deamon. Да-да, я не опечатался, в названии этого канала тоже)
  3. Одна программа должна выполнять строго одну функцию. Если требуется сложная операция, она выполяется путём создания конвейера (англ. pipeline) из нескольких простых программ.

Таких особенностей сильно больше, но я не пишу научную диссертацию по UNIX'у и не хочу усыпить читателей от скуки, так что перечислил, как по мне, самые главные особенности.

Логотип UNIX.
Логотип UNIX.

Конец и наследие UNIX

AT&T и Bell Labs были монополистами в своей сфере, поэтому правительство США принудило их передать наработки UNIX в крупные университеты. Понятное дело, что свято место пусто не бывает и студенты и профессора американских ВУЗ'ов с жадностью изучили UNIX вдоль и поперёк.

Там подтянулся университет Беркли, который выпустил свою реализацию UNIX - Berkeley Software Distribution, или просто BSD, система так любимая русскими сис. админами. На основе BSD создавалась macOS, мечта любого профессионального дизайнера, фотографа, музыканта и порою даже программиста, а так же и вторая по популярности мобильная ОС.

Параллельно с этим появилось ядро MINIX, созданное знаменитым профессором Эндрю Таненбаумом в образовательных целях. За Таненбаумом последовал Линус Торвальдс, вдохновившийсь MINIX'ом, Линус создал Linux - ядро на котором держиться почти весь современный интернет, обрабатывается самая крутая компьютерная графика, и работает большая часть мобильных устройств.

Без всяких преувеличений можно сказать, что UNIX и язык Си, не смотря на свою древность, (созданны в конце 60-ых, начале 70-ых годов прошлого века) до сих пор оказывают колоссальное влияние на развитие современных компьюетрных технологий.