Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Расчетное задание / КМ2 / Ответы КМ2

.pdf
Скачиваний:
5
Добавлен:
16.05.2024
Размер:
17.54 Mб
Скачать

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

1.7.Особенности ОС корпоративных систем

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

Масштаба отдела. ОС для отделов и рабочих групп в дополнение к ранее выделенным свойствам должны обеспечивать:

1.набор сетевых сервисов: разделение файлов, приложений, принтеров и т.д.

2.отказоустойчивость

Масштаба предприятия. Здесь в дополнение к характеристикам ОС масштаба отдела надо добавить следующие свойства:

1.Масштабируемость – способность сохранять свою производительность при росте числа компьютеров в сети вплоть до нескольких тысяч единиц.

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

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

Контрольные вопросы:

1.Назначение ОС.

2.По каким признакам можно классифицировать ОС?

3.Какие основные принципы построения ядра ОС?

4.Чем отличаются процессоры типа CISC и RISC?

5.Какие существуют способы организации выполнения программ?

6.Что такое ядро ОС и какие виды ядер бывают?

15

7.Назовите принципы организации параллельных расчетов.

8.Какие требования предъявляются к современным ОС?

9.Назовите основные отличия между ОС масштаба отдела и предприятия

16

2. ОСОБЕННОСТИ ПРИМЕНЕНИЯ СВОБОДНО РАСПРОСТРАНЯЕМЫХ ПРОГРАММНЫХ ПРОДУКТОВ В ЯЭ

В настоящее время имеется тенденция к значительному усложнению программных комплексов используемых в ЯЭ. Непосредственно на АЭС это касается различных задач автоматической системы управления технологических процессов (АСУ ТП), решаемых в масштабах блока. Также это относится и к другим объектам ядерного цикла. При этом видится три основных пути реализации данных систем:

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

B.использование лицензионного программного обеспечения

C.использование свободно распространяемого программного обеспечения (СРПО).

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

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

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

17

рубежом. Также ограничения по лицензии могут касаться использования приобретаемых продуктов в специфичных местах ЯЭ. Наряду с этим мы должны учитывать то, что большинство лицензионных программных продуктов имеют закрытый код, что затрудняет прогнозирование их поведения во всех возможных ситуациях, в том числе и критических. Последний аспект касается защищенности данных. Известно, например, что в 2010 году в США введены ограничения на экспорт ECCN 5D002 программных продуктов имеющих защиту данных на основе асимметричного шифра с длиной ключа более 512 бит и т.д. Таким образом, купленные по лицензии системы могут иметь проблемы с защитой данных.

Альтернативное решение проблемам пунктов А и В может быть найдено при использовании направления С. Действительно, несмотря на то, что СРПО создается добровольцами, оно зачастую обладает отнюдь не худшими качествами по сравнению с схожими коммерческими продуктами. Для примера достаточно привести ОС Linux, которая, являясь СРПО, на основе своей надежности и других свойств очень широко используется в самых разнообразных компьютерных системах – например в суперкомпьютерах. Все перечисленные ранее проблемы при использовании СРПО решаются, однако появляются новые:

a)функциональные характеристики часто нечетко определены и изложены в документации

b)сертификации по СРПО часто нет, система тестов может носить нечеткий характер и информация о них может быть труднодоступна

c)в процессе эксплуатации СРПО может быть выяснено о не полном функциональном соответствии решаемым задачам

d)отсутствие систематической поддержки в процессе эксплуатации

Решение перечисленных вопросов возможно на основе следующих основных

шагов.

1.Функции, реализуемые СРПО, должны быть четко определены на основе тестов и, при необходимости, обратной инженерии. Должны быть выявлены все возможные влияния на безопасность компьютерной системы.

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

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

18

4.Должна быть четко определена версия СРПО и при возможности использована последняя.

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

Как уже было упомянуто выше, в мире имеется большой положительный опыт использования СРПО, в том числе, на объектах ЯЭ. Так в институте проблем управления им. В.А Трапезникова была разработана система верхнего блочного уровня (СВБУ) АСУ ТП АЭС, включая программное обеспечение [5]. Данная система построена на использовании СРПО ОС Linux. При этом разработчики руководствовались следующими критериями:

1.Linux не имеет лицензионных ограничений на поставку.

2.Удовлетворяет требованиям техзадания.

3.Имеет возможность верификации, модификации, обслуживания и сопровождения.

4.Имеет поддержку основных производителей технических средств и программного обеспечения.

Контрольные вопросы:

1.Назовите основные пути развития нового программного обеспечения.

2.Какие проблемы возникают при использовании СРПО? Как их решают?

3.Приведите примеры СРПО.

19

3. ОСНОВНЫЕ КОМПОНЕНТЫ СОВРЕМЕННЫХ ОС

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

3.1.Система управления процессами в современных ОС

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

При наличии в ОС многозадачности процессы конкурируют за CPU. В этом случае процесс может находиться в трех основных состояниях:

A.Выполнение – процесс в данный момент времени активно выполняется на

CPU

B.Ожидание – процесс не может выполняться в связи со своими внутренними причинами, например, ожидание завершения операции считывания файла, сигнала от другого процесса и т.д.

C.Готовность - процесс не может выполняться в связи со внешними причинами, например, CPU занят обработкой другого процесса.

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

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

20

Соседние файлы в папке КМ2