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