Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Методические рекомендации по выполнению самостоятельной работы.doc
Скачиваний:
171
Добавлен:
11.04.2015
Размер:
312.32 Кб
Скачать

Самостоятельная работа6

Взаимодействие и синхронизация процессов и потоков. Тупики и методы борьбы с ними

1. Цель работы: освоить основные методы организации взаимодействия процессов и потоков; изучить механизмы синхронизации процессов и потоков; овладеть методами прогнозирования возникновения тупиковой ситуации.

2.Материал для изучения:

Литература: Л1 с. 100 - 122; Л2 с. 113 - 131; Л3 с.209 - 277; Л4 с. 158 - 175; Л5 с. 375 - 416.

3.Задание:

3.1. Составить конспект по данной теме.

3.2. Ответить на контрольные вопросы:

  1. Дайте характеристику возможным уровням параллелизма выполнения программ.

  2. Что такое состояние состязания процессов, взаимоисключения и критические участки?

  3. В чем суть возникновения взаимоблокировок процессов?

  4. Дайте характеристику методам обнаружения и предотвращения тупиков?

  5. Что такое мьютекс, как он используется?

  6. Каким образом файлы, процессы и потоки могут быть использованы для синхронизации?

  7. Перечислите синхронизирующие объекты ОС.

  8. Что такое семафор, как он используется?

  9. Что такое мониторы Хоара и Хансена? Как и когда они используются?

  10. Какие методы могут использоваться для ликвидации тупиковых ситуаций?

  11. Как по графу процессов и ресурсов можно обнаружить тупиковую ситуацию?

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

  13. Перечислите методы взаимоисключений процессов.

  14. Когда возникает необходимость в синхронизации процессов?

  15. Что такое задача читатели-писатели? Как она решается?

3.3. Выполнить упражнения:

А) В системе есть 3 процесса и 4 ресурса, которые можно предоставить процессам. Текущее распределение ресурсов и максимальное их количество следующее:

Процесс

Предоставлено R1,R2,R3,R4

Требуется R1,R2,R3,R4

Максимально R1,R2,R3,R4

A

0 0 1 0

2 0 0 1

4 2 3 3

B

2 0 0 1

1 1 0 0

C

0 1 2 0

2 1 0 1

Будет ли в системе тупиковая ситуация?

Б) Пусть система из семи процессов (A, B, C, D, E, F, G) и шести ресурсов по одному каждого вида (R, S, T, V, W, U) в некоторый момент времени соответствует следующему списку:

  • процесс A занимает ресурс S и хочет получить ресурс R;

  • процесс B ничего не использует, но хочет получить ресурс T;

  • процесс C ничего не использует, но хочет получить ресурс S;

  • процесс D занимает ресурс V и хочет получить ресурсы S и T;

  • процесс E занимает ресурс T и хочет получить ресурс V;

  • процесс F занимает ресурс W и хочет получить ресурс R;

  • процесс G занимает ресурс U и хочет получить ресурс V.

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

В) Зачем в системе команд многих компьютеров предусмотрена единая, неделимая команда анализа и присвоения значения логической переменной, хотя эти же действия могут быть выполнены с помощью двух разных команд, также обычно присутствующих в системе команд? Дайте аргументированный ответ.

Самостоятельная работа7

Аппаратно-программные средства поддержки мультипрограммирования. Системные вызовы

1. Цель работы: ознакомиться с аппаратно-программными средствами поддержки мультипрограммирования; изучить реализацию системных вызовов.