Unix – целое семейство операционных систем (ОС), ориентированных на работу с компьютерами и ноутбуками. Они часто встречаются на серверах, но бывают и версии, написанные для обычных ПК. Раньше Unix выступала в качестве инновационной и революционной операционной системы, но сейчас – это стандарт развития.
Unix означает «Uniplexed Information and Computing Service» или «единый информационный и вычислительный сервис». На русском языке название рассматриваемого семейства систем читается как «Юникс».
Далее предстоит познакомиться с Unix поближе. Необходимо изучить историю развития этих систем, их особенности и области применения. Также предстоит рассмотреть несколько наиболее распространенных ОС типа Юникс. Предложенная ниже информация рассчитана на широкую публику. Она пригодится как IT-специалистам, так и обычным ПК-пользователям.
История развития
General Electric и Bell Labs Массачусетского технологического института в 60-х годах старались создать интерактивную систему под названием Multics. По задумке она позволила бы нескольким пользователям одновременно получать доступ к мэйнфрейму. Данная затея не увенчалась успехом, Bell Labs ушла из проекта. В нем остались Кен Томпсон и Деннис Ритчи – компьютерные специалисты. Они решили продолжить трудиться над Multics. Это привело в конечном итоге к разработке Unix.
Ритчи и Томпсон стали руководить командой исследователей по разработке:
- иерархической файловой системы;
- интерпретатора командной строки;
- некоторых служебных программ;
- концепций процессов и файлов устройств.
Через месяц работы Томпсон смог развернуть самодостаточную операционную систему с ассемблером, редактором, а также оболочкой YEW-nihks, базирующейся на более ранней версии Multics. Unix оказался намного меньше и представлял собой однозадачную ОС.
До 1973 года Юникс писался на ассемблере. Лишь его четвертое издание было переписано на C. В те времена подобный подход оказался революционным из-за того, что операционные системы рассматривались как слишком сложные для разработки на языках высокого уровня. Преобразования Unix увеличили переносимость этой ОС на разнообразные вычислительные платформы.
К началу 80-х годов Юникс получил широкое распространение в научных кругах. Чуть позже коммерческие стартапы вроде Solaris Technologies и Sequent начали применять его в более крупном масштабе.
К концу 1990-х годов команда программистов разработала дистрибутивы популярных Unix-систем: Linux и Barkeley Software Distribution (BSD). Они привели к стремительному росту популярности Юникс-подобных систем. Сейчас основная масса современных компьютерных и мобильных устройств используют Unix.
На данный момент Юникс-системы и интерфейс Single UNIX Specification – это собственность компании The Open Group. Последняя версия стандарта – это четвертая модификация, вышедшая в 2013 году. Она получила название UNIX V7.
Особенности концепций системы
Unix – это системы, в которых пользователи способны связывать программные инструменты и небольшие приложения, пользуясь интерпретатором командной строки. Так называется программа пользовательского уровня.
Разработчики при работе с Unix имеют право на написание собственных оболочек и добавление новых команд без изменения самой оболочки. Это связано с тем, что она использует тот же язык для интерактивных команд, что и при работе со сценариями.
Концепции Unix являются влиятельными. Связано это с популярностью соответствующего семейства операционных систем. Юникс задала направление развития Интернета, а также превращения компьютеров в сетевые инструменты. Данное семейство рассматривает все типы файлов в качестве простых байтовых массивов, представляющих упрощенные файловые модели по сравнению с другими ОС.
Unix – это система, которая увеличила рост популярности иерархических файловых систем с произвольно вложенными каталогами. До появления этого семейства ОС можно было лишь делить запоминающие устройства на разделы с фиксированным количеством уровней.
Unix ОС внесла модульность и возможность многократного использования в практику разработки программного обеспечения. Разработчики этого семейства операционных систем сформировали набор культурных правил для программирования приложений и создали Unix-философию, оказавшую огромное влияние на IT-сообщество.
Unix-архитектура
Архитектура Unix – это компьютерная операционная система, воплощающая в себе Unix-философию. Она придерживается стандарта Single UNIX Specification (SUS) или его аналога POSIX IEEE.
Структура Unix включает в себя:
- Ядро. Здесь практически все представлено в виде файлов. Даже настройки приложений хранятся в отдельных документах, которые допустимо открывать и редактировать подобно обычному тексту. На данный момент конфигурационные файлы не являются редким явлением, но впервые они появились в Unix-системах.
- Оболочку.
- Программы для работы с устройством.
Архитектура Unix многоуровневая. На ее нижнем уровне (расположенном над оборудованием) работает системное ядро. Его функции доступны за счет интерфейса системных вызовов, формирующего второй уровень. После него работают командные интерпретаторы, утилиты и команды системного администрирования, протоколы и коммуникационные драйверы – все то, что обычно относится напрямую к программному обеспечению. Внешний уровень формируется за счет прикладных пользовательских приложений, сетевых и иных коммуникационных служб, СУБД и утилит.
Unix-системы предусматривают следующие особенности:
- многозадачность;
- встроенная сеть (стандарта TCP/IP);
- возможность использования файлов в виде абстракций устройств и иных объектов;
- интерфейс разработки;
- постоянные системные сервисные процессы («демоны» или demon), которые управляются init или inet.
Юникс – это системы с поддержкой многопользовательского интерфейса. Файлы хранятся на диске в иерархической файловой системе с одним верхним местоположением по всей системе (root или «/»), файлами, каталогами и подкаталогами.
Терминал
Терминал – это командная строка. Она используется для управления операционными системами Unix. Терминал представляет собой программное обеспечение, которое обрабатывает присланный клиентом запрос и выводит тот или иной результат. Это – промежуточное звено между устройством и пользователем. Иногда называется «оболочка».
Команды в терминале обычно короткие, состоящие из нескольких символов, но они имеют интуитивно понятные имена. Результатом вывода обработки подобных запросов становятся тестовые строки, а не визуальные объекты. Терминалы в операционных системах Unix могут объединять уже имеющиеся инструменты в крупные и мощные контейнеры, обеспечивающие более простую работу с крупными объектами в автоматизированном режиме.
Автоматизация терминала:
- упрощает работу пользователя и делает ее более эффективной;
- увеличивает производительность операций;
- дает возможность повторять одни и те же команды при помощи нескольких простейших запросов.
Терминал – инструмент, который часто используется при управлении удаленными компьютерами и суперкомпьютерами. Знакомство с ним является обязательным для тех, кто планирует работать с Юникс.
Современные Юникс-системы
Unix – сегодня выступает одним из наиболее популярных концепций. Не все операционные системы, использующие технологии Юникс, могут иметь соответствующее название. Существует спецификация SUS – набор требований, которым должна отвечать система, чтобы называться полноценным Юникс.
Сейчас соответствующим принципам отвечает лишь некоторый спектр популярных операционных систем:
- macOS. Стандартная операционная система компьютеров от компании Apple. Она предусматривает собственное ядро XNU, полностью отвечающее требования Unix.
- HP-UX – проприетарная операционная система от Hewlett-Packard. Она используется для некоторых серверов.
- AIX – еще одна «серверная» операционная система. Ее разработкой занялась компания IBM.
- Solaris – проприетарная система, принадлежащая Oracle. Последние ее версии не до конца отвечают SUS-спецификации.
Основная масса сертифицированных Unix-систем – это серверные ОС. Исключением является только macOS.
Unix-подобные проекты
Unix-подобные системы – это операционные системы, которые похожи на Юникс, но не проходили сертификацию. Это достаточно широкая группа ОС. Она также называется «Юниксом», хотя с технической точки зрения соответствующие системы не могут иметь подобное название.
К Unix-подобным продуктам можно отнести:
- Linux OS. Это наиболее известный Unix-подобных проект. Он занял второе в мире место по популярности после Windows.
- BSD – базируется на Unix-коде, который был передан AT&T университету Беркли. Это практически «полноценный» Юникс.
Существуют и другие проекты с Unix-подобными системами. К ним можно отнести OpenSolaris, но наиболее известными стали Linux и BSD.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!