logo search
Kniga_Osnovy_informatiki_i_informatsionnyh_tehn

Функция управления процессами

Программы во время выполнения на ВС могут находиться в нескольких состояниях:

порождения – состояние инициализации программы, в которое она попадает сразу после запуска ее пользователем; это состояние ожидания программой выделения ей всех необходимых для начала работы ресурсов (памяти, например);

готовности – программа в этом состоянии проинициализирована и может начать выполнение, но для этого ей требуется получить время процессора (следующее состояние – активность);

активности – программа выполняется, занимая процессор;

ожидания – выполнение программы заблокировано, так как во время работы она запросила дополнительные ресурсы (память для размещения новых данных, например) или ждет завершения ввода или вывода данных;

завершения – сохраняются результаты работы программы, освобождаются все выделенные программе ресурсы.

Поддерживать программу в каждом из перечисленных состояний, обеспечивать допустимые переходы из одного состояния в другое – это функция ОС по управлению процессами (рис. 2.2).

Программа может завершиться, если она выполнилась до конца. Программу может снять с выполнения пользователь. Кроме того, программа может перейти в состояние завершения в результате ошибки при запуске программы или при ее выполнении.

На однопроцессорной ВС в каждый момент времени процессор может выполнять последовательность команд только одной программы, поэтому из всех программ, готовых к выполнению, ОС должна выбрать только одну, выделив ей время процессора для выполнения и активизировав ее. В ходе выполнения программы могут встретиться операции, которые сама программа выполнить не может (например, нужно ввести данные с клавиатуры), в этом случае программа обращается с запросом к ОС и переходит в состояние ожидания до завершения запрошенной операции, а время процессора может занять другая программа.

Во всех современных ОС распределение времени осуществляется не для программы в целом, а для каждого ее потока (задачи). Таким образом, даже при выполнении одного приложения (например, Word) процессорное время делится между многими задачами (редактирование текста, проверка орфографии, проверка грамматики, печать и т.п.), что создает у пользователя иллюзию параллельного (одновременного) выполнения этих задач.

Ресурсы ВС выделяются программе во время ее инициализации (при запуске). Однако и во время выполнения программе могут потребоваться дополнительные ресурсы (память для размещения обрабатываемых данных, дисковая память для размещения созданных файлов и сохранения результатов, периферийные устройства для организации ввода и вывода данных, взаимодействия с пользователем). Эти задачи также решаются ОС.