Sb97573
.pdf//следующая задача стала первой, возможно, и ей достаточно ресурсов
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