Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpora_ROD_pechat.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
5.2 Mб
Скачать

Билет №12

1. Стратегия спискового планирования

Тип – планирование при ограничениях на ресурсы.

Исходные данные:

  1. Граф непосредственного предшествования операций.

  2. Число процессоров каждого типа

Результирующие данные:

  1. Шаги управления.

  2. Распределение операций по шагам управления

Описание алгоритма:

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

  2. Планирование выполняется в цикле, начиная с первого шага и кончая последним шагом.

  3. В начале планирования список содержит операции, не имеющие предшественников в графе непосредственного предшествования операций.

  4. Алгоритм завершает работу когда список операций пуст.

  5. Список операций состоит из двух частей:

      1. операций, не спланированных на предыдущем шаге управления и перенесенных на текущий шаг;

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

  6. Для каждого шага управления выполняются следующие действия по планированию:

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

    2. Между операциями может возникать конкуренция. Могут использоваться различные критерии выбора операций. Наиболее часто используемым является критерий принадлежности операции критическому пути на графе непосредственного предшествования операций.

    3. На текущий шаг управления назначается число операций каждого типа с учетом ограничений на ресурсы.

    4. Остальные не спланированные операции в списке переносятся на следующий шаг управления.

    5. К списку добавляются новые не спланированные операции, для которых все операции-предшественники оказываются спланированными.

  1. Регистрация компонента в реестре

Зарегистрировть компонент в реестре можно программой regsvr32. Информацию о регистрации необходимо включить в файл с расширением .reg:

REGEDIT4

[HKEY_CLASSES_ROOT\CLSID\{B56E3633-C17E-4efc-983E-515D43A4F31E}\InprocServer32]

@="D:\\UNIVERSITIES\\BNTU\\Распред_Обраб_Данных\\Программы\\lab3\\Lab2server\\Debug\\ MyServer.dll"

Задача - Дать пример интерфейса на языке С++ в модели COM

interface Iopers {

virtual void __stdcall operT1(int, int, int*) = 0;

virtual void __stdcall operT2(int, int, int*) = 0;

virtual void __stdcall operT3(int, int, int*) = 0;

};

class Copers : public Iopers {

public:

virtual void __stdcall operT1(int a, int b, int *c) { accum =a+b; *c=accum; }

virtual void __stdcall operT2(int a, int b, int *c) { accum =a-b; *c=accum; }

virtual void __stdcall operT3(int a, int b, int *c) { accum =a*b; *c=accum; }

Copers () : accum(0) {}

~Copers () {}

int accum;

};

Билет №13

1. Многошаговое планирование

Многошаговое планирование базируется на следующих принципах:

        1. разрешается выполнение одной операции на нескольких соседних шагах управления,

        2. время шага управления tstep может быть меньше максимального времени выполнения операций,

        3. если время t(i) выполнения операции i меньше времени шага tstep, операция выполняется на одном шаге,

        4. если время t(i) выполнения операции i больше времени шага tstep, операция выполняется на шагах, где - ближайшее целое не меньшее x.

        5. многошаговое планирование сокращает общее время решения задачи,

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]