ЛР.2. Posix-программирование, fork и exec.

Задание

Используя алгоритм быстрой сортировки, разработать программу, которая сортирует содержимое переданного ей бинарного файла. Вторым и третьим параметром могут передаваться номер начального и конечного байта в сортируемом файле (их отсутствие означает требование отсортировать весь файл). На первом шаге сортировки содержимое файла (части файла) разбивается на два отрезка в соответствии с правилами быстрой сортировки. Вторая, рекурсивная часть, реализуется одним из следующих методов, по выбору студента:
  1. для каждого из двух отрезков последовательно вызывается таже-самая программа с использованием fork и exec.
  2. для каждого из двух отрезков осуществляется параллельный вызов fork.
  3. для одного из двух отрезков осуществляется параллельный вызов fork, второй отрезок сортируется в родительском процессе.
Ни в какой момент времени, количество дочерних процессов не должно превышать заранее заданного константного значения. При достижении указанного предела очередной процесс вместо порождения дочерних должен произвести сортировку своей части файла самостоятельно.