Mac OS X.UNIX для ВСЕХ | All about OS

Многозадачность

Категория: MacOS

Одним из решений этой проблемы является идеология всеобщей «вежливости», при которой работающие программы должны «с уважением относиться друг к другу» и при возникновении пауз освобождать ресурсы системы, давая возможность другим выполнить свою работу. Такой режим совместного использования ресурсов многими задачами называется кооперативной многозадачностью (cooperative multitasking). Если в условиях кооперативной многозадачности какая-либо задача окажется «невежливой» и надолго захватит процессор, остальным не останется ничего другого, как ждать и «уповать на лучшее». А представим себе ситуацию, когда плохо написанная программа зашла в тупик, из которого самостоятельно выйти не может. Мы говорим: «Компьютер завис». В этом случае никакая другая задача не сможет выполняться до тех пор, пока вмешательство оператора не разблокирует «вредную» задачу. Иногда для этого приходится перезапускать весь компьютер.
1еперь рассмотрим другую стратегию управления критическими ресурсами системы. Планировщик задач выделяет каждой задаче строго определенный интервал времени. Как только этот промежуток времени истек, выполнение данной задачи приостанавливается независимо от того, успела она завершить свою работу или нет, и управление передается другой задаче. Когда все задачи по очереди отработали отведенные для них интервалы времени, управление снова возвращается к первой прерванной задаче, и так далее по кругу. Если задача успешно завершилась, она автоматически исключается из очереди ожидающих.
Планировщик может выделять различным задачам разные интервалы времени в зависимости от потребностей или важности задачи. Кроме того, планировщик может менять порядок прохождения задач в очереди, устанавливая так называемые приоритеты. Такая стратегия управления ресурсами, называемая вытесняющей многозадачностью (preemptive multitasking), теоретически гарантирует, что никакая задача навечно не займет процессор и не заблокирует весь компьютер.

Страниц: 1 2 3 4

« Компьютерная интернациональность
Интернети все, все, все… »