1. Базовые понятия и принципы
Под названием «UNIX» понимается семейство операционных систем, архитектура которых базируется на принципах операционной системы UNIX, разработанной фирмой AT&T Bell Laboratories (США) в конце 60-х – начале 70-х годов. В настоящее время существует более 100 операционных систем, принадлежащих к данному семейству и подчиняющихся определенным стандартам. Иногда для характеристики этих систем применяется термин «UNIX-подобные ОС».
1.1 Сфера применения, основные стандарты и версии
Бурное развитие аналогов UNIX, выполненных различными разработчиками, привело к появлению существенных различий в рамках семейства. Тем не менее, на сегодня принят ряд стандартов, которым соответствуют все варианты UNIX. Стандарты характеризуют структуру файловой системы, системы управления процессами, а также API - набор программных функций, реализованных в ОС и доступных для прикладного программного обеспечения. Важнейшими стандартами UNIX являются:
- POSIX;
- X/Open XPG;
- OSF/1.
Каждая версия UNIX помимо стандартов реализует ряд специфических расширений, характерных только для данного варианта ОС. Тем не менее, имеет смысл утверждать о совместимости UNIX-систем на уровне исходных кодов. Это означает, что любая программа, использующая только стандартные средства UNIX, может быть без изменений откомпилирована и запущена в среде любой ОС семейства. На практике совместимость позволяет выполнять перенос программ из одной ОС в другую с минимальными переработками. Некоторые варианты UNIX обеспечивают между собой и совместимость на уровне двоичных кодов, т.е. позволяют запускать готовые откомпилированные (двоичные) программные модули других систем.
Исторически развитие UNIX разделилось на две ветви, отличающиеся структурой ядра, внутренним строением сетевой подсистемы, процедурой начальной загрузки и др.
Первая – UNIX System V – базируется на 5-й версии исходной ОС UNIX, разработанной компанией AT&T. На сегодня большинство таких систем соответствуют стандарту версии System V Release 4.2. В литературе для данной ветви приняты также сокращенные обозначения – SysV, SVR4, SVR4.2, ATT.
Вторая ветвь основана на первой альтернативной реализации UNIX-совместимой ОС, разработанной в университете Беркли (Калифорния, США) и получившей название BSD (Berkeley Software Distribution). Последней версией стандарта является 4.4BSD.
Большинство современных систем семейства UNIX содержат характерные черты как System V, так и BSD. Классификация ОС достаточно условна и основана на преобладании особенностей той или иной ветви в данной системе.
Реализации UNIX существуют для крайне широкого спектра аппаратных платформ – больших ЭВМ (мэйнфреймов), серверов всех классов (от IBM PC-совместимых до многопроцессорных и кластерных RISC-систем), рабочих станций и персональных компьютеров, а также для специфического аппаратного обеспечения – устройств управления технологического и бытового оборудования, портативных и карманных компьютеров и т.п.
Важнейшими сферами применения UNIX являются:
- сервера глобальных сетей (прежде всего Internet). Большинство серверов Web, FTP, электронной почты реализовано именно на платформе UNIX;
- коммуникационные сервера. В сфере маршрутизации, организации межсетевых экранов (firewall), удаленного доступа ЭВМ с ОС UNIX успешно конкурируют со специализированными аппаратными устройствами;
- сервера БД и приложений. UNIX считается наиболее подходящей платформой для серверов баз данных среднего и крупного масштаба;
- профессиональные рабочие станции. Многие специальные приложения, требующие высокой производительности (высококачественная обработка графики, геоинформационные системы и др.), изначально разрабатываются для среды UNIX.
Наиболее известны следующие операционные системы семейства UNIX:
- Solaris – System V компании Sun, разработанная для RISC-платформы SPARC, а также для Intel/РС. Является наиболее распространенной реализацией UNIX.
- IBM AIX – версия System V для RISC-серверов IBM;
- SCO UNIX – реализация System V Release 3.2 для Intel-совместимых ЭВМ. Последние версии выходили под названием SCO OpenServer;
- SCO UnixWare – System V для платформы Intel. Ранние версии разрабатывались компанией Novell, в настоящее время ОС принадлежит компании SCO (Santa Cruz Operation);
- Compaq Tru64 UNIX – ОС для RISC-платформы DEC/Compaq Alpha. Более ранние названия – Digital UNIX, DEC OSF/1;
- IRIX – вариант SystemV для графических станций Silicon Graphics (SGI MIPS);
- HP-UX – версия UNIX для серверов компании Hewlett-Packard.
- Linux – свободно-распространяемая ОС для ряда платформ (Intel, SPARC, M68K и др. RISC); по распространенности занимает второе место после Solaris.
- FreeBSD, NetBSD - свободно-распространяемые реализации BSD для Intel;
- BSDI – коммерческий вариант BSD для Intel;
- SunOS – реализация BSD для RISC-компьютеров компании Sun. В настоящее время вытеснена операционной системой Solaris.
- Xenix – первая реализация UNIX для IBM PC, выполненная SCO при участии Microsoft. В настоящее время практически не используется.
UNIX относится к классу многозадачных, многопользовательских операционных систем. Многозадачность UNIX реализуется на базе механизма разделения времени; параллельно выполняющиеся программы поочередно получают управление в течение кванта системного времени. В отличие от многих широко распространенных ОС для Intel-платформы, UNIX является реально многопользовательской системой, т.е. в пользовательской среде одной и той же ЭВМ могут одновременно работать (запускать программы и т.д.) несколько пользователей – с консоли, терминалов или по сети.
UNIX базируется на двух основных понятиях: процесс и файл. Процессы являют собой динамическую сторону системы, это субъекты; а файлы - статическую, это объекты действия процессов. Процессы (выполняющиеся программы) реализуют всю функциональность системы. Файлы являются универсальной формой представления данных, обрабатываемых процессами – не только хранимой на дисках, но и оперативной; основной информационный обмен между процессами, устройствами и ядром ОС программно реализован как чтение-запись файлов.
Разделение прав в системе реализовано на уровне пользователей. Каждый процесс и каждый файл принадлежит определенному пользователю; все права назначаются относительно пользователей. UNIX ведет общесистемную базу данных пользователей. Независимо от того, какие сервисы уполномочен получать пользователь (работа в графической среде, электронная почта, файловый сервис и т.д.), его имя должно быть зарегистрировано в общесистемной базе. Особое место в системе занимает пользователь root – администратор, обладающий неограниченными привилегиями. Часть пользователей не представлены реальными лицами – это так называемые псевдопользователи, от имени которых работают системные и некоторые прикладные процессы.
Пользователь может входить в систему и работать в ней как непосредственно с консоли UNIX-компьютера, так и с удаленных рабочих мест (по локальной или глобальной сети, выделенной или коммутируемой линии). В последнем случае на удаленном рабочем месте используется специальное программное обеспечение – эмулятор терминала (текстовый режим) или X-сервер (графический режим). Кроме компьютеров, в качестве удаленных рабочих мест могут применяться специализированные устройства – неинтеллектуальные текстовые терминалы, графические X-терминалы, а также телетайпы.
Способ входа в систему и взаимодействия с ней зависит от выбора режима – текстового или графического.
Текстовый (консольный) режим.
Традиционно является базовым для UNIX-систем.
Признаком готовности системы является получение приглашения «login:». Вид приглашения может быть несколько различным в разных системах. В частности, перед приглашением обычно выдается краткая информация о версии системы, сетевом имени сервера и т.п. В ответ пользователь должен ввести имя, под которым он зарегистрирован в системе, и нажать Enter. Затем, в ответ на запрос «Password:» следует ввести пароль (как правило, символы пароля на экране не отображаются).
Если имя и пароль введены правильно, запускается сеанс работы для данного пользователя. Взаимодействие (диалог) пользователя с системой в основном представляет собой ввод команд и исполнение системой этих команд (имеются также визуальные расширения пользовательского интерфейса – визуальные оболочки, меню и т.п.). Готовность к вводу и исполнению команд отображается выводом приглашения командной строки, которое обычно имеет вид символа «$» (перед этим символом может выдаваться краткая информация – имя текущего каталога и т.п.).
Для завершения сеанса и выхода из системы следует набрать в командной строке команду «exit».
Как правило, системная консоль UNIX-компьютера поддерживает несколько виртуальных консолей – независимых текстовых экранов, каждый из которых представляет собой полноценное пользовательское рабочее место (виртуальный терминал), с которого можно войти в систему. Переключение между виртуальными консолями производится комбинациями клавиш Alt-F1, Alt-F2, Alt-F3 и т.д. (или Alt-Ctrl-F1, Alt-Ctrl-F2 и т.д.). Механизм виртуальных консолей позволяет использовать многозадачность и многопользовательский режим с одного рабочего места. Одна из виртуальных консолей (обычно вторая или последняя) может быть задействована под графический интерфейс X Window.
Графический режим (X-интерфейс, система X Window).
При использовании графического режима вход в систему производится на основе ввода имени и пароля в системном окне. Взаимодействие пользователя с системой осуществляется на основе графических интерфейсных элементов (окна, диалоговые панели, «меню» и т.п.) с помощью манипулятора «мышь» и клавиатуры. Реализация графической среды существенно отличается в различных вариантах UNIX, однако большинство графических оболочек строятся на общих принципах интуитивного интерфейса. Многие варианты UNIX включают единообразную графическую среду Motif / CDE, ставшую фактическим стандартом пользовательского интерфейса среди UNIX-подобных систем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.