II. Совместный доступ к файлам

Задание 5. Напишите программу pr5.c в соответствии со схемой, представленной на рис. 1.

Родительский процесс открывает существующий текстовый файл 1 для чтения; затем создает дочерний процесс. После этого родительский процесс создает новый файл 2 для записи и копирует в него содержимое файла 1 блоками по 10 байтов каждый.

Одновременно с этим дочерний процесс создает новый файл 3 для записи и копирует в него содержимое файла 1 блоками по 20 байтов каждый.

После завершения копирования оба процесса завершаются. Программа должна запускаться с тремя параметрами:

$pr5 file1 file2 file3

5.1. Запустите программу несколько раз для заданного значения N с одними и теми же именами файлов и сравните размер и содержимое файлов 2 и 3 с размером и содержимым файла 1. Объясните результаты.

5.2. Повторите предыдущий пункт для N = 10, 5000, 10000 и 100000.

Замечание. Последний блок может быть меньше, чем указано в read. Поэтому необходимо, чтобы write записывал столько байтов, сколько прочитал read (см. пример из лаб. работы 2).