Для студентов МГТУ им. Н.Э.Баумана по предмету Разработка программных системПоточная Линия Станков (thread)Поточная Линия Станков (thread)
2023-04-132023-04-13СтудИзба
Лабораторная работа 2: Поточная Линия Станков (thread) вариант 23
Описание
ЛР2 по РПС Вариант 23
Задание:
Разработать программу, моделирующую в реальном времени работу поточной линии, состоящей из N станков и обрабатывающей заготовки M типов.
Каждая заготовка последовательно проходит обработку на всех станках линии. Времена обработки заготовок каждого типа (в секундах) на каждом станке линии задаются в виде прямоугольной матрицы размером NxM в конфигурационном файле line.cnf. Первые 2 строки этого файла содержат числа N и M.
Программа реализуется N+1 потоком управления. Корневой поток порождает N потоков-"станков", передавая им информацию о временах обработки заготовок разного типа. Далее этот поток читает со стандартного ввода последовательность номеров типов заготовок и передает её на вход первого потока-"станка". Потоки-"станки" имитируют обработку заготовок с помощью функции sleep() и передают номера типов обработанных заготовок потокам-приёмникам.
Предусмотреть вывод информации о ходе обработки заготовок.
Некоторые из возможных модификаций задания:
В комплекте идёт код и готовый отчёт к программе с блок-схемами, подробным описанием работы программы, тестами работоспособности и всем остальным.
Для запуска:
cc main.c -pthread
./a.out 1 2 3
Задание:
Разработать программу, моделирующую в реальном времени работу поточной линии, состоящей из N станков и обрабатывающей заготовки M типов.
Каждая заготовка последовательно проходит обработку на всех станках линии. Времена обработки заготовок каждого типа (в секундах) на каждом станке линии задаются в виде прямоугольной матрицы размером NxM в конфигурационном файле line.cnf. Первые 2 строки этого файла содержат числа N и M.
Программа реализуется N+1 потоком управления. Корневой поток порождает N потоков-"станков", передавая им информацию о временах обработки заготовок разного типа. Далее этот поток читает со стандартного ввода последовательность номеров типов заготовок и передает её на вход первого потока-"станка". Потоки-"станки" имитируют обработку заготовок с помощью функции sleep() и передают номера типов обработанных заготовок потокам-приёмникам.
Предусмотреть вывод информации о ходе обработки заготовок.
Некоторые из возможных модификаций задания:
- обеспечить "псевдографическую" визуализацию хода обработки заготовок (для этого может понадобиться ещё 1 поток-визуализатор);
- учесть вероятность сбоя в работе каждого станка и выбраковки в следствие этого заготовок (а что эта вероятность из себя представляет?);
- учесть возможность присутствия между станками буфера хранения заготовок;
- многое др..
В комплекте идёт код и готовый отчёт к программе с блок-схемами, подробным описанием работы программы, тестами работоспособности и всем остальным.
Для запуска:
cc main.c -pthread
./a.out 1 2 3
Файлы условия, демо
Характеристики лабораторной работы
Учебное заведение
Семестр
Номер задания
Вариант
Просмотров
24
Покупок
1
Качество
Идеальное компьютерное
Размер
474,6 Kb