ИСТОРИЯ
НОРМАТИВНЫЕ АКТЫ

П.Н. Афонин. «Информационные таможенные технологии»

• пропускная способность;
• удобство работы пользователей;
• реактивность системы (заданные интервалы времени).

В зависимости от критерия различают:

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

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

В этом режиме невозможно гарантировать выполнение задачи в течение определенного времени. Мультипрограммирование организовано за счет параллельной работы канала или контроллера и процессора.

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

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

Мультипрограммирование организуется путем выделения каждой задаче некоторого, достаточно небольшого, отрезка времени — кванта. По завершении кванта задача принудительно приостанавливается и в соответствии с заложенным алгоритмом выбирается на выполнение новая задача.

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

ОС MS Windows, Unix являются примерами систем разделения времени.

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

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

Для систем реального времени важна скорость обработки прерываний. Задача максимальной загрузки устройств — не актуальна.

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

Различают внешние (аппаратные), внутренние и программные прерывания.

Внешние прерывания происходят асинхронно, т. е. происходят в случайный момент времени в процессе выполнения программы (например, от внешних устройств), внутренние — синхронно, т. е. возникают по конкретной причине и можно предугадать возникновение такого прерывания (например, при делении на ноль).

Программные прерывания не являются «истинными» прерываниями. Они возникают при выполнении определенной команды процессора и применяются в том случае, когда необходимо выполнить некоторые привилегированные действия (например, обратиться к порту компьютера). Прерываниям равного значения приписываются уровни приоритетов (уровни — IRQ). Каждое из прерываний обслуживается обработчиком прерываний (Interrupt Service Routine).

Внешние прерывания обрабатываются драйверами, внутренние — модулями ядра, а программные — процедурами из API.

1.3.4. Мультипроцессорная обработка

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

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

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

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

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

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

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

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

Для распараллеливания необходимо соответствующим образом организовать вычисления. Сюда входит следующее:

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

Рассмотрим граф, описывающий последовательность процессов большой программы, представленный на рис. 3. Видно, что выполнение процесса P5 не может начаться до завершения процессов P2 и Р3 и, в свою очередь, выполнение процессов P2 и P3 не может начаться до завершения процесса P1. В данном случае для выполнения программы достаточно трех процессоров.

Ускорение обработки на мультипроцессоре определяется отношением времени однопроцессорной обработки к времени многопроцессорной обработки:

U = Ts / Nm.

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

Последовательные конвейеры. На рис. 4, а показано устройство обработки команд, в котором имеется четыре ступени: выборка команды из памяти, декодирование, определение адреса и выборка операнда, исполнение.

Ускорение обработки в данном устройстве измеряется отношением времени Ts, необходимого для последовательного выполнения L заданий (т. е. выполнения L циклов на одной обрабатывающей ступени), ко времени Tp выполнения той же обработки на конвейере. Обозначим через ti время обработки на 1-й ступени, а через ti — соответствующее время для самой медленной ступени (рис. 4, б). Тогда если L заданий (команд) проходят через конвейер с n ступенями, то эффективность конвейера определяется следующим выражением:

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

<<   [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] ...  [66]  >> 


Контактная информация: e-mail: info@tkod.ru   


Rambler's Top100Rambler's Top100 Яндекс цитирования Все о таможне