Обмен информацией между процессами с помощью отображаемых в память файлов

Лабораторная работа № 3

Обмен информацией между процессами с помощью отображаемых в память файлов.

 

Цель работы: изучить возможности применения механизма обмена данными между процессами в операционной системе Windows на основе отображаемых в память файлов.

 

Темы для предварительной проработки: отображаемые в память файлы, процессы и нити в операционных системах, жизненный цикл процесса, средства взаимодействия процессов IPC, интерфейс прикладного программирования API WIN32.

 

Теоретические сведения

Отображаемые в память файлы. Способ обмена данными между процессами с помощью файлов, отображенных на… Методика работы с файлами, отображаемыми на память, заключается в следующем.

Порядок выполнения работы

1. Ознакомиться с постановкой задачи и исходными данными. В соответствии с номером по журналу определить вариант задачи. 2. Согласно рекомендациям, приведенным в исходных данных, сконструировать… 3. Составить тексты программ и утвердить их у преподавателя.

Содержание отчета

 

1. Тема лабораторной работы.

2. Цель работы.

3. Индивидуальное задание.

4. Метод и алгоритм решения задачи.

5. Текст программы.

6. Результаты работы программы.

7. Выводы по работе.

 

Задачи

 

I. Задача «производители-потребители». Решается проблема работы с нескольких процессов (нитей) с одним буфером. Часть процессов являются «производителями»: в случайные моменты времени производят запись информации в буфер. Часть процессов являются «потребителями»: в случайные моменты читают информацию из буфера (после чтения информация в буфере теряется). Необходимо организовать такую работу, чтобы не было коллизий при совместной работе «производителей» и «потребителей».

II. Задача «читатели-писатели». Имеются данные, совместно используемые нескольким процессами (нитями). Имеется несколько процессов (нитей), которые только читают эти данные («читатели») и несколько других, которые только записывают данные (или изменяют их) («писатели»). При этом должны удовлетворяться следующие условия:

– любое число «читателей» могут одновременно читать данные;

– записывать данные в определенный момент может только один «писатель».

– когда «писатель» записывает данные, ни один читатель не может их читать.

 

 

Индивидуальные задания

1. Задача II. Механизм синхронизации – семафоры. Преимущество имеют «писатели». 2 процесса – «писателя», 2 – «читателя».

2. Задача I. Механизм синхронизации – семафоры. 1 процесс - «производитель», 2 – «потребителя»

3. Задача II. Механизм синхронизации – события. Преимущество имеют «писатели». 2 процесса – «писателя», 2 – «читателя».

4. Задача I. Механизм синхронизации – события. 1 процесс - «производитель», 2 – «потребителя»

5. Задача II. Механизм синхронизации – мьютексы. Преимущество имеют «писатели». 2 процесса – «писателя», 2 – «читателя».

6. Задача I. Механизм синхронизации – семафоры. 2 процесса - «производителя», 1 – «потребитель»

7. Задача II. Механизм синхронизации – семафоры. Преимущество имеют «читатели». 1 процесс – «писатель», 3 – «читателя».

8. Задача I. Механизм синхронизации – события. 2 процесса - «производителя», 1 – «потребитель»

9. Задача II. Механизм синхронизации – события. Преимущество имеют «читатели». 1 процесс – «писатель», 3 – «читателя».

10. Задача I. Механизм синхронизации – семафоры. 1 процесс - «производитель», 1 – «потребитель»

11. Задача II. Механизм синхронизации – мьютексы. Преимущество имеют «читатели». 3 процесса – «писателя», 1 – «читатель».

12. Задача I. Механизм синхронизации – события. 2 процесса - «производителя», 1 – «потребитель»

13. Задача II. Механизм синхронизации – семафоры. Преимущество имеют «писатели». 3 процесса – «писателя», 1 – «читатель».

14. Задача I. Механизм синхронизации – семафоры. 2 процесса - «производителя», 2 – «потребителя»

15. Задача II. Механизм синхронизации – события. Преимущество имеют «писатели». 1 процесс – «писатель», 3 – «читателя».

16. Задача I. Механизм синхронизации – семафоры. 3 процесса - «производителя», 3 – «потребителя»

17. Задача II. Механизм синхронизации – мьютексы. Преимущество имеют «писатели». 3 процесса – «писателя», 1 – «читатель».

18. Задача I. Механизм синхронизации – события. 2 процесса - «производителя», 2 – «потребителя»

19. Задача II. Механизм синхронизации – семафоры. Преимущество имеют «читатели». 3 процесса – «писателя», 1 – «читатель».

20. Задача I. Механизм синхронизации – события. 3 процесса - «производителя», 3 – «потребителя»

21. Задача II. Механизм синхронизации – события. Преимущество имеют «читатели».3 процесса – «писателя», 1 – «читатель».

22. Задача II. Механизм синхронизации – мьютексы. Преимущество имеют «читатели». 1 процесс – «писатель», 3 – «читателя».