Дан текстовый файл. Разработать многокомпонентную программу "перемешивания" строк данного файла и сохранения полученного результата
в новый текстовый файл. Состав компонентов:
- Программа-менеджер, которой в качестве параметров командной строки передается имя исходного текстового файла и количество программ-обработчиков.
Менеджер создает все необходимые для работы системы объекты синхронизации, формирует пустой результирующий файл, добавлением к исходному расширения ".res",
формирует блок разделяемой памяти, который заполняет информацией об имени исходного и результирующего файлов, количестве строк файла для каждой программы-обработчика,
а затем переходит в режим ожидания завершения обработки. По окончании обработки менеджер уничтожает все выделенные ресурсы и завершает свою работу.
Граничные условия: менеджер может быть запущен только один, запуск дополнительного экземпляра программы должен сопровождаться сообщением
об ошибке и завершением работы данного экземпляра.
- Программы-обработчики. Программы-обработчики запускаются вручную или скриптом.
Каждая программа-обработчик, используя ресурсы, предоставленные менеджером, загружает в оперативную память свою часть исходного
файла и сохраняет в результирующем файле соответствующий "перемешанный" набор строк, по окончании сохранения - блокируется в ожидании завершения работы менеджера,
по окончании блокировки - завершает свою работу.
Граничные условия: обработчик может быть запущен только при наличии и доступности набора ресурсов, предоставленных менеджером.
Во всех остальных случаях обработчик должен завершать свою работу с сообщением об ошибке.
Общие граничные условия: запрещается создание/модификация/удаление регулярных файлов/каталогов (кроме результирующего файла), до/после/во время работы системы.