Пожалуйста, объясните следующую характеристику приостановленного процесса
Следующее - от Уильяма Сталлингса "Операционные системы, внутренние компоненты и принципы проектирования", в котором он объясняет характеристики приостановленного процесса как
Процесс может или не может ожидать события. Если это так, это заблокированное условие не зависит от условия приостановки, и возникновение события блокировки не позволяет немедленно выполнить процесс.
Я не понял этого пункта, что такое заблокированное условие и условие приостановки? Может кто-нибудь объяснить, пожалуйста, этот момент?
4 ответа
Процесс может или не может ожидать события. Если это так, это заблокированное условие не зависит от условия приостановки, и возникновение события блокировки не позволяет немедленно выполнить процесс.
Давайте предположим, что ваш процесс, который был приостановлен, является процессом A, который принимает входящий запрос от клиентского сокета (вызовите это как событие приема запроса на соединение). Итак, это блокирующий вызов по своей природе. И, скажем, этот процесс был приостановлен пользователем (/system); и это блокирует в природе тоже.
Таким образом, даже если клиент должен был передать запрос этому процессу, завершив тем самым состояние блокировки процесса; тем не менее, процесс не будет выполняться дальше, поскольку процесс находится в приостановленном состоянии. Следовательно, несмотря на то, что клиент передал запрос, но сервер не будет отвечать, поскольку он приостановлен, хотя причина блокировки была аннулирована клиентом, передающим запрос.
Как только приостановка снята, процесс начнет выполнение и примет запрос клиента.
Таким образом, вывод процесса из приостановки является обязательным, даже если причина блокировки была указана для процесса, чтобы дать ему возможность продолжить работу.
Кроме того, из управления процессами (вычисления) в Википедии:
Процесс может быть приостановлен из состояния RUNNING, READY или BLOCKED, что приводит к двум другим состояниям, а именно, READY SUSPEND и BLOCKED SUSPEND.
Процесс RUNNING, который приостанавливается, становится READY SUSPEND,
и заблокированный заблокированный процесс становится заблокированным приостановленным. Процесс может быть приостановлен по ряду причин; наиболее значительным из которых является процесс, выгружаемый из памяти системой управления памятью для освобождения памяти для других процессов. Другие распространенные причины приостановки процесса - это когда кто-то приостанавливает выполнение во время отладки программы или когда система отслеживает процессы.
... Процесс в состоянии SUSPEND BLOCKED * переходит в состояние SUSPEND READY, когда происходит событие, которого он ожидал.
* Обратите внимание, что состояние SUSPEND BLOCKED и состояние BLOCKED SUSPEND считаются одинаковыми.
Приостановленный процесс - это тот, который выключен. Процесс существует, но он не запланирован для выполнения. Например, предположим, что у вас есть сервер, на котором вы хотите запустить программу молекулярного моделирования с интенсивным использованием процессора, для завершения которой потребуется два месяца. В течение дня, когда все на работе, вы не хотите, чтобы программа загружала процессор. Каждое утро вы приостанавливаете процесс, а вечером прекращаете его.
Когда процесс заблокирован, он ожидает, что что-то произойдет, чтобы позволить ему продолжить (т. Е. Завершение ввода-вывода).
Когда процесс приостановлен, он ожидает, что кто-то прекратит его. Как отмечается в тексте, процесс может быть заблокирован и приостановлен.
- Поменять местами вторичную память из первичной памяти
- Скорее всего, ждет события, которое произойдет очень долго
- Неуместно тратить циклы процессора
- Отправьте в это состояние агентом: самим, ОС, родительским процессом.
- При возникновении события или сигнала от агента он будет возвращен в основную память для выполнения.
При возникновении прерывания рабочий процесс может быть приостановлен. Прерывание возникает, когда процесс делает запрос ввода-вывода. Для завершения процесса требуется устройство ввода или вывода, такой процесс приостанавливается до тех пор, пока запрошенное устройство не будет готово удовлетворить запрос процесса.