Иллюстрированный самоучитель по компьютерным программам

Операционные системы семейства UNIX

Другое популярное семейство ОС – UNIX, первые версии которой были разработаны исследователями лаборатории Белла для компьютеров с архитектурой PDP-11 еще в 1970-х годах.

К началу 1980-х годов интерес к UNIX возрос, и появилось достаточно много независимых коммерческих компаний, специализировавшихся на переносе UNIX на различные платформы. Так, например, Microsoft в сотрудничестве с фирмой Santa Cruz Operation (SCO) выпустила "юниксо-подобную" ОС XENIX, а корпорация Unisoft – Uniplus.

Сама лаборатория Белла, а точнее, отпочковавшаяся от нее компания USL (UNIX System Labs), также продолжала развивать линию UNIX и в 1982 году выпустила в свет Unix System III (предыдущие версии ОС были предназначены исключительно для использования внутри корпорации Bell Labs) и последующие версии ОС. Среди них канонической считается версия System V 4.0. Впоследствии USL вошла в состав корпорации Novell и работала над созданием сетевой ОС – симбиоза UNIX и Novell NetWare.

Стоит отметить, что группа BSD разрабатывает как коммерческие, так и бесплатные варианты UNIX, один из которых – FreeBSD для платформ Intel – наиболее популярен в нашей стране.

На сегодняшний день существует несколько коммерческих реализаций UNIX – Solaris на основе System V 4.0 для компьютеров Sun, Sco UNIX на основе System V3.2 для компьютеров с процессорами Intel, OSF-1 для компьютеров с процессорами Alpha.

Рассмотрим кратко общие принципы работы в среде UNIX. Эта ОС ориентирована на терминальную работу с разграничением прав пользователей путем авторизации с помощью имен пользователя и паролей. Для каждого пользователя выделяется отдельный "домашний" каталог файловой системы. Добавление новых пользователей осуществляется системным администратором. На уровне ОС пользователи различаются по целочисленному номеру, называемому идентификатором (UID, User ID). Понятно, что человек, администрирующий UNIX-систему, должен иметь большие возможности по управлению, чем обычный пользователь. На уровне ОС это означает, что идентификатор администратора равен нулю. Такой пользователь называется корневым, или рутом (root), и имеет неограниченные права на запуск программ и доступ к файлам.

Традиционно для UNIX-систем интерфейсом пользователя является текстовая командная строка. В последнее время разработано некоторое количество графических интерфейсов для UNIX-подобных ОС, но эта тенденция сдерживается двадцатилетней традицией использования текстовых командных оболочек.

Командные оболочки называются так неслучайно, ибо действительно являются внешним окружением системного ядра UNIX.

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

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

На этом закончим краткий обзор возможностей UNIX, поскольку время для повсеместного распространения этой ОС на домашних компьютерах еще не наступило.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.