Упреждающее планирование — это процедура планирования ЦП, которая работает путем разделения временных выделений ЦП на данное взаимодействие.
Принимая во внимание, что невытесняющее планирование — это процедура планирования ЦП, в которой цикл берет актив (время ЦП) и удерживает его до тех пор, пока взаимодействие не завершится или не будет переведено в состояние удержания.
С упреждающим процессом связаны затраты, в то время как у невытесняющего процесса затрат нет.
Основные выводы
- Упреждающее планирование позволяет операционной системе принудительно прерывать запущенный процесс, в то время как не упреждающее планирование требует, чтобы процесс добровольно отказался от управления.
- Упреждающее планирование обеспечивает лучшее время отклика и более эффективное использование ресурсов, чем неупреждающее планирование.
- Невытесняющее планирование проще, но может привести к менее эффективной работе системы, чем вытесняющее планирование.
Упреждающее и неупреждающее планирование
Упреждающее планирование позволяет задачам с более высоким приоритетом прерывать задачи с более низким приоритетом, в то время как невытесняющее планирование этого не делает. Оно используется в системах реального времени, тогда как невытесняющее планирование проще и предсказуемее, но может привести к увеличению времени ожидания для определенных задач.
Упреждающее планирование — это, по сути, стратегия, в которой операции распределяются в соответствии с их потребностями.
Он используется, когда цикл переходит из рабочего состояния в подготовленное состояние или удерживается из подготовленного состояния. При упреждающем планировании операцию можно легко прервать.
В неупреждающем планировании ЦП был назначен конкретному взаимодействию. Операция, назначенная ЦП, должна быть завершена, чтобы перейти к следующей операции.
Единственный метод, который можно использовать для разных аппаратных стадий. Невытесняющее планирование происходит, когда оператор переходит в состояние ожидания или завершает работу.
Сравнительная таблица
Параметры сравнения | Упреждающее планирование | Невытесняющее планирование |
---|---|---|
Трансформируемость | Он гибкий. | Он негибкий. |
Цена | Это связано с затратами. | Это не связано с затратами. |
Алгоритм | Имеет алгоритм переключения служебных данных. | У него нет такого алгоритма переключения служебных данных. |
перебой | Процесс можно легко прервать. | Процесс нельзя прерывать. |
Использование ЦП | Более эффективным | Менее эффективны |
Что такое упреждающее планирование?
Функция планировщика ЦП состоит в том, чтобы распределить цикл на ЦП в любой момент, когда ЦП находится в неактивном состоянии. Планировщик ЦП выбирает цикл из подготовленной строки и назначает взаимодействие ЦП.
При таком планировании активы (цикл ЦП) предназначены для работы в течение ограниченного периода времени. Операция может быть прервана, когда она выполняется или выполняется.
При предварительном планировании, в случае появления в подготовленной строке цикла с высокой потребностью, операция с низкой потребностью останавливается, и давайте закончим операцию с высокой потребностью.
Предполагая, что на случай, если появится цикл, который имеет наиболее важную потребность, эта операция не выполняется для завершения всей операции.
Вместо того, что он будет делать, он прервет цикл и сделает процесс устойчивым, и начнет операцию для того процесса, который имеет высокий приоритет.
Это позволяет завершить цикл, который имеет более высокий приоритет, чем другой, и как только операция завершится, начнется следующая.
Следовательно, в соответствии с этими линиями каждая из операций, находящихся в доступной строке, получает идеальную возможность для выполнения.
Что такое невытесняющее планирование?
Операция, которая происходит, когда процесс завершается или переходит из текущего в ожидающее состояние, такая операция ЦП называется невытесняющим планированием.
Этот тип планирования применяется, когда операции завершаются из одного состояния в другое.
В этом типе процесса у него нет функции прерывания операции, как в вытесняющем, поэтому происходит следующее: как только процесс запущен, он будет завершен без какого-либо прерывания.
Это связано с тем, что при невытесняющем планировании у него нет функции прерывания промежуточной операции, из-за чего ему приходится ждать после завершения первой операции.
В общем, он сохраняется до тех пор, пока цикл не завершит свою работу, а затем, когда он завершится, он будет переведен на другую операцию.
Единственная стратегия, которую можно использовать для разных аппаратных стадий. Это связано с тем, что для этого требуется специальное оборудование, такое как планирование предосторожности.
В невытесняющем планировании такого нет. алгоритм для переключения служебной операции, из-за которой ЦП должен ждать, пока следующая операция не будет передана.
Поскольку его нельзя прервать, это делает неупреждающее планирование столь же негибким по сравнению с упреждающим планированием.
Основные различия между вытесняющим и не вытесняющим планированием в операционных системах
- В вытесняющем планировании процесс можно легко прервать, в то время как в невытесняющем планировании цикл, который в нем происходит, должен быть завершен первым, чтобы перейти к следующему циклу.
- В вытесняющем планировании у процесса есть накладные расходы, поскольку он должен планировать несколько операций, в то время как в невытесняющем планировании ничего подобного нет, поскольку он не предоставляет никакой функции для прерывания между процессами.
- Упреждающее планирование является гибким (т. е. может быть легко изменено) по своей природе по сравнению с невытесняющим планированием, которое таковым не является.
- В вытесняющем планировании процесс с более высоким приоритетом дается первым, в то время как в случае невытесняющего планирования выполняемая операция должна быть завершена, чтобы перейти к следующему.
- Упреждающее планирование экономически эффективно для выполнения операции, за которую вам нужно платить, в то время как в случае не упреждающего планирования это совершенно бесплатно.
- https://hal.inria.fr/inria-00073732/
- http://clweb.csa.iisc.ernet.in/sarojini/rts/periodid-sporadic.pdf
Последнее обновление: 13 июля 2023 г.
Сандип Бхандари имеет степень бакалавра вычислительной техники Университета Тапар (2006 г.). Имеет 20-летний опыт работы в сфере технологий. Он проявляет большой интерес к различным техническим областям, включая системы баз данных, компьютерные сети и программирование. Подробнее о нем можно прочитать на его био страница.