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

lab_3 / lab_os_3_maj

.docx
Скачиваний:
0
Добавлен:
12.02.2024
Размер:
1.04 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Системного программирования»

Дисциплина «Операционные системы»

Лабораторная работа 3

«Средства синхронизации в ОС GNU/LINUX»

Выполнил:

студент группы БСТ2104

Мажукин И.Н.

Проверила: Алексанян Д. А.

Москва, 2023 г.

Содержание

Цель работы 3

Задания на лабораторную работу 3

Решение задач 4

Задание с барьером 4

Задача с сигналами 7

Задача с мьютексами 9

Вывод 11

Цель работы 3

Задания на лабораторную работу 3

Решение задач 4

Задача с барьером 4

Задание с сигналами 6

Задача с мьютексами 8

Вывод 10

Цель работы

Получить практические навыки по использованию синхронизации потоков.

Задания на лабораторную работу

  1. Изучить теоретическую часть лабораторной работы.

  2. Исследовать на конкретном примере особенности 3 по выбору из указанных методов синхронизации потоков:

1) семафоры

2) сигналы

3) мьютексы

4) барьеры

Задачи для синхронизации выбрать, исходя из особенностей методов, на свое усмотрение.

Решение задач

Задание с барьером

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

Решение задачи представлено на рисунке 1:

Рисунок 1 — Код программы

На рисунке 2 представлен вывод работы программы:

Рисунок 2 — результат работы программы

Задача с сигналами

Есть условная система мониторинга датчиков в помещении. Датчики измеряют температуру, влажность и освещенность. Если температура становится слишком высокой, влажность слишком низкой или освещенность слишком высокой, система должна отправить предупреждающее сообщение.

Решение задачи представлено на рисунке 3:

Рисунок 3 — код программы

На рисунке 4 представлен вывод работы программы:

Рисунок 4 — результат работы программы

Задача с мьютексами

Пускай есть два бизнесмена, которые работают с одним банковским счётом. В определенный момент совершать операции с банковским счетом может только один бизнесмен. Каждый из них выполняет какую-то одну работу: либо пополняет счет, либо проверяет баланс счета.

Решение задачи представлено на рисунке 5:

Рисунок 5 — Код программы

На рисунке 6 представлен вывод работы программы:

Рисунок 6 — результат работы программы

Вывод

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

Соседние файлы в папке lab_3