Операционные системы. Учебное пособие. Марапулец Ю.В. - 54 стр.

UptoLike

Составители: 

выделять столько процессорного времени некоторому процессу, чтобы он мог вы-
полнить свои вычисления к сроку.
Для сравнения алгоритмов диспетчеризации обычно используются следующие
критерии [2]:
Загрузка центрального процессора (CPU utilization). В большинстве персональных
систем средняя загрузка процессора не превышает 2-3%, доходя в моменты выпол-
нения сложных вычислений и до 100 %. В реальных системах, где компьютеры вы-
полняют очень много работы, например, в серверах, загрузка процессора колеблется
в пределах 15-40 % для легко загруженного процессора и до 90-100 % - для сильно
загруженного процессора.
Пропускная способность (CPU throughput). Пропускная способность процессора
может измеряться количеством процессов, которые выполняются в единицу време-
ни.
Время оборота (turnaround time). Для некоторых процессов важным критерием явля-
ется полное время выполнения, то есть интервал от момента появления процесса во
входной очереди до момента его завершения. Это время названо временем оборота и
включает время ожидания во входной очереди, время ожидания в очереди готовых
процессов, время ожидания в очередях к оборудованию, время выполнения в про-
цессоре и время ввода/вывода.
Время ожидания (waiting time). Под временем ожидания понимается суммарное
время нахождения процесса в очереди готовых процессов.
Время отклика (response time). Для интерактивных программ важным показателем
является время отклика или время, прошедшее от момента попадания процесса во
входную очередь до момента первого обращения к терминалу. Очевидно, что про-
стейшая стратегия краткосрочного планировщика должна быть направлена на мак-
симизацию средних значений загруженности и пропускной способности, времени
ожидания и времени отклика.
Правильное планирование процессов сильно влияет на производительность всей
системы. Можно выделить следующие главные причины, приводящие к уменьшению
производительности системы [2]:
Накладные расходы на переключение процессора. Они определяются не только пе-
реключениями контекстов задач, но и перемещениями страниц виртуальной памяти,
а также - необходимостью обновления данных в КЭШе.
Переключение на другой процесс в тот момент, когда текущий процесс выполняет
критическую секцию, а другие процессы активно ожидают входа в свою критиче-
скую секцию. В этом случае потери будут особо велики.
В случае использования мультипроцессорных систем применяются следующие ме-
тоды повышения производительности системы [2]:
совместное планирование, при котором все потоки одного приложения одновремен-
но выбираются для выполнения процессорами и одновременно снимаются с них;
планирование, при котором находящиеся в критической секции задачи не прерыва-
ются, а активно ожидающие входа в критическую секцию задачи не выбираются до
тех пор, пока вход в секцию не освободится;
планирование с учетом так называемых «советов» программы во время ее выполне-
ния. Например, в известной своими новациями ОС Mach, имелись два класса таких
советов (hints) - указания о снятии текущего процесса с процессора, а также указа-
ния о том процессе, который должен быть выбран взамен текущего.
При выполнении программ, реализующих какие-либо задачи контроля и управле-
ния (что характерно, прежде всего, для систем реального времени), может случиться та-
кая ситуация, когда одна или несколько задач не могут быть решены в течение длитель-
ного промежутка времени из-за возросшей нагрузки в вычислительной системе. Потери,
56
•   выделять столько процессорного времени некоторому процессу, чтобы он мог вы-
    полнить свои вычисления к сроку.
     Для сравнения алгоритмов диспетчеризации обычно используются следующие
критерии [2]:
• Загрузка центрального процессора (CPU utilization). В большинстве персональных
    систем средняя загрузка процессора не превышает 2-3%, доходя в моменты выпол-
    нения сложных вычислений и до 100 %. В реальных системах, где компьютеры вы-
    полняют очень много работы, например, в серверах, загрузка процессора колеблется
    в пределах 15-40 % для легко загруженного процессора и до 90-100 % - для сильно
    загруженного процессора.
• Пропускная способность (CPU throughput). Пропускная способность процессора
    может измеряться количеством процессов, которые выполняются в единицу време-
    ни.
• Время оборота (turnaround time). Для некоторых процессов важным критерием явля-
    ется полное время выполнения, то есть интервал от момента появления процесса во
    входной очереди до момента его завершения. Это время названо временем оборота и
    включает время ожидания во входной очереди, время ожидания в очереди готовых
    процессов, время ожидания в очередях к оборудованию, время выполнения в про-
    цессоре и время ввода/вывода.
• Время ожидания (waiting time). Под временем ожидания понимается суммарное
    время нахождения процесса в очереди готовых процессов.
• Время отклика (response time). Для интерактивных программ важным показателем
    является время отклика или время, прошедшее от момента попадания процесса во
    входную очередь до момента первого обращения к терминалу. Очевидно, что про-
    стейшая стратегия краткосрочного планировщика должна быть направлена на мак-
    симизацию средних значений загруженности и пропускной способности, времени
    ожидания и времени отклика.
     Правильное планирование процессов сильно влияет на производительность всей
системы. Можно выделить следующие главные причины, приводящие к уменьшению
производительности системы [2]:
• Накладные расходы на переключение процессора. Они определяются не только пе-
    реключениями контекстов задач, но и перемещениями страниц виртуальной памяти,
    а также - необходимостью обновления данных в КЭШе.
• Переключение на другой процесс в тот момент, когда текущий процесс выполняет
    критическую секцию, а другие процессы активно ожидают входа в свою критиче-
    скую секцию. В этом случае потери будут особо велики.
     В случае использования мультипроцессорных систем применяются следующие ме-
тоды повышения производительности системы [2]:
• совместное планирование, при котором все потоки одного приложения одновремен-
    но выбираются для выполнения процессорами и одновременно снимаются с них;
• планирование, при котором находящиеся в критической секции задачи не прерыва-
    ются, а активно ожидающие входа в критическую секцию задачи не выбираются до
    тех пор, пока вход в секцию не освободится;
• планирование с учетом так называемых «советов» программы во время ее выполне-
    ния. Например, в известной своими новациями ОС Mach, имелись два класса таких
    советов (hints) - указания о снятии текущего процесса с процессора, а также указа-
    ния о том процессе, который должен быть выбран взамен текущего.
     При выполнении программ, реализующих какие-либо задачи контроля и управле-
ния (что характерно, прежде всего, для систем реального времени), может случиться та-
кая ситуация, когда одна или несколько задач не могут быть решены в течение длитель-
ного промежутка времени из-за возросшей нагрузки в вычислительной системе. Потери,

                                         56