Cтраница 2
![]() |
Зависимость степени загрузки центрального процессора. от количества процессов в памяти. [16] |
На рис. 4.3 показана зависимость степени использования центрального процессора от числа п, называемого степенью многозадачности. [17]
![]() |
Три способа реализации времени суток. [18] |
Третья функция часов состоит в учете использования центрального процессора. Наиболее точно это может быть сделано, если при каждом запуске нового процесса запускать второй таймер, независимый от основных системных часов. Когда процесс останавливается, значение таймера считывается, чтобы определить, сколько времени работал процесс. Чтобы все было правильно, значения второго таймера должны сохраняться на время прерываний. [19]
Состояние задачи, характеризуемое готовностью к использованию центрального процессора, когда требования для перевода этой задачи в активное состояние уже удовлетворены. Состояние устройства, при котором оно готово к выполнению своих функций. [20]
График, изображенный на рис. 9.3, представляет использование центрального процессора как функцию времени дня. Зависимость представлена в виде точечного графика. Если ту же самую информацию представить в виде ломаной, соединяющей точки, она будет выглядеть, как на рис. 9.4. На рис. 9.5. та же информация представлена в виде гистограммы. [21]
В-четвертых, увеличивается важный для обрабатывающих программ ресурс - время использования центрального процессора. Выполнение обрабатывающих программ не прерывается программами операционной системы, выполняющими печать и перфорацию. [22]
Существует очередь диспетчера, состоящая из управляющих блоков процессов, претендующих на использование центрального процессора. [24]
Такие соображения приводят к совершенно другой модели: нескольким процессам, соревнующимся за право использования центрального процессора, каждый со своим заданием и графиком его выполнения. В следующих моделях мы будем предполагать, что системе известна частота, с которой должен работать каждый процесс, объем работ, который ему предстоит выполнить, и ближайший срок выполнения очередной порции задания. Дисковое планирование тоже важно, но мы обсудим этот вопрос позднее. Планирование нескольких конкурирующих процессов, у некоторых ( или у всех) из них есть жесткие сроки выполнения работ, называется планированием реального времени. [25]
Такие соображения приводят к совершенно другой модели: нескольким процессам, соревнующимся за право использования центрального процессора, каждый со своим заданием и графиком его выполнения. В следующих моделях мы будем предполагать, что системе известна частота, с которой должен работать каждый процесс, объем работ, который ему предстоит выполнить, и ближайший срок выполнения очередной порции задания, ( Дисковое планирование тоже важно, но мы обсудим этот вопрос позднее. Планирование нескольких конкурирующих процессов, у некоторых ( или у всех) из них есть жесткие сроки выполнения работ, называется планированием реального времени. [26]
Верхний предел в 32 центральных процессора является жестким пределом, так как во многих местах операционной системы для учета использования центральных процессоров используются битовые массивы размером в 32-разрядное машинное слово. Например, один однословный битовый массив используется для того, чтобы следить, какой из центральных процессоров свободен в данный момент, а другой массив используется в каждом процессе для перечисления центральных процессоров, на которых этому процессу разрешено работать. Windows 2000 должна будет без особых усилий поддерживать до 64 центральных процессоров. [27]
Кроме уже перечисленных параметров, в операторе JOB предусмотрены параметры, кодирующие уровень подробности сообщений о выполнении задания, проверяющие код возврата по окончании каждого шага задания, задающие предельное время использования центрального процессора данным заданием, а также для мультипрограммирования с переменным числом задач, производящие запрос областей памяти, в том числе и за счет других заданий. [28]
Обратите внимание, что за время прерывания от таймера драйвер часов должен выполнить несколько действий: увеличить показания часов истинного времени, уменьшить значение кванта времени, выделенного текущему процессу, и сравнить его с нулем, выполнить операцию учета использования центрального процессора и уменьшить счетчик таймера тревоги. Однако все эти операции должны быть тщательно оптимизированы по времени исполнения, так как они будут повторяться много раз в секунду. [29]
Параметр CPUjusage ( использование центрального процессора) представляет собой среднее значение тиков таймера в секунду, которые процесс работал в течение последних нескольких секунд. При каждом тике ( прерывании) таймера счетчик использования центрального процессора в таблице процессов увеличивается на единицу. Этот счетчик в конце концов добавляется к приоритету процесса, увеличивая тем самым числовое значение его приоритета ( что соответствует более низкому приоритету), в результате чего процесс попадает в менее приоритетную очередь. [30]