Одна вещь, которая часто задерживается в нашем сознании, заключается в том, в чем необходимость многопрограммирования, потому что, когда мы работаем над системой, мы в основном обращаемся только к одной программе за раз. Причина этого заключается в том, чтобы постоянно поддерживать какой-либо процесс, чтобы максимизировать загрузку ЦП. Разделение времени играет важную роль в многопрограммировании, поскольку помогает процессору быстрее переключаться между программами, что, в свою очередь, помогает пользователю взаимодействовать с каждой программой во время ее выполнения. Планировщик процессов используется для выбора конкретного процесса, который будет отправлен в центральный процессор для выполнения. В случае, если это однопроцессорная система, все остальные процессы должны ждать завершения предыдущего процесса. Планирование очередей
Как уже упоминалось, новый процесс отправляется в очередь готовности и ожидает выполнения, пока не будет окончательно отправлен. После выделения заданного процесса может возникнуть одна из следующих ситуаций: Процесс отправляет запрос на некоторое устройство ввода-вывода и, следовательно, помещается в соответствующую очередь устройств. Процесс также может генерировать подпроцесс и ждать его завершения, прежде чем продолжить. Могут возникнуть ситуации, когда процесс принудительно удаляется из центрального процессора и помещается в очередь готовности. Обычно это происходит из-за прерывания. Из вышеупомянутых ситуаций в первых двух процесс переключается в состояние ожидания, а затем обратно в состояние готовности. Этот цикл продолжается до завершения процесса, после чего печатная плата и ресурсы освобождаются. ОЧЕРЕДЬ Планировщики Основное различие между двумя планировщиками заключается в их частоте. Краткосрочный планировщик должен быть быстрым, поскольку процесс не занимает много времени, прежде чем вызвать прерывание. Из-за этого планировщику необходимо переключать процессы почти каждые 100 миллисекунд. Долгосрочный планировщик имеет гораздо более низкую частоту и является ключевым регулятором степени мультипрограммирования. Считается стабильным, если среднее количество созданных процессов соответствует количеству процессов, покидающих систему за заданный промежуток времени. Таким образом, ясно, что долгосрочный планировщик используется только тогда, когда процесс завершен, и, следовательно, требуется больше времени для выбора следующего процесса для выполнения. Доступные процессы можно разделить на два типа в зависимости от их поведения. Процессы, связанные с вводом-выводом, - это те, которые тратят больше времени на выполнение операций ввода-вывода, а не на вычисления, в то время как процессы, связанные с процессором, - это те, которые тратят большую часть времени на вычисления, а не на ввод-вывод. Важно, чтобы долгосрочный планировщик выбирал правильное сочетание процессов, поскольку в противном случае может возникнуть дисбаланс. Если выбрано больше процессов, связанных с вводом-выводом, то очередь готовности большую часть времени будет пустой, и краткосрочному планировщику нечего будет делать. С другой стороны, если все процессы привязаны к процессору, то устройства останутся неиспользуемыми, а очередь ожидания ввода-вывода будет пустой. Таким образом, чтобы избежать такого дисбаланса, требуется правильное сочетание обоих процессов.
Переключение контекста | |
| |
Просмотров: 157 | |