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

Laboratornaya_Rabota_3

.docx
Скачиваний:
39
Добавлен:
01.04.2022
Размер:
333.04 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РФ Федеральное учреждение высшего профессионального образования Московский технический университет связи и информатики

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

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

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

по дисциплине:

Операционные системы

Выполнил студент

группы БФИ 1901

Рахимов Е.К.

Проверила:

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

Москва 2021

Цель работы:

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

  • сигналов;

  • семафоров;

  • мьютексов;

  • барьеров.

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

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

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

    1. Сигналы;

    2. Семафоры;

    3. Мьютексы;

    4. Барьеры.

Ход работы

Задание №1

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

Сигнал

При запуске программы, она начинает работать, если мы хотим прекратить работу, то сделаем это при помощи комбинации CTRL+C, но при помощи перехвата сигнала SIGINT, который отвечает за завершение программы, мы можем передать управление на адрес собственной функции, которая будет выполнять свои действия. Как описано в программе, после нажатия комбинации, у нас выведется текст, действительно ли мы хотим прекратить выполнение программы.

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

Рисунок 2 - Результат работы

Мьютекс

Мьютекс допускает только 1 поток к защищенному участку кода, заставляя другие потоки, которые пытаются получить доступ к этому коду, ждать, пока поток не выйдет из этого раздела. Пример программы:

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

Рисунок 4 - Результат работы

Семафор

Семафор – переменная определенного типа, которая доступна параллельным процессам для проведения над ней только двух операций. Пример программы:

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

Рисунок 6 - Результат работы

Соседние файлы в предмете Операционные системы