Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ОС.doc
Скачиваний:
31
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

Моделирование режима мультипрограммирования

Использование многозадачности повышает эффективность загрузки цент­рального процессора. Так, если средний процесс выполняет вычисления только 20 % от общего времени реализации процесса, а остальное время находится в состоянии ожидания заверше­ния операции ввода-вывода, то при присутствии в памяти одновременно пяти процессов центральный процессор должен быть за­нят все время [Таненбаум]. Такая модель является достаточно грубой и не учитывает ряд факторов.

Рассмотрим более точную модель загрузки центрального процессора с использованием теории вероятности. Предположим, что процесс прово­дит часть своего времени в ожидании завершения операции ввода-вывода. Обозначим вероятность этого состояния (бездей­ствия процессора) через р. Если в памяти находится одновременно М процессов, вероятность того, что все М процессов ждут ввод-вывод, равна рМ. Тогда степень загрузки центрального процессора будет выражаться через коэффициент:

ЦП= 1 – рМ.

На рисунке показана зависимость степени загрузки центрального про­цессора от числа М, называемого коэффициентом мультипрограммирования.

ЦП,%

М

Рисунок 5 - Зависимость коэффициента загрузки ЦП центрального процессора от коэффициента мультипрограммирования М

Из рисунка видно, что если процессы проводят 80 % своего времени в ожи­дании завершения операции ввода-вывода, то для того, чтобы получить потерю времени процессора ниже 20 %, в памяти должны одновременно находиться более 10 процессов.

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

Хотя модель на рисунке__ очень проста, тем не менее, она позволяет сделать приблизительную оценку производительно­сти центрального процессора. Например, предположим, что компьютер имеет 32 Мбайт памяти, 16 Мбайт отдано операционной системе, а каждая программа пользователя занимает по 4 Мбайт. При таких заданных размерах одновременно можно загрузить в память четыре пользовательские программы. При 80 % време­ни на ожидание ввода-вывода в среднем получается загруженность процессо­ра ЦП = 1 - 0,84 или около 60 %. Добавление еще 16 Мбайт памяти позволит системе повысить коэффициент мультипрограммирования до восьми и таким образом повысить степень загрузки процессора до 83 %. Другими словами, дополнительные 16 Мбайт увеличат про­изводительность на 38 %.

Если добавить ещё 16 Мбайт, то загрузку процессора можно повысить с 83 до 93 %, но при этом производительность процессора увеличится всего лишь на 12 %. [Таненбаум].

2.