Добавил:
Developerrnrn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС Нижний.pdf
Скачиваний:
34
Добавлен:
25.03.2023
Размер:
2.75 Mб
Скачать

Лабораторный практикум по курсу "Операционные системы"

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

-Масштабируемость – рост накладных расходов при увеличении числа процессов/потоков

всистеме должен происходить гладко.

2. Системы пакетной обработки данных.

-Пропускная способность – количество задач, выполненных за час (среднее число процессов, которые были созданы и завершили свое выполнение за единицу времени).

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

-Эффективность – определяется степенью загрузки центрального процессора. Цель – загрузить центральный процессор работой на все 100% рабочего времени.

3. Интерактивные системы.

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

-Время ожидания – среднестатистическое время, которое проводят потоки в состоянии «готов к исполнению» и задания в очереди для загрузки.

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

4. Системы реального времени.

-Окончание обслуживания к сроку – строго говоря, это не является параметром оценки системы реального времени, поскольку в случае невыполнения данного требования система не может быть отнесена к рассматриваемому классу.

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

Алгоритмы планирования в системах пакетной обработки данных

«Первым пришел – первым обслужен» (First-Come - First-Served, FCFS)

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

Учебно-исследовательская лаборатория «Информационные технологии» 27

Лабораторный практикум по курсу "Операционные системы"

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

Список еще не

 

 

 

 

 

H

 

I

 

 

запущенных потоков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список потоков в состоянии

 

 

 

 

 

 

 

 

 

 

A

 

 

B

 

C

 

D

 

 

«готов к выполнению»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

текущий

следующий

 

 

 

 

 

 

 

E

 

F

 

G

поток

 

поток

 

 

 

 

 

 

 

 

 

 

Потоки в состоянии ожидания

Рис. 13 Очередь потоков при планировании

Однако представим, что у нас есть два потока; первый в цикле производит вычисления в течение 1 с и потом пишет число в файл, второй записывает в цикле в файл последовательность из 1000 небольших блоков. Если позволить сначала выполниться второму потоку, и затем запустить первый, то время работы второго потока будет составлять считанные секунды. Если же запустить потоки вместе, то второй поток после каждой операции записи будет ждать 1 с, пока выполняется первый поток, и его общее время выполнения будет 1000 с.

«Кратчайшая задача - первая» (Shortest Job First, SJF)

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

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

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

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

Для реализации данного алгоритма также достаточно одного связного списка, с выполнением операции вставки в его середину.

28 Учебно-исследовательская лаборатория «Информационные технологии»

Соседние файлы в предмете Современные операционные системы