Реферат Курсовая Конспект
Синхронизация нитей внутри процесса в ОС Windows - раздел Компьютеры, Лабораторная Работа № 2 Синхронизация Нитей Внутри Процесса В Ос Win...
|
Лабораторная работа № 2
Синхронизация нитей внутри процесса в ОС Windows.
Цель работы: изучить возможности применения механизмов синхронизации нитей одного процесса в операционной системе Windows.
Темы для предварительной проработки: процессы и нити в операционных системах, жизненный цикл процесса, средства взаимодействия процессов IPC, интерфейс прикладного программирования API WIN32.
Содержание отчета
1. Тема лабораторной работы.
2. Цель работы.
3. Индивидуальное задание.
4. Метод и алгоритм решения задачи.
5. Текст программы.
6. Результаты работы программы.
7. Выводы по работе.
Задачи
I. Задача «производители-потребители». Решается проблема работы с нескольких процессов (нитей) с одним буфером. Часть процессов являются «производителями»: в случайные моменты времени производят запись информации в буфер. Часть процессов являются «потребителями»: в случайные моменты читают информацию из буфера (после чтения информация в буфере теряется). Необходимо организовать такую работу, чтобы не было коллизий при совместной работе «производителей» и «потребителей».
II. Задача «читатели-писатели». Имеются данные, совместно используемые нескольким процессами (нитями). Имеется несколько процессов (нитей), которые только читают эти данные («читатели») и несколько других, которые только записывают данные (или изменяют их) («писатели»). При этом должны удовлетворяться следующие условия:
– любое число «читателей» могут одновременно читать данные;
– записывать данные в определенный момент может только один «писатель».
– когда «писатель» записывает данные, ни один читатель не может его читать.
III. Задача об «обедающих философах». Имеется некоторое количество процессов (нитей) – «философов», которые «сидят вокруг стола с едой» - выполняются в операционной системе. На столе находится «столовые приборы» (тарелки и вилки) – «ресурсы», количество которых равно количеству «философов». Каждый философ некоторое время размышляет, затем пытается взять 2 рядом лежащие (слева и справа от него) вилки. Если это удается, то он принимается за еду. Время приема пищи – произвольно. Решение должно избегать возможности наступления тупика (круговое ожидание) и голодания.
IV. Задача о «парикмахере». В «парикмахерской» (операционная система) есть 1 «парикмахер» (процесс или нить), его кресло и N стульев для посетителей. Если желающих воспользоваться его услугами нет, то он «спит». Если в парикмахерскую приходит клиент, он должен разбудить парикмахера. Если клиент видит, что парикмахер занят, он либо садится на стул и ждет (если есть место), либо уходит (если места нет). Необходимо запрограммировать «парикмахера» и «клиентов» так, чтобы избежать состояния состязания.
Индивидуальные задания
1. Задача I. Механизм синхронизации – семафоры. Буфер – циклический.
2. Задача II. Механизм синхронизации – семафоры. Преимущество имеют «писатели».
3. Задача III. Механизм синхронизации – семафоры.
4. Задача I. Механизм синхронизации – события. Буфер – линейный.
5. Задача II. Механизм синхронизации – события. Преимущество имеют «писатели».
6. Задача III. Механизм синхронизации – события.
7. Задача I. Механизм синхронизации – защищенный доступ к переменным. Буфер – стек.
8. Задача II. Механизм синхронизации – мьютексы. Преимущество имеют «писатели».
9. Задача III. Механизм синхронизации – мьютексы.
10. Задача I. Механизм синхронизации – семафоры. Буфер – линейный.
11. Задача II. Механизм синхронизации – семафоры. Преимущество имеют «читатели».
12. Задача III. Механизм синхронизации – критические секции.
13. Задача I. Механизм синхронизации – семафоры. Буфер – стек.
14. Задача II. Механизм синхронизации – события. Преимущество имеют «читатели».
15. Задача I. Механизм синхронизации – события. Буфер – циклический.
16. Задача II. Механизм синхронизации – критические секции. Преимущество имеют «писатели».
17. Задача I. Механизм синхронизации – события. Буфер – стек.
18. Задача II. Механизм синхронизации – семафоры. Преимущество имеют «читатели».
19. Задача I. Механизм синхронизации – защищенный доступ к переменным. Буфер – линейный.
20. Задача II. Механизм синхронизации – критические секции. Преимущество имеют «читатели».
21. Задача I. Механизм синхронизации – защищенный доступ к переменным Буфер – циклический.
22. Задача II. Механизм синхронизации – мьютексы. Преимущество имеют «читатели».
– Конец работы –
Используемые теги: Синхр, зация, нитей, внутри, процесса, ОС, Windows0.102
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Синхронизация нитей внутри процесса в ОС Windows
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов