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

Курило БСТ2001 ОС лаба 5

.docx
Скачиваний:
5
Добавлен:
02.10.2023
Размер:
505.98 Кб
Скачать

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

Российской Федерации

Ордена Трудового Красного Знамени федеральное государственное

бюджетное образовательное учреждение

высшего образования

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

(МТУСИ)

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

Отчет по лабораторной работе №5

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

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

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

группы БСТ2001

Курило А. А.

Проверила:

ассистентка кафедры

Алексанян Д. А.

Москва, 2022

Цель работы

Целью работы является:

  1. Изучение системных средств порождения и взаимодействия процессов и потоков в ОС GNU/LINUX;

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

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

Написать программы, выполняющие с помощью ВСЕХ перечисленных механизмов межпроцессного взаимодействия (разделяемая память, сокеты, каналы) задачу в соответствии с вариантом.

Для решения задачи создавать минимально 2 ведомых процесса, выполняющих переданные ведущим процессом подзадачи и возвращающие результаты ведущему процессу.

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

Задача:

Реализовать вычисление определителя квадратной матрицы с помощью разложения ее на определители меньшего порядка. При этом «ведущий» процесс рассылает задания «ведомым» процессам, последние выполняют вычисление определителей, а затем главный процесс вычисляет окончательный результат.

Выполнение

Каналы

Код для выполнения задачи с использованием каналов представлен на рисунке 1.

Рисунок 1 - Каналы

На рисунке 2 представлен результат выполнения задания с использованием каналов.

Рисунок 2 - Вывод результата в терминал

Разделяемая память

Код для выполнения задачи с использованием разделяемой памяти представлен на рисунке 3.

Рисунок 3 - Код для выполнения задачи с использованием разделяемой памяти

На рисунке 4 представлен результат выполнения задания с использованием разделяемой памяти.

Рисунок 4 - Вывод результата в терминал

Сокеты

Код для выполнения задачи с использованием сокетов представлен на рисунке 5.

Рисунок 5 - Код для выполнения задачи с использованием сокетов

На рисунке 6 представлен результат выполнения задания с использованием сокетов.

Рисунок 6 - Вывод результата в терминал