Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Par_kyrsova.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
243.2 Кб
Скачать

4.1. Лінії видимого контуру

Породження процесі, як подано в лістінгу 6, можливе за допомогою фу­нкцій, які викликаються із функції mane ().

 Лістінг 6. Основна гілка програми, з якої викликається функція,

 що породжує процес

int main (int argc, char *argv [ ]) {

 . . .

Rt = func1 (X, Y, Z );

 . . . }

 Визначення функції.

int func1 (char *M, char *N, char *V) {

 . . .

char *const args [ ] = {“TaskX”, M, N, V, NULL};

Pid = fork ();

if (Pid = = 0) {

exec ({“TaskX”, args); }

if (Pid > 0) {

 . . . }

wait (stat); }

В лістінгу 6. функція func1 викликається з трьома аргументами. Ці аргу­менти передаються породженому процесу.

Процеси також можуть породжуватися із методів, які належать об’єктам. Як подано в лістінгу 7, об’єкти можна оголосити в довільному процесі.

 Лістінг 7. Оголошення об’єкту в процесі

 . . .

my_object MyObject;

 . . .

 Оголошення та визначення класу.

class my_object {

public:

 . . .

int spawnProcess (int X);

 . . . };

int my_object :: spawnProcess (int X) {

 . . .

 . . . posix_spawn () або system ()

 . . . }

Як подано в лістінгу 7, об’єкт може створювати довільну кількість про­цесів з довільного методу.

Завдання до курсової роботи

Використати модель процесів «головний - підлеглий».

  1. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стрічок. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  2. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стовпців. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  3. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стрічок. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  4. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стовпців. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  5. Напишіть паралельну програму, яка транспонує матрицю а[n, n] з ви­користанням рекурсивного паралелізму. Для чотирьох процесорів.

  6. Напишіть паралельну програму, яка проводить сортування елементів матриці b[n, n] з використанням рекурсивного паралелізму. Для чотирьох процесорів.

  7. Виконати апроксимацію інтеграла функції sin (x)*ex за методом адаптивної квадратури, використовуючи рекурсивний паралелізм. Для чотирьох процесорів.

  8. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стрічок. (Ітератив­ний паралелізм). Для восьми процесорів.

  9. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стовпців. (Ітератив­ний паралелізм). Для восьми процесорів.

  10. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стрічок. (Ітератив­ний паралелізм). Для восьми процесорів.

  11. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стовпців. (Ітератив­ний паралелізм). Для восьми процесорів.

  12. Напишіть паралельну програму, яка транспонує матрицю а[n, n] з ви­користанням рекурсивного паралелізму. Для восьми процесорів.

  13. Напишіть паралельну програму, яка проводить сортування елемен­тів матриці b[n, n] з використанням рекурсивного паралелізму. Для восьми процесорів.

  14. Виконати апроксимацію інтеграла функції sin (x)*ex за методом адаптивної квадратури, використовуючи рекурсивний паралелізм. Для восьми процесорів.

Використати модель рівноправних процесів.

  1. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стрічок. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  2. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стовпців. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  3. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стрічок. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  4. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стовпців. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  5. Напишіть паралельну програму, яка транспонує матрицю а[n, n] з ви­користанням рекурсивного паралелізму. Для чотирьох процесорів.

  6. Напишіть паралельну програму, яка проводить сортування елементів матриці b[n, n] з використанням рекурсивного паралелізму. Для чотирьох процесорів.

  7. Виконати апроксимацію інтеграла функції sin (x)*ex за методом адаптивної квадратури, використовуючи рекурсивний паралелізм. Для чотирьох процесорів.

  8. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стрічок. (Ітератив­ний паралелізм). Для восьми процесорів.

  9. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стовпців. (Ітератив­ний паралелізм). Для восьми процесорів.

  10. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стрічок. (Ітератив­ний паралелізм). Для восьми процесорів.

  11. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стовпців. (Ітератив­ний паралелізм). Для восьми процесорів.

  12. Напишіть паралельну програму, яка транспонує матрицю а[n, n] з ви­користанням рекурсивного паралелізму. Для восьми процесорів.

  13. Напишіть паралельну програму, яка проводить сортування елемен­тів матриці b[n, n] з використанням рекурсивного паралелізму. Для восьми процесорів.

  14. Виконати апроксимацію інтеграла функції sin (x)*ex за методом адаптивної квадратури, використовуючи рекурсивний паралелізм. Для восьми процесорів.

Використати модель процесів «керуючий – пул потоків».

  1. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стрічок. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  2. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стовпців. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  3. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стрічок. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  4. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стовпців. (Ітератив­ний паралелізм). Для чотирьох процесорів.

  5. Напишіть паралельну програму, яка транспонує матрицю а[n, n] з ви­користанням рекурсивного паралелізму. Для чотирьох процесорів.

  6. Напишіть паралельну програму, яка проводить сортування елементів матриці b[n, n] з використанням рекурсивного паралелізму. Для чотирьох процесорів.

  7. Виконати апроксимацію інтеграла функції sin (x)*ex за методом адаптивної квадратури, використовуючи рекурсивний паралелізм. Для чотирьох процесорів.

  8. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стрічок. (Ітератив­ний паралелізм). Для восьми процесорів.

  9. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням стовпців. (Ітератив­ний паралелізм). Для восьми процесорів.

  10. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стрічок. (Ітератив­ний паралелізм). Для восьми процесорів.

  11. Обчислити добуток двох матриць а[n, n] і b[n, n] та помістити в мат­рицю с[n, n]. Скласти програму паралельним обчисленням з використанням смуг для стовпців. (Ітератив­ний паралелізм). Для восьми процесорів.

  12. Напишіть паралельну програму, яка транспонує матрицю а[n, n] з ви­користанням рекурсивного паралелізму. Для восьми процесорів.

  13. Напишіть паралельну програму, яка проводить сортування елемен­тів матриці b[n, n] з використанням рекурсивного паралелізму. Для восьми процесорів.

  14. Виконати апроксимацію інтеграла функції sin (x)*ex за методом адаптивної квадратури, використовуючи рекурсивний паралелізм. Для восьми процесорів.

Навчально-методичні матеріали

1. Грегори Р. Эндрюс. Основы многопоточного, параллельного и распределенного программирования. М: - 2003.

2. Грушвицкий Р., Мурсаев А., Угрюмов Е. Проектирование систем на микросхемах с программируемой структурой. Сн-Пеиербург, 2006.

3. Суворов Е., Шейнин Ю. Проектирование цифровых систем на VHDL. Сн-Пеиербург, 2006.

4. Соммервилл И. Инженерия программного обеспечения. М: - 2002.

5. Андон Ф., Лаврищева М. Методы инженерии распределенных компьютерных систем. К., 1997.

6. Берталанфи Л. Общая теория систем. М.: 1960.

7. Бусленко И. Моделирование сложных систем. М., 1968.

8. Месарович М., Маке Д., Тахакара И. Теория иерархических много­у­ровневих систем. М., 1973.

9. Боггс Ч., Боггс М. UML Rational. М., 2000.

10. Иан Грэхем. Объектно-ориентированные методы проектирования. Принципы и практика. 3-е издан.: пер. с анг. – М.: 2004.

11. Мейер Бертран. Объектно-ориентированное конструирование прог­рам­мных систем. пер. с анг. – М.: 2005.

12. Кнут Дон., Ервин. Искусство программирования. 3-е издан.: пер. с анг. – М.: 2007.

13. Куроуз Дж., Росс К. Компьютерные сети. СПб.: Питер, 2004.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]