Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сети / 4652.doc
Скачиваний:
42
Добавлен:
21.04.2015
Размер:
95.23 Кб
Скачать
    1. Задание на лабораторную работу

Разработать программу, моделирующую один из алгоритмов управления процессами в соответствии с вариантом задания. При моделировании считать что:

  • однопроцессорная вычислительная система разделения времени;

  • общий объем памяти вычислительной системы составляет 64К;

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

  • поступаемые на выполнение задачи содержатся в файлах, моделирующих процессы (формат смотри ниже);

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

  • вытеснение процесса из процессора также приводит к освобождению занимаемой им памяти;

  • пользователь может «загружать» в моделируемую систему новые задачи, порождающие процессы;

Предусмотреть возможность интерактивного слежения за состоянием вычислительной системы в процессе выполнения задач (состояние очередей «ОЖИДАНИЕ» и «ГОТОВНОСТЬ», приоритеты процессов, требования к ресурсом, состояние ПРОЦЕССОРА, состояние ВВОДА\ВЫВОДА, состояние ПАМЯТИ и т.д.).

Формат файла, моделирующего задачу:

ПАМЯТЬ-1000

ПРЦЕССОР-10

ВВОД\ВЫВОД-20

ПРЦЕССОР-12

...

ПРЦЕССОР-5

ВВОД\ВЫВОД-25

Где первая строка «ПАМЯТЬ» – определяет требования процесса на объем (в байтах) доступной памяти (если такового в системе на данный момент нет, то процесс поступает в очередь готовых). Остальные строки представляют собой поэтапное требование процесса в процессорном времени «ПРОЦЕССОР» (в секундах) и во времени ввода-вывода «ВВОД-ВЫВОД» (в секундах).

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

Варианты заданий

Вариант

Алгоритм управления процессами

1

Управление процессами на основе бесприоритетного квантования. Очередь готовых процессов – FIFO. Синхронизация процессов с использованием аппарата событий.

2

Управление процессами на основе квантования. Очередь готовых процессов – с абсолютными приоритетами (приоритеты назначаются пользователем при загрузке соответствующей задачи). Синхронизация процессов с использованием блокирующих переменных.

3

Управление процессами на основе квантования. Очередь готовых процессов – с относительными приоритетами (приоритеты назначаются пользователем при загрузке соответствующей задачи). Синхронизация процессов с использованием аппарата событий.

4

Управление процессами на основе квантования. Очередь готовых процессов – LIFO. Квант времени, отводимый процессу, выбирается в соответствии с приоритетом процесса (приоритеты назначаются пользователем при загрузке соответствующей задачи). Синхронизация процессов с использованием блокирующих переменных.

5

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

6

Управление процессами на основе безприоритетного квантования. Очередь готовых процессов – LIFO. Квант времени, отводимый процессу, равен среднему значению требований процессорного времени «ПРОЦЕССОР» соответствующей задачи. Синхронизация процессов с использованием блокирующих переменных.

7

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

8

Управление процессами на основе квантования. Очередь готовых процессов – с относительными приоритетами (приоритеты назначаются системой случайным образом при загрузке соответствующей задачи). Синхронизация процессов с использованием блокирующих переменных.

Соседние файлы в папке сети