Лабораторная №11: Разделяемая память
Требуемые условия завершения
Открыто с: воскресенье, 30 ноября 2025, 08:00
Срок сдачи: вторник, 2 декабря 2025, 13:30
Лабораторная №11: разделяемая память [5 баллов]
- [
task-1client.c, task-1server.c] [2,5 балла] Напишите программы для реализации следующей задачи. Программа клиент записывает в разделяемую память последовательность символов. Сервер принимает эту последовательность и находит в ней наиболее длинную последовательность из подряд идущих одинаковых символов. После чего выводит индекс её начала, длину и символ на stdout. - [
task-2client.c, task-2server.c] [2,5 балла] Реализовать программу, которая дожидается запуска заданного количества экземпляров другого процесса, которым назначаются последовательные номера. Дальше первая программа(первый процесс) генерирует массив случайных чисел, которые передаёт следующему процессу. Второй процесс увеличивает каждое получаемое число на 1 и передаёт дальше. Последний процесс после увеличения числа выводит его на печать. Передачу значений можно организовать при помощи массива, передаваемого через разделяемую память. Количество процессов и размер массива передаются через командную строку.
В разделяемую память удобно кроме самого массива записать еще дополнительную информацию, по которой первая программа будет определять сколько процессов создалось, а каждый последующий будет знать когда ему начинать работать. Каждый процесс нужно запускать в отдельном терминале.