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 – первым пришел – первым ушел). При получении заявки на печать, в то время, как печатающее устройство используется, поступившая заявка ставится в очередь и обрабатывается после освобождения печатающего устройства.


 

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

18585. Автоматизированные системы делопроизводства 37 KB
  Автоматизированные системы делопроизводства Информационные технологии и АСУ документами и документооборотом пользуются все возрастающим вниманием среди предприятий и фирм различного профиля поскольку организация работы с документами существенно влияет на эффекти...
18586. Инструментальные средства концептуального проектирования автоматизированных систем 41.5 KB
  Инструментальные средства концептуального проектирования автоматизированных систем В современных информационных технологиях важное место отводится инструментальным средствам и средам разработки АС в частности системам разработки и сопровождения их ПО. Эти технол
18587. Функции в языке ANSI C 2.74 MB
  Задача лабораторной работы состоит в практическом освоении основ создания собственных функций, написание приложения по индивидуальному варианту.
18588. Спецификации проектов программных систем 42 KB
  Спецификации проектов программных систем Важное значение в процессе разработки ПО имеют средства спецификации проектов ПО. Средства спецификации в значительной мере определяют суть методов CASE. Способы и средства спецификации классифицируют по базовой методологии
18589. Среды быстрой разработки приложений 36 KB
  Среды быстрой разработки приложений CASEсистемы часто отождествляют с инструментальными средами разработки ПО называемыми средами быстрой разработки приложений RAD Rapid Application Development. Примерами широко известных инструментальных сред RAD являются Visual Basic Delphi PowerBuilder фи
18590. Компонентно-ориентированные технологии 53.5 KB
  Компонентноориентированные технологии Появление компонентноориентированных технологий вызвано необходимостью повышения эффективности разработки сложных программных систем являющихся в условиях использования корпоративных и глобальных вычислительных сетей рас...
18591. Пример реализации компонентно-ориентированной технологии в САПР 36 KB
  Пример реализации компонентноориентированной технологии в САПР Основные идеи компонентноориентированной объектной технологии с созданием расширенных специализированных библиотек компонентов реализованы в системе CAS.CADE Computer Aided Software / Computer Aided Design Engineering фирмы Ma...
18592. Системные среды автоматизированных систем. Назначение системных сред автоматизированных систем 30.5 KB
  Системные среды автоматизированных систем Назначение системных сред автоматизированных систем Системы автоматизированного проектирования относятся к числу наиболее сложных и наукоемких АС. Наряду с выполнением собственно проектных процедур необходимо автоматизи...
18593. Системы управления базами данных 37.5 KB
  Системы управления базами данных В большинстве автоматизированных информационных систем применяют СУБД поддерживающие реляционные модели данных. Среди общих требований к СУБД можно отметить: 1 обеспечение целостности данных их полноты и достоверности; 2 защита дан