Курило БСТ2001 ОС лаба 5
.docxМинистерство цифрового развития и массовых коммуникаций
Российской Федерации
Ордена Трудового Красного Знамени федеральное государственное
бюджетное образовательное учреждение
высшего образования
«Московский технический университет связи и информатики»
(МТУСИ)
Кафедра системного программирования
Отчет по лабораторной работе №5
по дисциплине
«Операционные системы»
Выполнила студентка:
группы БСТ2001
Курило А. А.
Проверила:
ассистентка кафедры
Алексанян Д. А.
Москва, 2022
Цель работы
Целью работы является:
Изучение системных средств порождения и взаимодействия процессов и потоков в ОС GNU/LINUX;
Получение практических навыков по использованию механизмов межпроцессного взаимодействия.
Задание на лабораторную работу
Написать программы, выполняющие с помощью ВСЕХ перечисленных механизмов межпроцессного взаимодействия (разделяемая память, сокеты, каналы) задачу в соответствии с вариантом.
Для решения задачи создавать минимально 2 ведомых процесса, выполняющих переданные ведущим процессом подзадачи и возвращающие результаты ведущему процессу.
Финальную обработку результатов, по необходимости, осуществлять ведущим процессом и выводить пользователю. Ведомые процессы также выводят промежуточные результаты, но при выводе в терминал отображать идентификатор процесса, выводящего данные.
Задача:
Реализовать вычисление определителя квадратной матрицы с помощью разложения ее на определители меньшего порядка. При этом «ведущий» процесс рассылает задания «ведомым» процессам, последние выполняют вычисление определителей, а затем главный процесс вычисляет окончательный результат.
Выполнение
Каналы
Код для выполнения задачи с использованием каналов представлен на рисунке 1.
Рисунок 1 - Каналы
На рисунке 2 представлен результат выполнения задания с использованием каналов.
Рисунок 2 - Вывод результата в терминал
Разделяемая память
Код для выполнения задачи с использованием разделяемой памяти представлен на рисунке 3.
Рисунок 3 - Код для выполнения задачи с использованием разделяемой памяти
На рисунке 4 представлен результат выполнения задания с использованием разделяемой памяти.
Рисунок 4 - Вывод результата в терминал
Сокеты
Код для выполнения задачи с использованием сокетов представлен на рисунке 5.
Рисунок 5 - Код для выполнения задачи с использованием сокетов
На рисунке 6 представлен результат выполнения задания с использованием сокетов.
Рисунок 6 - Вывод результата в терминал