Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
34
Добавлен:
02.05.2014
Размер:
1.46 Mб
Скачать

Основные черты unix, определяющие ее долгожительство.

  1. Код ОС написан на языке высокого уровня С, что сделало ее про­стой для понимания, изменений и переноса на другие платформы.

Система на языке С имеет на 20-40% больший размер, а произво­дительность ее на 20% ниже аналогичной системы, написанной на ассемблере. Однако ясность и переносимость сыграли решаю­щую роль в ее популярности.

  1. UNIX – многозадачная многопользовательская система с широ­ким спектром услуг. Один мощный сервер может обслужить за­просы большого количества пользователей. Система может вы­полнять различные функции – работать как вычислительный сер­вер, обслуживающий сотни пользователей, как сервер базы дан­ных, как сетевой сервер, поддерживающий важнейшие сервисы сети (telnet, ftp, электронную почту, службу имен DNS и т. д.), или даже как сетевой маршрутизатор.

  2. Наличие стандартов. Несмотря на многообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов. Опытный админи­стратор без большого труда может обслужить другую версию системы, для пользователей переход на другую версию и вовсе может оказаться незаметным.

  3. Простой, но мощный модульный пользовательский интерфейс. Имеется ряд утилит, каждая из которых решает узкую специали­зированную задачу, из них можно конструировать сложные ком­плексы.

  4. Использование единой, легко обслуживаемой иерархической файловой системы. Файловая система – это не только доступ к данным, хранящимся на диске. Через унифицированный интер­фейс файловой системы осуществляется доступ к терминалам, принтерам, магнитным лентам, сети и даже к памяти.

  5. Большое количество приложений, в том числе свободно распро­страняемых, начиная от простейших текстовых редакторов и за­канчивая мощными системами управления базами данных.

ОС UNIX многозадачная система, предназначенная для ра­боты на станциях, имеющих множество подключенных терминалов. Для обслуживания терминалов в мультипрограммном режиме тре­буется большой объем оперативной и внешней памяти (8 Мбайт ОЗУ, 1-100 Гбайт ПЗУ) и достаточное быстродействие. В качестве терминалов могут быть различные периферийные устройства: ПК, модемы, факсы, принтеры. Программы могут запускаться с терми­нала и использовать все доступные в данный момент ресурсы рабо­чей станции. Поэтому нет необходимости доводить ПК до большой мощности. Особенно эффективны UNIX-сервера для распределен­ной обработки данных. Для них разработаны СУБД типа Oracle, In­formix, которые информацию, разбросанную по разным рабочим станциям, разными знаками представляют одной единой БД.

При обработке больших массивов информации используется интерфейс клиент-сервер, когда пользователь работает только с той информацией, которая его интересует, а не со всем объемом.

ОС UNIX является альтернативой вычислительной сети. Ско­рость передачи данных на порядок выше чем в ВС.

Подключение ПК в локальную сеть с UNIX-серверами осуще­ствляется по протоколу TCP/IP с помощью пакета PC-NFS. При этом пользователи могут использовать:

а) рабочую станцию как файл-сервер.

б) могут эмулировать на ПК терминал UNIX-сервера (режим TELNET).

в) организовать систему клиент-сервер (ПК формирует SQL-запросы, UNIX-сервер их обрабатывает).

г) непосредственный обмен файлами между ПК по протоколу FTP.

Процесс – одно из основных понятий этой системы. Процесс представляет собой совокупность выполняющейся программы или нескольких программ, которые вызываются при исполнении ко­манды, и данных, обрабатываемых программой: здесь имеются в виду не машинные команды, а системные. Все действия в ОС UNIX определены как процессы. Функционирование ОС можно рассмат­ривать как взаимодействие нескольких связанных процессов. Харак­терным является наличие механизмов межпроцессорной связи для организации взаимодействия параллельных процессов (каналы, сиг­налы, очереди сообщений, семафоры, разделение сегментов памяти). Их тип можно выбирать с учетом специфики решаемых задач. Про­грамма, построенная из одновременно выполняющихся процессов называется параллельной, что значительно сокращает время выпол­нения задачи. Положенные в основу UNIX механизмы поддержи­вают многопроцессорность. При наличии одного процессора про­цессы выполняются в режиме разделения времени.

С каждым процессом связаны открытые файлы:

  • стандартного ввода (дескриптор 0) – терминал или файл.

  • стандартного вывода (дескриптор 1) – терминал или файл.

  • сообщений об ошибках (дескриптор 2) – терминал или файл.

Часть процессов не может быть размещена в оперативной па­мяти из-за ее ограниченного объема и перемещается в область внешней памяти (свопинг). Процесс для выполнения выбирается на основании вычисленного приоритета.

При выполнении программы в среде ОС UNIX взаимодейст­вуют ядро, оболочка Shell и прикладные программы.

Ядро – управляющая программа, взаимодействующая с аппа­ратными средствами. Ее функции:

  1. Управление памятью и процессором.

  2. Обслуживание внешних устройств.

  3. Обслуживание исполнения всех программ.

Все действия, связанные с вводом-выводом и вызовом про­грамм, выполняются в ОС UNIX с помощью системных вызовов. Системные вызовы реализуют интерфейс между программами и ядром (программный интерфейс).

Интерпретатор команд Shell (оболочка) обеспечивает интер­фейс пользователь-ядро при введении пользователем команд с тер­минала (командный интерфейс). Shell интерпретирует такие ко­манды, вводимые из командного файла.

Существуют различные типы интерпретаторов команд Shell: B-Shell фирмы Telephone Laboratories – бурновский интерпретатор; C-Shell – новая редакция B-Shella: V-Shell – визуальный Shell и т. д.

Shell выполняет следующие функции:

  • в начале работы выводит на терминал знак-приглашение;

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

  • ищет файл команды, вызывает его на выполнение и передает его параметры;

  • выдает сообщение об ошибке, если что-нибудь выполняется не­верно;

  • после выполнения команды выдаем на терминал знак-приглаше­ние.

Shell является также языком программирования, на котором пи­шут командные файлы (Shell-файлы). Язык содержит конструкции, характерные для языка высокого уровня: условный оператор, опера­торы циклов, команду ветвления по многим направлениям, команду управления прерыванием и другие.

При входе в ОС пользователь получает копию интерпретатора Shell в качестве родительского процесса. Далее после ввода команды пользователем создается порожденный процесс. Это называется по­рождением процесса, а порожденный процесс – процессом-потом­ком или дочерним процессом. То есть после запуска ОС каждый но­вый процесс функционирует только как процесс-потомок уже суще­ствующего процесса.

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

Если файл команды является скомпилированной и скомпонован­ной программой, то порожденный процесс будет выполнять файл команды и родительский процесс будет ждать завершения процесса-потомка. Программист может создавать свои собственные команды, помещая их в файл.

Программные средства ОС UNIX позволяют динамически поро­ждать процессы и организовывать взаимодействие параллельных процессов.

Для порождения процессов используются системные вызовы.

Атрибутами процесса являются: идентификатор процесса (каж­дый процесс имеет уникальный номер); идентификатор родитель­ского процесса; набор открытых файлов; текущий каталог, перемен­ные округления; идентификаторы пользователя и группы (пользова­тель, принадлежащий некоторой группе).

Порожденный процесс наследует у родительского большинство атрибутов.

Механизм коллективного использования файлов позволяет объе­динять действия пользователей. Возможность работы в составе ло­кальных и распределенных сетей разных UNIX-обеспечивается на­личием стандартных сетевых и телекоммуникационных средств. В UNIX периферийные устройства называются именами специальных файлов и обмен информации с ними осуществляется также как с файлами. Пользователь может переводить выдачу результатов ра­боты программы с одного ПУ на другие. Можно послать информа­цию по E-mail другому пользователю. Есть так называемая прямая связь с пользователем и средства общения с пользователями, рабо­тающими в другой системе.

Соседние файлы в папке Операционные системы