Контрольная работа: Копирование содержимого Файла 1 в остальные файлы
· Состояние профилирования (включено/выключено).
· Значение поправки к приоритету.
· Все присоединенные разделяемые сегменты памяти.
· Идентификатор группы процессов.
· Идентификатор группы терминала.
· Текущий рабочий каталог.
· Корневой каталог.
· Маска режима создания файлов.
· Ограничение на размер файла.
Порожденный процесс отличается от родительского процесса следующим:
· Порожденный процесс имеет свой уникальный идентификатор процесса.
· Порожденный процесс имеет иной идентификатор родительского процесса, равный идентификатору процесса, его породившего.
· Порожденный процесс имеет свои собственные копии родительских дескрипторов файлов. Каждый дескриптор файла порожденного процесса разделяет с соответствующим родительским дескриптором файла общий указатель текущей позиции в файле.
· Все semadj значения сбрасываются.
· Порожденный процесс не наследует у родительского процесса признаков удержания в памяти сегмента команд, данных или всего процесса целиком.
· Обнуляются счетчики времени, потраченного для обслуживания этого процесса (tms_utime, tms_stime, tms_cutime, tms_cstime). Отменяется запрос к будильнику.
3 ЛИСТИНГ ПРОГРАММЫ
Программа состоит из главного модуля rgr.c:
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <unistd.h>
#include <signal.h>
#include <fcntl.h>
#include <stdio.h>
#include <errno.h>
#define SHMKEY 5
#define SEMKEY 5
#define K 32