Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Концепция построения ОС РВ USIX



В настоящее время ОС USIX реализована на однопроцессор­ных и многопроцессорных SМР-системах с архитектурой lntel.

К основным отличительным особенностям ОС USIX относят­ся:

· полностью прерываемое ядро;

· поддержка многопроцессорности;

· устойчивая файловая система;

· ядро небольшого размера;

· динамически загружаемые драйверы внешних устройств;

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

· реализация процессов-серверов с возможностью динамического погружения в адресное пространство ядра;

· средства обеспечения безопасности уровня В3;

· развитые средства поддержки реального времени;

· открытость и переносимость.

Рассмотрим принципы построения USIX. В операционной системе USIX основными понятиями являются:

Процесс - единица потребления ресурсов.

Порт - точка поступления сообщений и их идентификации.

Объект памяти - связанное множество страниц оперативной или внешней памяти, объединенных об­щими характеристиками.

Сервер - вспомогательный процесс, реализующий одну из функций операционной системы (например, файловый сервер).

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

Спинлок - точка синхронизации многопроцессорного доступа к ресурсу.Если ресурс занят, про­цессор, как правило, ожидает его освобож­дения.

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

Сегмент - виртуальное окно в адресном пространстве процесса, отображающее какой-либо ре­гион.

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

Ядро USIX поддерживает два интерфейса:

1. Пользовательский интерфейс (POSIX/SVID - System V Interface Definition), реализованный на уровне стандартных сис­темных функций, соответствующих стандартам SVID и POSIX.

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

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

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

Адресное пространство процесса включает совокупность объ­ектов памяти, к которым программа может иметь доступ.

Ядро USIX поддерживает следующие типы объектов памяти:

· текст программы;

· инициализированные данные;

· неинициализированные данные;

· модифицированные данные;

· стек;

· буфер FIFO (First In, First Out);

· буфер сообщений

· Открытый файл

· Разделяемые данные

· Разделяемые библиотеки и тд

Идентификация объектов памяти поддерживается через cтруктурущ «регион» (region). Регион определяет место физическо­го размещения объекта памяти: оперативная память, файл на на диске, область выгрузки.Когда создается объект памяти, структура region заполняется соответствующими данными.Каждый процесс имеет возможность отобразить необходи­мый объект памяти (полностью или частично) в свое адресное пространство, установив виртуальный адрес и смещение от нача­ла региона. Такое отображение устанавливается с помощью опи­сания сегмента памяти. При этом определяются также права про­цесса относительно объекта памяти. Описания сегментов памяти индивидуальны для каждого процесса и управляются ядром. Ото­бражение объекта памяти может выполняться ядром или пользо­вателем. Для синхронизации доступа к объекту памяти применяются различные механизмы синхронизации. Так, в случае работы с разделяемой памятью используется механизм семафоров, а для синхронизации доступа к общим внутренним структурам данных используется механизм спинлоков.

Концепция объекта памяти имеет следующие преимущества:

· Буфер;

· оперативная память используется как общий ресурс и назнача­ется объектам памяти только на определенный период времени;

· сервер файловой системы не используется при операциях вво­да-вывода. Его главное назначение - управление дисковым пространством и его распределение для вновь создаваемых файлов;

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


Процессы и ядро USIX

Процесс – единица планируемой работы в USIX – связан с выполнением отдельной программы в адресном пространстве, которое, будучи разделенным на страницы, является виртуальным. Ядро системы хранит содержимое адресного пространства в различных объектах памяти.

Функционирование USIX обеспечивается следующими способами:

· Пользовательский процесс запрашивает системный сервис через системные вызовы. Ядро выполняет эти запросы для вызываемых процессов.

· Некоторые исключительные действия процесса вызывают исключительные ситуации, которые управляются ядром от имени процесса.

· Ядро управляет аппаратными прерываниями от внешних устройств как глобальные события.

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

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

Каждый процесс характеризуется своим контекстом:

· Адресное пространство процесса – выполняемый код, данные, стек, регионы разделяемой памяти и др.

· Управляющая информация – приоритет и ресурсы процесса, стек ядра, отображение адресного пространства, идентификатор процесса.

· Аппаратный контекст – содержание общих и специальных регистров процессора.

Процессы имеют четкую иерархию: каждый процесс имеет одного родителя и может иметь несколько порожденных.

В любой момент времени процессор может находиться в одном из состояний:

 

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

Рассмотрим основные архитектурные особенности ядра USIX.

Планирование процессов.

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

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

Служба времени.

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




©2015 studopedya.ru Все права принадлежат авторам размещенных материалов.