Множественные прикладные среды. Способы реализации

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

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

Способы реализации прикладных программных сред

В зависимости от архитектуры:

1. Прикладная программная среда в виде приложения (верхний слой ядра родной ОС).

Пользовательский режим работы, трансляция системных вызовов (вызовов API) в вызовы «родной» ОС. Соответствует классическим многослойным ОС (Unix, Windows).

2. Наличие нескольких прикладных сред, функционирующих равноправно. Каждая в виде отдельного слоя ядра.

Привилегированный режим работы. API обращается к функциям нижележащего (привилегированного) слоя ОС. На систему ложится задача распознавания и адаптации вызова. Требуется большое количество ресурсов. В ядро передаётся набор идентифицирующих характеристик для распознавания.

3. Микроядерный принцип.

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

Интерфейсы ОС

Интерфейс ОС – это прикладная система программирования. Регламентируется с помощью стандартов (POSIX, ISO).

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

Совокупность таких модулей называется интерпретатором. Он выполняет лексический и синтаксический анализ и либо сам выполняет команду, либо передает ее API.

2. API – предназначен для предоставления прикладным программам ресурсов ОС и реализации других функций. API описывает совокупность функций, процедур, принадлежащих ядру и надстройкам ОС. API использует системные программы как в составе ОС, так и за ее пределами, используя прикладные программы посредством среды программирования.

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

Интерфейсы ОС Linux:

· программный (без посредников – собственно выполнение системных вызовов);

· командной строки (посредник – оболочка интерпретатора Shell, перенаправляющая вызов);

· графический (посредники – Shell + графическая оболочка).

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

Файловая система - это часть ОС, предназначенной для обеспечения пользователям удобного интерфейса работы с файлами и обеспечения пользования файлами, хранимыми на внешних носителях (жёсткий диск + ОЗУ) несколькими пользователями и процессами.

По составу ФС:

· совокупность всех файлов на диске на всех носителях,

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

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

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

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

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

Множественные прикладные среды. Способы реализации - student2.ru

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

Наши рекомендации