1) Сообщения:
Клиент и сервер обмениваются между собой сообщениями. Программы запускаются на разных терминалах. Каждая программа записывает сообщения в файл, расширением которого является идентификатор процесса, принадлежащий этой программе
2) Каналы:
Клиент передают серверу запрос в виде полного пути к файлу. Сервер читает этот файл и передает клиенту его содержание или сообщение об ошибке, если файл не существует или не доступен для чтения. Клиент записывает полученную информацию в файл в текущем каталоге с тем же именем и дополняет его расширением result.
3) Создание процессов:
а) Разработать программу, выполняющую "разветвление" посредством системного вызова fork(). Вывести На экран идентификаторы PID и PPID для родительского и дочернего процессов. разработать функцию перенаправления стандартного вывода в файл.
б) В самом начале программы, до порождения дочернего процесса, сделать процесс лидером группы и сеанса. Вызвать в обоих процессах с помощью любого системного вызова стандартную команду ps и перенаправить ее выход в файл. Модифицировать программу таким образом, чтобы лидером сеанса и группы стал родительский процесс. Повторно запустить программу, предварительно сохранив дампы предыдущего запуска. Объяснить произошедшие изменения. Освободить ячейку таблицы процессов порожденного процесса.
в) Программа приостанавливается, а затем по истечению заданного времени продолжает свою работу периодически выдавая на терминал сообщения о прошедшем после последней приостановки времени.
г) Получить сигнальную маску процесса и вывести в файл протокола существующий набор сигналов. Заменить набор сигналов на противоположный ( инверсный) и вновь занести полученные значения в файл протокола
В программах нужны пояснения основных моментов, действий, ну и тд, чтоб смог объяснить