Рефераты. Выбор оптимальных сетевых решений на базе многозадачных операционных систем для построения компьютерной сети вуза p>
Особые ситуации связаны с возникновением незапланированных событий, вызванных процессом, таких как недопустимая адресация, задание привилегированных команд, деление на ноль и т.д. Они отличаются от прерываний, которые вызываются событиями, внешними по отношению к процессу.
Особые ситуации возникают прямо "посредине" выполнения команды, и система, обработав особую ситуацию, пытается перезапустить команду; считается, что прерывания возникают между выполнением двух команд, при этом система после обработки прерывания продолжает выполнение процесса уже начиная со следующей команды. Для обработки прерываний и особых ситуаций в системе
UNIX используется один и тот же механизм.


Уровни прерывания процессора


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


Распределение памяти


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


Когда программа запускается на выполнение, ядро выделяет для нее место в оперативной памяти, при этом совпадение виртуальных адресов, сгенерированных компилятором, с физическими адресами совсем необязательно.
Ядро, взаимодействуя с аппаратными средствами, транслирует виртуальные адреса в физические, т.е. отображает адреса, сгенерированные компилятором, в физические, машинные адреса. Такое отображение опирается на возможности аппаратных средств, поэтому компоненты системы UNIX, занимающиеся им, являются машинно-зависимыми.


Резюме


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


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

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


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

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

Файловая система организована в виде дерева с одной исходной вершиной, которая называется корнем (записывается: "/"); каждая вершина в древовидной структуре файловой системы, кроме листьев, является каталогом файлов, а файлы, соответствующие дочерним вершинам, являются либо каталогами, либо обычными файлами, либо файлами устройств. Имени файла предшествует указание пути поиска, который описывает место расположения файла в иерархической структуре файловой системы. Имя пути поиска состоит из компонент, разделенных между собой наклонной чертой (/); каждая компонента представляет собой набор символов, составляющих имя вершины (файла), которое является уникальным для каталога (предыдущей компоненты), в котором оно содержится. Полное имя пути поиска начинается с указания наклонной черты и идентифицирует файл (вершину), поиск которого ведется от корневой вершины дерева файловой системы с обходом тех ветвей дерева файлов, которые соответствуют именам отдельных компонент. Имя пути поиска необязательно должно начинаться с корня, в нем следует указывать маршрут относительно текущего для выполняемого процесса каталога, при этом предыдущие символы "наклонная черта" в имени пути опускаются.


Программы, выполняемые под управлением системы UNIX, не содержат никакой информации относительно внутреннего формата, в котором ядро хранит файлы данных, данные в программах представляются как бесформатный поток байтов.
Программы могут интерпретировать поток байтов по своему желанию, при этом любая интерпретация никак не будет связана с фактическим способом хранения данных в операционной системе. Так, синтаксические правила, определяющие задание метода доступа к данным в файле, устанавливаются системой и являются едиными для всех программ, однако семантика данных определяется конкретной программой. Например, программа форматирования текста troff ищет в конце каждой строки текста символы перехода на новую строку, а программа учета системных ресурсов acctcom работает с записями фиксированной длины. Обе программы пользуются одними и теми же системными средствами для осуществления доступа к данным в файле как к потоку байтов, и внутри себя преобразуют этот поток по соответствующему формату. Если любая из программ обнаружит, что формат данных неверен, она принимает соответствующие меры.


Каталоги похожи на обычные файлы в одном отношении; система представляет информацию в каталоге набором байтов, но эта информация включает в себя имена файлов в каталоге в объявленном формате для того, чтобы операционная система и программы, такие как ls (выводит список имен и атрибутов файлов), могли их обнаружить.


Права доступа к файлу регулируются установкой специальных битов разрешения доступа, связанных с файлом. Устанавливая биты разрешения доступа, можно независимо управлять выдачей разрешений на чтение, запись и выполнение для трех категорий пользователей: владельца файла, группового пользователя и прочих. Пользователи могут создавать файлы, если разрешен доступ к каталогу. Вновь созданные файлы становятся листьями в древовидной структуре файловой системы.


Для пользователя система UNIX трактует устройства так, как если бы они были файлами. Устройства, для которых назначены специальные файлы устройств, становятся вершинами в структуре файловой системы. Обращение программ к устройствам имеет тот же самый синтаксис, что и обращение к обычным файлам; семантика операций чтения и записи по отношению к устройствам в большой степени совпадает с семантикой операций чтения и записи обычных файлов.
Способ защиты устройств совпадает со способом защиты обычных файлов: путем соответствующей установки битов разрешения доступа к ним (файлам).
Поскольку имена устройств выглядят так же, как и имена обычных файлов, и поскольку над устройствами и над обычными файлами выполняются одни и те же операции, большинству программ нет необходимости различать внутри себя типы обрабатываемых файлов.

4.3 Защита данных в ОС UNIX


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


Сетевые ресурсы известны и поддерживаются как службы. Им даются имена, с помощью которых пользователи могут обратиться к ним. Службы включают в себя: фазовую службу (каталоги, подкаталоги, данные и программы в каталогах), коммуникационные службы (программы эмуляции SNA 3270, асинхронные коммуникационные службы) и службы печати. Все службы получают имена через службу именования в UNIX, именуемую StreetTalk.


Каждое имя состоит из 3-х частей: имени ресурса или пользователя, имени труппы пользователей и имени организации. Например, пусть существует сервер с именем организации ACME; есть две группы пользователей MARKETING
(маркетинг) и ACCOUNTING (бюджет), существует также несколько служб, связанных с каждой группой, например, WP (word processing) обработка текста) DBASE (database) база данных, АССТ (accounting) бюджет. При использовании каждая часть имени отделяется от другой знаком @.
Пользователь FRED из группы MARKETING должен зарегистрироваться для работы в сети с помощью команд:


A>LOGONFRED@MARKETING@ACME.


Если этот пользователь хочет запросить службу, связанную с базой данных маркетинга организации (ПО СУБД и файлы базы данных), он должен выполнить команду:


A>SETDRIVE G DBASE@MARKETING@ACME


Эта команда назначит логическое устройство G: на каталог и подкаталоги с ПО
СУБД и файлами базы данных, Длинным именам StreetTalk могут быть назначены короткие синонимы (Nicknames).


StreetTalk - это база данных списков. Она, в частности, включает в себя список сетевых ресурсов. Другие списки SteetTalk - это списки пользователей, групп пользователей и прав пользователей.


Можно сказать, что ключевым фактором, обусловливающим эффективность системы
UNIX, является ее служба распределения имен StreetTalk, которая делает сеть аппаратно независимой. Служба StreetTalk осуществляет распределение единой базы данных пользователей, групп и ресурсов между всеми серверами
ЛВС, так что вам никогда не придется вводить какое-либо изменение в права доступа сети более чем один раз.


Если у вас имеются соответствующие права доступа, служба StreetTalk предоставит вам возможность использовать любой ресурс сети независимо от того, в каком месте он находится. Например, когда какая-либо рабочая группа переезжает в новый город, вы можете перенести коллективно используемые и персональные данные членов этой группы просто путем загрузки резервной магнитной ленты в сервер в этом новом городе. Группа сможет продолжить свою деятельность прямо с того места, на котором работа была прервана, причем сможет использовать те же самые процедуры вхождения в систему, персональные каталоги, прикладные программы и адреса электронной почты. (В случае других сетевых ОС вам пришлось бы создавать новые сценарии вхождения в систему, задавать новые адреса и переустанавливать права доступа для каждого пользователя.)

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.