Наверх Системное программирование
Предыдущий раздел Оглавление Следующий раздел

3.1.7. Моделирование режима многозадачности

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

Целесообразней строить модель, используя вероятностный подход к занятости центрального процессора. Если предположить, что процесс часть своего времени p проводит в ожидании завершения неких операций ввода-вывода. А также в памяти одновременно присутствуют n процессов и вероятность того, что все эти процессы находятся в состоянии ожидания (в таком случае процессор находится без работы), равна pn. То время использования процессора вычисляется формулой: Время использования центрального процессора = 1 − pn.

На рис. 3.4 представлена функция времени задействования центрального процессора от аргумента n, называемая степенью многозадачности.

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

Рис

Рис. 3.4. Функция времени использования
центрального процессора от
количества процессов, находящихся в памяти

Однако также следует заметить, что представленная вероятностная модель имеет весьма приблизительный характер. В ней допускается, что все процессы независимы друг от друга. Но если в системе присутствует только один центральный процессор, в ней не возможно одновременное выполнение нескольких процессов. Поэтому тот процесс, который готов к работе при занятом центральном процессоре, должен ожидать своей очереди. По этой причине процессы не обладают независимостью. Уточненная модель может быть сформирована с использованием теории очередей, но многозадачность, которая позволяет задействовать процессор для того, чтобы избежать его простоя, по-прежнему является частью данной модели.

Упрощенная модель тем не менее может использоваться для специфических предположений, которые касаются производительности центрального процессора. Если предположить, например, что память компьютера составляет 8 Гбайт, операционная система и ее таблицы используют до 2Гбайт памяти, а каждая программа пользователя также занимает до 2Гбайт памяти, то этот объем позволяет одновременно разместить в памяти всего три пользовательские программы. В таком случае загруженность центрального процессора (без учета издержек на работу операционной системы) при среднем ожидании ввода-вывода 80% времени будет равна около 49%. Если повысить используемый объем памяти в системе еще на 8 Гбайт, то это позволит системе увеличить загруженность центрального процессора до 79%. Другими словами, с дополнительными 8 Гбайт памяти производительность процессора повышается на 30%.

Дальнейшее увеличение объема памяти системы на 8 Гбайт поднимает производительность всего лишь на 12%. Исходя из этого, ясно, что первое увеличение объема памяти имеет большее влияние на производительность процессора.

Предыдущий раздел Оглавление Следующий раздел