.
Tuesday 22nd of May 2012    

Информация

Счетчики

Голосование

Лучшая марка телефона
 

Реклама

фильмы онлайн

фильмы онлайн


Разделение функций на уровне ядра ОС
загрузка...

Разделение функций на уровне ядра ОС преследует прежде всего цели повышения эффективности системы и используется на мультимикропроцессорных комплексах. Такие комплексы могут служить мощной инструментальной системой или, например, работать в качестве главных ЭВМ в рассмотренной выше многомашинной схеме.

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

В качестве объекта выделения в ядре ИНМОС была выбрана файловая система, поскольку расходы на ее работу составляют существенную часть времени работы программ (на типовых применениях 15-20%).

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

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

функции занятия и освобождения блоков на диске, поддержки списка свободных блоков;

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

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

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

Шаги работы основного и файлового процессоров:

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

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

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

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

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


загрузка...
 

Самое популярное:

Наши партнеры

bottom

карта сайта