Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособение для экзамена.pdf
Скачиваний:
5
Добавлен:
16.05.2024
Размер:
1.02 Mб
Скачать

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

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

1.5.Принципы многопроцессорности компьютерных систем

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

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

1.Множественные потоки команд – один поток данных (MISD)

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

2.Один поток команд – множественные потоки данных (SIMD)

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

9

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

3.Множественные потоки команд – множественные потоки данных (MIMD)

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

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

1.5.1. Системы симметричной мультипроцессорной обработки (СМО или

SMP).

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

32-х.

10

1.5.2. Системы с асимметричной многопроцессорной обработкой или массивно-параллельные системы (МПС) (суперкомпьютеры).

В данном случае (рис. 1) предусматривается выделение процессоров для выполнения конкретных задач. При этом каждый процессор имеет свою собственную память и устройства ввода-вывода и называется узлом МПС. В этом случае обмен информации между процессорами осуществляется на основе передачи сообщений реализованных в системах PVM или MPI в коммуникационной среде. При этом у нас практически отсутствуют ограничения на количество процессоров в системе, т.к. процессоры размещаются в разных корпусах. На каждом процессоре в отличие от СМО функционирует своя копия ОС, которая в случае гетерогенной системы может быть другого типа, чем на остальных процессорах. В то же время в отличие от СМО для МПС основной проблемой является создание высокоскоростной коммутационной системы, передающей данные между узлами, и определение ее оптимальной топологии для снижения задержек на передачу данных. В настоящее время большинство суперкомпьютеров строится на основе МПС архитектуры. В то же время наметилась тенденция использования в МПС элементов СМО и даже векторных процессоров. Так, в частности, МПС может быть построена на узлах, использующих 2-х процессорные системы с 6-ти ядрами каждый и в дополнение использующие графические ускорители системы CUDA. Количество узлов в современных суперкомпьютерах доходит до нескольких тысяч.

Применительно к задачам ЯЭ системы многопроцессорной обработки находят широчайшее использование в области научно технических расчетов. Например, можно выделить задачи CFD кодов, нейтронной физики и других, которые могут решаться на одиночном процессоре в течение месяцев. Использование методов параллельных расчетов позволяет получить в десятки раз ускорение для данного класса задач.

11

Коммуникационная

среда

Оперативная

память

Кэш память 1

Кэш память 2

Оперативная память

Оперативная память

 

 

1

2

Процессор 1

Процессор 2

Кэш память 1

Кэш память 2

(а)

Процессор 1

Процессор 2

(б)

Рис.1 Общие схемы архитектур СМО (а) и асимметричной многопроцессорной обработкой (б).

1.6.Основные требования к ОС и тенденции их развития

Данные характеристики формируются на основе ранее выделенных основных задач ОС по обеспечению удобства и эффективности работы пользователя и, понятно, что эти критерии варьируются в соответствии с задачами использования ОС. Мы будем исходить из проблем использования компьютерных систем в ЯЭ, определенных во введении. Основываясь на этом, можно выделить следующие требования к ОС.

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

12

Переносимость. Данное условие обеспечивает легкость процесса переноса ОС на разные аппаратные платформы. Например, кроме процессорной платформы Intel x86, могут быть использованы процессоры Intel IA64, MIPS и другие. Для выполнения данного требования ОС должна быть построена на основе соблюдения следующих простых принципов:

1.Использование языка высокого уровня

2.Учет физических особенностей платформы, на которую планируется перенос

3.Аппаратно зависимые части кода ОС должны быть минимизированы и локализованы

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

Совместимость имеется двоичная и на уровне исходных текстов программ. Двоичная подразумевает, что программа без какой либо переделки может корректно функционировать в разных ОС. В случае совместимости на уровне текстов мы должны перекомпилировать заново нашу программу для той системы, под которой мы собираемся ее запустить. Двоичная совместимость обычно обеспечивается более сложно, однако она наиболее необходима конечным пользователям, у которых зачастую исходные тексты программ могут отсутствовать. Часто совместимость (иногда достаточно ограниченную) можно обеспечить на основе моделирования (эмулирования) поведения желаемой ОС под текущей. Например, работы ОС Linux под Windows и наоборот. В этом случае наша программа при запуске получит полную иллюзию работы под ОС, под которой она изначально была создана. Одной из таких эмуляционных систем является среда виртуальных машин VMware [4]. При использовании таких систем надо всегда помнить, что моделирование определенных особенностей работы с оборудованием желаемой ОС зачастую выполняется с большими задержками, что может вызывать ощутимые замедления при активном работе программы, например, с графикой. Среди программ семейства UNIX совместимость на уровне исходных текстов обеспечивается соблюдением стандарта POSIX. Наличие исполнительной системы POSIX в семействе ОС MS Windows NT также обеспечивает ограниченную совместимость с программами семейства UNIX.

Безопасность. Как уже подчеркивалось во введении, данное свойство является одним из ключевых при использовании компьютерных технологий в ЯЭ. Одной из первых попыток создания системы критериев безопасности компьютерных систем была

13

«Оранжевая книга» министерства обороны США, изданная в 1985 году. Сейчас она устарела в определенной степени, но ее классификация до сих пор часто используется специалистами. «Оранжевая книга» предложила уровни классификации компьютерных систем по безопасности – уровни D, C, B и A в порядке увеличения безопасности системы. Уровни сами еще подразделяются на подуровни. Системы класса D являются наиболее уязвимыми. Сюда попадают ОС, не отнесенные в другие классы и к ним, наверное, можно отнести MS DOS и подобные системы. Для ОС уровня С основными свойствами является: наличие подсистемы учета событий, связанных с безопасностью и избирательный контроль доступа. Уровень С делится на подуровни С1 и С2. С1 обеспечивает систему защитой от действий пользователя, но не от действий злоумышленника. Уровень С2 является более строгим и основывается на наличии:

средств секретного входа

избирательного контроля доступа

средств учета и наблюдения (мониторинга)

защиты памяти.

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

Уровень А является еще более защищенным и использует формальные (математические) методы доказательства безопасности системы.

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

После создания «Оранжевой книги» разные организации пытались создать свои критерии безопасности. В настоящее время существует международный стандарт ISO 15408, версия 2.1.

14