Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
У. Стоулин ГЛАВА 3 Процессы.doc
Скачиваний:
47
Добавлен:
11.05.2015
Размер:
5.19 Mб
Скачать

Часть2.

Процессы

Основной задачей любой операционной системы яв­ляется управление процессами. Операционная система должна распределять между ними ресурсы, предостав­лять им возможность совместно использовать информа­цию и обмениваться ею, защищать ресурсы, используе­мые одним процессом, от их использования другими процессами, а также обеспечивать возможность син­хронной работы процессов. Для этого операционная сис­тема должна поддерживать для каждого процесса свою структуру данных, в которой задается состояние данного процесса и указываются ресурсы, которыми он владеет. Это позволяет операционной системе осуществлять управление процессами.

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

Во многих современных операционных системах положение с управлением процессами усложняется вве­дением понятия потока. В многопоточной системе при­надлежность ресурсов остается атрибутом процесса, в то время как сам процесс представляет собой множество параллельно выполняющихся потоков.

Путеводитель по части 2

Глава3. Описание процессов и управление ими

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

Глава 4. Потоки, симметричная мультипроцессорная обработка и микроядра

Во многих операционных системах традиционная концепция процесса раз­делена на две части: одна из них связана с принадлежностью ресурсов (процесс), а другая — с выполнением машинных команд (поток). Процесс может содержать несколько потоков. Многопоточная организация помогает лучше структуриро­вать приложения, а также повысить производительность их работы. В главе также рассматривается симметричная многопроцессорность (symmetric multi­processor — SMP), представляющая собой компьютерную систему с несколькими процессорами, каждый из которых способен исполнять все приложения и сис­темный код. Многопроцессорная организация системы улучшает производитель­ность и надежность ее работы. SMP часто используется совместно с многопоточ-ностью, но может давать значительный выигрыш производительности и без нее. И, наконец, в главе анализируется работа микроядра (представляющего собой стиль разработки операционной системы, при котором объем системного кода, работающего в режиме ядра, сводится к минимуму) и его преимущества.