Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Sb97573

.pdf
Скачиваний:
4
Добавлен:
13.02.2021
Размер:
685.79 Кб
Скачать

//следующая задача стала первой, возможно, и ей достаточно ресурсов

tmpnfree = tmpnfree - proc.resnum; } else {

//если ресурсов не хватает, выход из цикла break;

}

}

pthread_mutex_unlock(&mutex);

}

Рассмотренная схема может быть реализована как многопоточное приложение операционной системы, такой, как Linux или QNX, где многопоточность поддерживается в соответствии со стандартом POSIX.

41

8.ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

1.Дайте определение понятий «взаимное исключение», «критическая секция», «синхронизация».

2.Почему свойство неделимости является обязательным для P- и V- операций над семафором?

3.Назовите отличия двоичного семафора от мьютекса.

4.Как посредством счетного семафора можно реализовать аналог двоичного?

5.Попытайтесь реализовать механизм семафоров через монитор

Хоара.

6.Определите понятия «семантика Хоара» и «семантика Mesa», в чем состоят основные различия между ними?

7.Сколько очередей заблокированных задач создается при определении монитора и каково их назначение?

8.С какой целью в задаче «Читатели–Писатели» в процедуре НачалоЧтения осуществляется проверка наличия ждущих Писателей check(МожноПисать)?

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

10.Назовите отличительные особенности механизма семафоров в определении Дейкстры и согласно стандарту POSIX.

11.Что такое «рекурсивный захват» мьютекса?

12.Предложите другие варианты реализации задачи «Обедающие философы».

42

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

Hoare C. A. R. Monitors: An Operating System Structuring Concept // Communications of the ACM. 1974. № 10. URL: http://people.cs.uchicago.edu/~shanlu/teaching/33100_fa15/papers/hoaremonitors.pdf (дата обращения 11.07.2018).

Стивенс У. UNIX: взаимодействие процессов. СПб.: Питер, 2003. Цилюрик О., Горшко Е. QNX/UNIX: анатомия параллелизма. СПб.:

Символ-Плюс, 2006.

Языки программирования / под ред. Ф. Женюи; пер. с англ. М.: Мир,

1972.

Краковяк С. Основы организации и функционирования ОС ЭВМ / пер. с фр. М.: Мир, 1988.

Brinch-Hansen P., Monitors and Concurrent Pascal: A personal history // 2nd ACM Conf. on the History of Programming Languages, Cambridge, MA, April 1993. URL: http://www.thecorememory.com/MonConPas.pdf (дата обращения 15.08.2018).

Mitchell J. G., Maybury W., Sweet R. Mesa Language Manual // XEROX PARC Technical Report. 1979. URL: http://www.bitsavers.org/pdf/xerox/mesa/5.0_1979/documentation/CSL_793_Mesa_Language_Manual_Version_5.0_Apr79.pdf (дата обращения 25.09.2018).

43

 

Содержание

 

1.

МНОГОЗАДАЧНОСТЬ И СИНХРОНИЗАЦИЯ .............................................

3

2.

СЕМАФОРЫ И МЬЮТЕКСЫ ...........................................................................

4

3.

МОНИТОР ХОАРА ............................................................................................

9

4.

УСЛОВНАЯ ПЕРЕМЕННАЯ ..........................................................................

18

5.

РЕАЛИЗАЦИЯ МОНИТОРА В JAVA............................................................

20

6.

СРЕДСТВА СИНХРОНИЗАЦИИ В ОПЕРАЦИОННЫХ СИСТЕМАХ.....

26

7.

ПРИМЕРЫ ЗАДАЧ СИНХРОНИЗАЦИИ И ИХ РЕАЛИЗАЦИЯ................

33

8.

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ ..............................................................

42

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ ...............................................

43

Сидельников Виктор Викторович, Широков Владимир Владимирович

Средства синхронизации многозадачных приложений. Монитор Хоара

Учебно-методическое пособие

Редактор Э. К. Долгатов

__________________________________________________________________

Подписано в печать 08.02.19. Формат 60×84 1/16. Бумага офсетная. Печать цифровая. Печ. л. 2,75.

Гарнитура «Times New Roman». Тираж 82 экз. Заказ 11.

__________________________________________________________________

Издательство СПбГЭТУ «ЛЭТИ» 197376, С.-Петербург, ул. Проф. Попова, 5

44

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]