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

разработанных

в корпорации AT&T, в один, получивший коммерческое название UNIX версия

III.

В дальнейшем фирма Bell Laboratories добавила в версию III несколько

новых

особенностей, назвав новый продукт UNIX версия V (((), и эта версия

стала

официально распространяться корпорацией AT&T с января 1983 года. В то

же

время сотрудники Калифорнийского университета в Бэркли разработали

вариант

системы UNIX, получивший название BSD 4.3 для машин серии VAX и

отличающийся некоторыми новыми, интересными особенностями.

К началу 1984 года система UNIX была уже инсталлирована

приблизительно

на 100000 машин по всему миру, при чем на машинах с широким диапазоном вы-

числительных возможностей - от микропроцессоров до больших ЭВМ - и

разных

изготовителей. Ни о какой другой операционной системе нельзя было бы

сказать

того же. Популярность и успех системы UNIX объяснялись несколькими причина-

ми:

. Система написана на языке высокого уровня, благодаря чему ее легко

читать, понимать, изменять и переносить на другие машины. По оценкам,

сделанным Ричи, первый вариант системы на Си имел на 20-40 % больший

объем и работал медленнее по сравнению с вариантом на ассемблере,

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

перевешивают недостатки [Ritchie 78b], стр. 1965).

. Наличие довольно простого пользовательского интерфейса, в котором имеется

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

. Наличие элементарных средств, позволяющих создавать сложные программы

из более простых.

. Наличие иерархической файловой системы, легкой в сопровождении и эффектив-

ной в работе.

. Обеспечение согласования форматов в файлах, работа с последовательным

потоком байтов, благодаря чему облегчается чтение прикладных программ.

. Наличие простого, последовательного интерфейса с периферийными устройства-

ми.

. Система является многопользовательской, многозадачной; каждый

пользователь может одновременно выполнять несколько процессов.

. Архитектура машины скрыта от пользователя, благодаря этому облегчен про-

цесс написания программ, работающих на различных конфигурациях

аппаратных средств.

Простота и последовательность вообще отличают систему UNIX и

объясняют

большинство из вышеприведенных доводов в ее пользу.

Хотя операционная система и большинство команд написаны на Си,

система

UNIX поддерживает ряд других языков, таких как Фортран, Бейсик,

Паскаль,

Ада, Кобол, Лисп и Пролог. Система UNIX может поддерживать любой язык прог-

раммирования, для которого имеется компилятор или интерпретатор, и обеспечи-

вать системный интерфейс, устанавливающий соответствие между пользователь-

скими запросами к операционной системе и набором запросов, принятых в UNIX.

2. СТРУКТУРА СИСТЕМЫ

На Рисунке 1.1 изображена архитектура верхнего уровня системы UNIX. Тех-

нические средства, показанные в центре диаграммы, выполняют функции, обеспе-

чивающие функционирование операционной системы. Операционная система

взаимодействует с аппаратурой непосредственно((((), обеспечивая

обслуживание программ и их независимость от деталей аппаратной

конфигурации. Если представить систему состоящей из пластов, в нейможно

выделить системное ядро, изолированное от пользовательских

[pic]

Рисунок 1.1. Архитектура системы UNIX

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

переносить

из одной системы UNIX в другую, функционирующую на другом комплексе техни-

ческих средств, если только в этих программах не подразумевается работа

с

конкретным оборудованием. Например, программы, расчитанные на

определенный

размер машинного слова, гораздо труднее переводить на другие машины по срав-

нению с программами, не требующими подобных установлений.

Программы, подобные командному процессору shell и редакторам (ed и vi)

и

показанные на внешнем по отношению к ядру слое, взаимодействуют с ядром

при

помощи хорошо определенного набора обращений к операционной системе.

Обращения к операционной системе понуждают ядро к выполнению различных

операций, которых требует вызывающая программа, и обеспечивают обмен данны-

ми между ядром и программой. Некоторые из программ, приведенных на рисунке,

в стандартных конфигурациях системы известны как команды, однако на одном

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

как программа a.out, стандартное имя для исполняемого файла, созданного

компилятором с языка Си. Другие прикладные программы располагаются выше

указанных программ, на верхнем уровне, как это показано на рисунке.

Например, стандартный компилятор с языка Си, cc, располагается на самом

внешнем слое: он вызывает препроцессор для Си, ассемблер и загрузчик

(компоновщик), т.е. отдельные программы предыдущего уровня. Хотя на

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

может расширить иерархическую структуру на столько уровней, сколько

необходимо. В самом деле, стиль программирования, принятый в системе UNIX,

допускает разработку комбинации программ,выполняющих одну и ту же, общую

задачу.

Многие прикладные подсистемы и программы, составляющие верхний

уровень

системы, такие как командный процессор shell, редакторы, SCCS (система обра-

2ботки исходных текстов программ) и пакеты программ подготовки

документации,

постепенно становятся синонимом понятия "система UNIX". Однако все они поль-

зуются услугами программ нижних уровней и в конечном счете ядра с

помощью

набора обращений к операционной системе. В версии V принято 64 типа обраще-

ний к операционной системе, из которых немногим меньше половины

используются

часто. Они имеют несложные параметры, что облегчает их использование, пре-

доставляя при этом большие возможности пользователю. Набор обращений к опе-

рационной системе вместе с реализующими их внутренними алгоритмами составля-

ют "тело" ядра, в связи с чем рассмотрение операционной системы UNIX

сводится к подробному изучению и анализу обращений к системе и их

взаимодействия между собой. Короче говоря, ядро реализует функции, на

которых основывается выполне-ние всех прикладных программ в системе UNIX, и

им же определяются эти функции. Использование терминов "система

UNIX","ядро" или "система", имеется ввиду ядро операционной системы UNIX,

что и должно вытекать из контекста.

3. ОБЗОР С ТОЧКИ ЗРЕНИЯ ПОЛЬЗОВАТЕЛЯ

3.1 Файловая система

Файловая система UNIX характеризуется:

. иерархической структурой,

. согласованной обработкой массивов данных,

. возможностью создания и удаления файлов,

. динамическим расширением файлов,

. защитой информации в файлах,

. трактовкой периферийных устройств (таких как терминалы и ленточные ус-

тройства) как файлов.

Файловая система организована в виде дерева с одной исходной

вершиной,

которая называется корнем (записывается: "/"); каждая вершина в

древовидной

структуре файловой системы, кроме листьев, является каталогом файлов, а фай-

[pic]

Рисунок 1.2. Пример древовидной структуры файловой системы

лы, соответствующие дочерним вершинам, являются либо каталогами, либо обыч-

ными файлами, либо файлами устройств. Имени файла предшествует указание

пути

поиска, который описывает место расположения файла в иерархической

структуре

файловой системы. Имя пути поиска состоит из компонент, разделенных

между

собой наклонной чертой (/); каждая компонента представляет собой набор

символов, составляющих имя вершины (файла), которое является уникальным

для каталога (предыдущей компоненты), в котором оно содержится. Полное имя

пути поиска начинается с указания наклонной черты и идентифицирует

файл (вершину), поиск которого ведется от корневой вершины дерева

файловой системы с обходом тех ветвей дерева файлов, которые соответствуют

именам отдельных компонент. Так, пути "/etc/passwd", "/bin/who" и

"/usr/src/cmd/who.c" указывают на файлы, являющиеся вершинами дерева,

изображенного на Рисунке 1.2, а пути "/bin/passwd" и "/usr/ src/date.c"

содержат неверный маршрут. Имя пути поиска необязательно должно начинаться

с корня, в нем следует указывать маршрут относительно текущего для

выполняемого процесса каталога, при этом предыдущие символы "наклонная

черта" в имени пути опускаются. Так, например, если мы находимся в

каталоге "/dev", то путь "tty01" указывает файл, полное имя пути поиска для

которого "/dev/tty01".

Программы, выполняемые под управлением системы UNIX, не содержат

никакой

информации относительно внутреннего формата, в котором ядро хранит

файлы

данных, данные в программах представляются как бесформатный поток

байтов.

Программы могут интерпретировать поток байтов по своему желанию, при

этом

любая интерпретация никак не будет связана с фактическим способом

хранения

данных в операционной системе. Так, синтаксические правила, определяющие за-

дание метода доступа к данным в файле, устанавливаются системой и

являются

едиными для всех программ, однако семантика данных определяется

конкретной

программой. Например, программа форматирования текста troff ищет в

конце

каждой строки текста символы перехода на новую строку, а программа

учета

системных ресурсов acctcom работает с записями фиксированной длины.

Обе

программы пользуются одними и теми же системными средствами для осуществле-

ния доступа к данным в файле как к потоку байтов, и внутри себя

преобразуют

этот поток по соответствующему формату. Если любая из программ

обнаружит,

что формат данных неверен, она принимает соответствующие меры.

Страницы: 1, 2, 3, 4, 5



Реклама
В соцсетях
рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать