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

Глава 5. Параллельные вычисления: взаимоисключения и многозадачность

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

Глава 6. Взаимоблокировка и голодание

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

Глава3.

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

  1. Состояния процессов

  2. Описание процессов

  3. Управление процессами

  4. Управление процессами в операционной системе UNIX SVR4

  5. Резюме, ключевые термины и контрольные вопросы

  6. Рекомендуемая литература

  7. Задачи

Архитектура операционной системы должна удовлетворять определенным требованиям. Все многозадачные операционные системы используют концепцию процесса — начиная с однопользовательских операционных сис­тем, таких, как Windows 98, и заканчивая операционными системами для мейнфреймов, таких, как OS/390, которые способны поддерживать работу тысяч пользователей. Таким образом, основные требования, которым должны удовле­творять операционные системы, могут быть сформулированы с использованием понятия процесса.

  • Операционная система должна чередовать выполнение нескольких процессов, чтобы повысить степень использования процессора при обеспечении разумного времени отклика.

  • Операционная система должна распределять ресурсы между процессами в соответствии с заданной стратегией (т.е. предоставляя определенным функциям или приложениям более высокий приоритет), избегая в то же время взаимоблокировок.

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

Подробное изучение операционных систем мы начнем со знакомства с представлением процессов и управлением ими. Для начала рассмотрим возможные состояния процессов, характеризующие их поведение; затем перейдем к структурам данных, которые нужны операционной системе для представления состояния и других характеристик процессов. И, наконец, будет рассмотрено управление процессами в операционной системе UNIX SVR4.

Примечание. При описании процессов в большинстве случаев в этой главе концепцию виртуальной памяти можно игнорировать, но при рассмотрении некоторых специализированных вопросов уместно обратить на нее особое внимание. Хотя подробно виртуальная память обсуждается только в главе 8, "Виртуальная память", краткий обзор приведен в главе 2, "Обзор операционных систем".