Тема
“Разработка программы создания
параллельно взаимодействующих вычислительных процессов в ОС UNIX”
Цель :
Разработать программу создания взаимодействующих вычислительных процессов.
Задание
Работа посвящена разработке программы создания параллельно взаимодействующих процессов на языке С.
В работе рассмотрен метод создания многопоточного приложения на языке С. Разработан алгоритм и его программная реализация на языке С.
Приложение демонстрирует принципы взаимодействия и механизмы синхронизации процессов в операционной системе UNI
Выполнили:
Студенты группы ЭВМ 3-1 Севрюкова О. Сорокина Е.
Вензель М.
Исходные данные
Разработать программу создания параллельно взаимодействующих вычислительных процессов.
Процесс A запускает задачи С и Е. Время завершения задач С и В приблизительно одинаковое.
Поток F запускается тем, кто завершается первым, но только после завершения 2-х остальных, приходящих в точку синхронизации.
Задача G запускается последним закончившим работу потоком D, E или F.
СТРУКТУРА ПРОГРАММЫ
В соответствии с техническим заданием программа должна реализовывать следующие функции:
•Расчет факториала
•Расчет бесконечно убывающей геометрической прогрессии
•Расчет суммы числового ряда
Алгоритм функции thread_func_F
Bход
Вывод сообщения о начале работы
Ожидание начала потока В
i<33
+
Вычисление i факториала
i=5
+
Создание потока C
+
Поток C создан
Вывод результата вычислений
Вывод сообщения об ошибке
Вывод сообщения о конце работы
Алгоритм функции
thread_func_E
Bход
Вывод сообщения о начале работы
|
i<10^6 |
|
+ |
i=i+1 |
sum=sum+1/(i*2) |
|
Вывод результата вычислений |
|
Сигнал потоку D о конце работы |
Bыход
Вывод
В ходе курсовой работы были изучены методы организации многопоточных приложений, алгоритмы взаимодействия потоков
Разработаны алгоритмы реализации, программный код и произведена отладка приложения, отвечающего требованиям задания.
Разаработка завершена составлением технической документации :
Спецификация Текст программы
Руководство пользователя