User Tools

Site Tools


rt:par

Параллельные процессы: Лабораторная работа

Цель работы - Изучить возможности POSIX-совместимой операционной системы (Linux, частично Windows) создания параллельных процессов и обеспечения взаимодействия между ними (InterProcess Communications, IPC).

Работа выполняется в системах программирования С/С++, С#, Java, Erlang/Elixir (без POSIX)

Задачи:

  1. Разработать программу, порождающую дочерний/параллельный процесс (fork, spawn и др.);
  2. В дочернем процессе реализовать прикладную функцию (примеры):
    • Генератор гаммы для шифрования,
    • Реализация шифрования шифром цезаря,
    • Реализация шифрования генератором,
    • Обращение строки,
    • Загрузка текстового файла;
  3. Организовать взаимодействие родительского и дочернего процесса через общий ресурс (варианты задания):
    • pipe,
    • fifo,
    • shmem,
    • mmap,
    • файл на диске.
  4. Если необходимо, реализовать синхронизацию доступа к общему ресурсу (ресурсам), вариант зависит от операционной системы:
    • семафоры shmget,
    • поименованные семафоры,
    • блокируемый ```lock``` объект,
    • и т.п.

Пример разработки программы (не доделана синхронизация) в плейлисте.

rt/par.txt · Last modified: 2022/04/01 15:39 by eugeneai