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

ОСлаб3_Мячина_БФИ2203

.docx
Скачиваний:
0
Добавлен:
02.08.2026
Размер:
860 Кб
Скачать

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

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

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

(МТУСИ)

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

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

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

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

Выполнила:

студент группы БФИ2203

Мячина Лада Андреевна

Проверила:

Старший преподаватель

Алексанян Диана Ашотовна

Москва, 2024 г.

Цель работы: Изучение механизмов синхронизации процессов с использованием

  • сигналов;

  • семафоров;

  • мьютексов;

  • барьеров.

Задания:

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

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

  • сигналы

  • семафоры

  • мьютексы

  • барьеры

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

Ход работы:

На рисунках 1-2 представлен код программы для реализации семафоров.

Рисунок 1 - Код программы semaphor.c (1)

Рисунок 2 - Код программы semaphor.c (2)

Ниже представлен результат выполнения данной программы (рисунок 3):

Рисунок 3 - Результат выполнения semafor.c

На рисунках 4-5 представлен код программы для реализации мьютексов.

Рисунок 4 - Код программы mutex.c (1)

Рисунок 5 - Код программы mutex.c (2)

Ниже представлен результаты выполнения программы (рисунок 6):

Р исунок 6 – Результат выполнения mutex.c

На рисунках 7-8 представлен код программы для реализации сигналов.

Рисунок 7 – Код программы signal.c (1)

Рисунок 8 – Код программы signal.c (2)

Ниже представлен результаты выполнения программы (рисунки 9-10):

Рисунок 9 – Успешное выполнение signal

Рисунок 10 – Ошибочное выполнение программы

Вывод

В результате выполнения данной работы было получено представление о средствах синхронизации в ОС GNU.