3631

Теория с вычислительных процессов

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

Информатика, кибернетика и программирование

Процессы. Параллельные процессы. Последовательные процессы Цель работы: Усвоить понятие процесса. Изучить виды процессов и способы их взаимодействия. Рекомендации по выполнению работы 1. проработать материал лекции 9-14 2. При оформлении выполненног...

Русский

2012-11-04

63.5 KB

18 чел.

Процессы. Параллельные процессы. Последовательные процессы

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

Рекомендации по выполнению работы

1. проработать материал лекции 9-14

2. При оформлении выполненного пункта задания не руководствуйтесь пословицей “краткость- сестра таланта”, расписывайте свои аргументы подробнее

Задания

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

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

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

Задание 1

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

Решение

В компьютерных науках параллелизм — это свойство систем, при котором несколько вычислений выполняются одновременно, и при этом, возможно, взаимодействуют друг с другом. Вычисления могут выполняться на нескольких ядрах одного чипа с вытесняющим разделением времени потоков вычислений на одном процессоре, либо выполняться на физически отдельных процессорах.

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

Проблема обедающих философов — классическая проблема с параллелизмом и разделяемыми ресурсами.

Формулировка задачи, предложенная Эдсгером Дейкстрой, заключается в следующем:

В одном пансионе, открытом богатым филантропом, были собраны пять знаменитых философов. Предаваясь размышлениям, они независимо друг от друга заходили обедать в общую столовую. В столовой стоял стол, вокруг которого был поставлены стулья. Каждому философу свой стул. Слева от философа лежало по вилке, а в центре стола стояла большая тарелка спагетти. Спагетти можно было есть только двумя вилками, а потому, сев за стол, философ должен был взять вилку соседа справа (если она, конечно, свободна).

Кроме проблемы создания модели такой системы, существуют также проблемы ее анализа. Существует вероятность того, что кто-либо из философов может так и не приступить к еде, т.к. одна из вилок или даже обе вместе могут быть постоянно заняты. А если они сядут за стол одновременно, то возникает вариант взаимной блокировки всех философов.

Решение задачи заключается в обеспечении согласованного доступа нескольких потоков к разделяемым ресурсам.

Задание 2

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

Решение

Последовательным называется процесс, имеющий в алфавите символ естественно, что это событие может быть только последним в работе процесса. По этой причине мы ставим условием, что  не может служить альтернативой в конструкции выбора:

{х : В->Р{х)) неверно, если В

При проектировании процесса для решения некоторой сложной задачи часто бывает полезно разбить ее на две под­задачи, одна из которых успешно завершается до начала другой. Если Р и Q— последовательные процессы с одним и тем же алфавитом, их последовательная композиция Р; Q представляет собой процесс, ведущий себя сначала как Р, а после успешного завершения Р продолжающий вести себя как Q. Если успешного завершения Р не происходит, то не завершается и (Р; Q) .

Последовательность символов называется предложением процесса Р, если после выполнения соответствующей последовательности действий Р успешно завершается. Множество всех таких предложений называется языком, допускаемым Р. Таким образом, обозначения, введенные для описания последовательных процессов, можно использовать и для определения грамматики простого языка типа тех, что применяются при взаимодействии человека с машиной.

Законы для последовательной композиции аналогичны законам для конкатенации протоколов, а ПРОПУСК играет роль единицы:

Взаимодействие процессов между собой необходимо для синхронизации исполнения процессов между собой, обеспечению совместного использования ресурсов и т. д. Таким образом, взаимодействующие процессы представляют собой обычные совокупности операторов последовательного программирования с реализованным взаимодействием между ними.

Задание 3

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

Решение

При построении системы, в которой ограниченное число физических ресурсов разделено между большим количеством процессов с переменной потребностью в этих ресурсах необходимо предусмотреть методы разрешения конфликтов при попытке совместного использования ресурсов. Для этого используют следующие решения:

  1.  Организация критических секций. В момент вхождения программы в критическую секцию, все действия, которые могут помешать ее исполнению, запрещаются. Их разрешение выполняется только по факту завершения исполнения процесса (его критической секции);
  2.  Семафоры. Механизм семафоров основан на создании некоторые виртуальных ресурсов – семафоров. Процесс, в котором необходимо получить доступ к ресурсу, первоначально обращается к семафору и если он открыт, закрывает его и выполняет требуемые действия. По факту завершения работы, семафор открывается. В случае, если при обращении к семафору он закрыт, процессе ожидает его открытия;
  3.  Планирование ресурсов. Данный метод позволяет избежать ошибки в разрешении конфликтов. Возможны ситуации, когда один и тот же процесс при разрешении конфликтов будет непрерывно получать доступ к требуемому ресурсу, тогда как прочие ресурсы будут бесконечно находиться в очереди.  Для исключения подобных ситуаций выполняется планирование ресурсов (определяется дисциплина обслуживания очереди: первым пришел – первым ушел и т. д.).
  4.  Организация очереди.  Для организации совместного использования печатающих устройств используется очередь FIFO (First In First Out – первым пришел – первым ушел). При получении заявки на печать, в то время, как печатающее устройство используется, поступившая заявка ставится в очередь и обрабатывается после освобождения печатающего устройства.


 

А также другие работы, которые могут Вас заинтересовать

12591. АНАЛИЗ ТОЧНОСТИ ОБРАБОТКИ ДЕТАЛЕЙ ПО КРИВЫМ РАСПРЕДЕЛЕНИЯ 293 KB
  АНАЛИЗ ТОЧНОСТИ ОБРАБОТКИ ДЕТАЛЕЙ ПО КРИВЫМ РАСПРЕДЕЛЕНИЯ Методические указания к выполнению лабораторной работы по дисциплине Основы технологии машиностроения для студентов обучающихся по направлению 552900 Технология оборудование и автоматизация машиностр
12592. ВЛИЯНИЕ РЕЖИМОВ ТОЧЕНИЯ И АЛМАЗНОГО ВЫГЛАЖИВАНИЯ НА ШЕРОХОВАТОСТЬ ПОВЕРХНОСТИ 191 KB
  ВЛИЯНИЕ РЕЖИМОВ ТОЧЕНИЯ И АЛМАЗНОГО ВЫГЛАЖИВАНИЯ НА ШЕРОХОВАТОСТЬ ПОВЕРХНОСТИ Методические указания к выполнению лабораторной работы по дисциплине Основы технологии машиностроения для студентов обучающихся по направлению 552900 Технология оборудование и автома...
12593. ОПРЕДЕЛЕНИЕ ТЕМПЕРАТУРНЫХ ДЕФОРМАЦИЙ РЕЗЦОВ ПРИ ЧИСТОВОМ ТОЧЕНИИ 29.35 KB
  ОПРЕДЕЛЕНИЕ ТЕМПЕРАТУРНЫХ ДЕФОРМАЦИЙ РЕЗЦОВПРИ ЧИСТОВОМ ТОЧЕНИИ Методические указания к выполнению лабораторной работы по дисциплине Основы технологии машиностроения для студентов обучающихся по направлению 150900 Технология оборудование и автоматизация машинос...
12594. Electronics Workbench (EWB) системи схемотехнычного моделювання 898.73 KB
  ПЕРЕДМОВА Компютерні технології в навчанні розвиваються бурхливими темпами особливо в звязку зі збільшенням вимог до самостійної роботи студентів та широким упровадженням дистанційних форм здобуття знань. Для вивчення дисциплін Теоретичні основи електротехні
12595. Основи електротехніки та електроніки. Методичні вказівки до виконання лабораторних робіт 3.02 MB
  МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ КОНТРОЛЬНИХ РОБІТ З ДИСЦИПЛІНИ ОСНОВИ ЕЛЕКТРОТЕХНІКИ ТА ЕЛЕКТРОНІКИ Методичні вказівки до виконання лабораторних робіт з дисципліни Основи електротехніки та електроніки для студентів денної і заочної форми навчання. /Уклад.: Куч...
12596. Електротехніка і основи електроніки 7.06 MB
  Вступ до дисципліни Електротехніка і основи електроніки 1. До розділу електричні кола. Із курсу фізики відомо що електричні кола − це сукупність джерел і споживачів електричної енергії комутаційної апаратури вимірювальних приладів та зєднувальних провідників. В...
12597. Електротехніка і основи електроніки. Методичні вказівки до виконання контрольних робіт 539.5 KB
  МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ КОНТРОЛЬНИХ РОБІТ З ДИСЦИПЛІНИ ЕЛЕКТРОТЕХНІКА І ОСНОВИ ЕЛЕКТРОНІКИ Для студентів неелектричних спеціальностей заочної форми навчання Методичні вказівки до виконання контрольних робіт з дисципліни Електротехніка і основи елек
12598. ИСПЫТАНИЕ МЕТАЛЛОВ НА РАСТЯЖЕНИЕ 567.5 KB
  ИСПЫТАНИЕ МЕТАЛЛОВ НА РАСТЯЖЕНИЕ Методические указания к лабораторной работе № 2 по курсу Сопротивление материалов для студентов технических специальностей Испытание металлов на растяжение. Методические указания к лабораторной работе № 2 по курсу Сопрот
12599. ИСПЫТАНИЕ НА СЖАТИЕ РАЗЛИЧНЫХ МАТЕРИАЛОВ 3.22 MB
  ИСПЫТАНИЕ НА СЖАТИЕ РАЗЛИЧНЫХ МАТЕРИАЛОВ Методические указания к лабораторной работе № 3 по курсу Сопротивление материалов для студентов технических специальностей Астрахань2009 Составили: Денисова Л.М. ст. преп. кафедры Те