Многопоточная синхронизация двух каталогов
Белорусского государственного университета информатики и радиоэлектроники.
Кафедра программного обеспечения информационных технологий.
Дисциплина «Операционные системы и системное программирование».
Индивидуальная практическая работа №2 («Работа с каталогами, основные принципы программирования процессов и потоков в ОС Unix/Linux»).
Написать программу синхронизации двух каталогов, например, Dir1 и Dir2. Пользователь задает имена Dir1 и Dir2 в качестве первого и второго аргумента командной строки. В результате работы программы файлы, имеющиеся в Dir1, но отсутствующие в Dir2, должны скопироваться в Dir2 вместе с правами доступа. Процедуры копирования должны запускаться в отдельном потоке для каждого копируемого файла с использованием функций read() и write(). Каждый поток выводит на экран свой pid, полный путь, имя копируемого файла и число скопированных байт. Число запущенных потоков в любой момент времени не должно превышать N (вводится пользователем). Проверить работу программы для каталога /usr/include/ и любого другого каталога в /home/N=6.
https://github.com/a-dubinin/bsuir-os-multithreaded-dir-sync/wiki