Классическая формулировка задачи

Рассмотрим формулировку задачи об обедающих философах в терминологии,

предложенной Э. Дейкстрой. За круглым столом расставлены пять стульев, на каждом из

которых сидит философ (Ф1-Ф5) (рис. 1).

В центре стола размещено блюдо с макаронами. На столе лежат пять вилок (B1-B5),

каждая из которых находится между двумя соседними тарелками. Каждый философ может

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

философу необходимы две вилки: одна в правой руке, а другая в левой. Закончив еду,

философ кладет вилки на место и начинает размышлять до тех пор, пока снова не

проголодается.

В этой задаче имеются две опасные ситуации: «заговор соседей» и «голодная смерть».

«Заговор соседей» имеет место, когда соседи слева и справа от философа строят козни.

Заговорщики поочередно забирают вилки то слева, то справа от «жертвы». Такие

согласованные действия злоумышленников приводят жертву к вынужденному голоданию, так

как он никогда не может воспользоваться обеими вилками.

«Голодная смерть» возникает, когда философы одновременно проголодаются и

одновременно попытаются взять, например, свою левую вилку. При этом возникает

тупиковая ситуация, так как никто из них не может начать есть, не имея второй вилки

Особенности:

Каждый философ – процесс, стол контролирует процесс привратник. Делать под Linux, на С или С++. Графический интерфейс не нужен.

17 лет назад
IvanAndreychuk
Иван 
42 года
19 лет в сервисе
Был
12 лет назад

Выбранный исполнитель

mdraven
Andrey 
39 лет
17 лет в сервисе
Был
15 лет назад
3 отзыва
17 лет назад
$30
Работы выполнил в срок и на должном уровне. Вообщем работай даволен.
Хороший человек, не кидала. Он реально заботится о своей репутации, ему можно доверять.

Заявки фрилансеров

mdraven
Andrey 
39 лет
17 лет в сервисе
Был
15 лет назад
3 отзыва
17 лет назад
  • Похожие заказы

  • Необходимо реализовать в MATLAB алгоритм фонемной сегментации речевого сигнала с использованием вейвлет-анализа. К программе необходимы подробные комментарии, буквально к каждой строке. Анализируемые звуковые файлы представлены в wav формате. Программа ...

    Прикладное ПО1 исполнитель
    Закрыт
    17 лет назад
  • Необходимо создать просмоторщик файлов в форматах и pdf, и djvu с возможностью поиска по словам, масштабирования, поворота и распечатки + исходники. Это необходимо по учебе, поэтому стандартные просмоторщики не подходят. Язык программирования: Delphi.

    Прикладное ПО1 исполнитель
    Закрыт
    17 лет назад
  • $100

    При возможности отловить ошибку в существующей программе, в крайнем случае переписать заново Есть идеально сбалансированное дерево(авл), с помощью которого анализируется лог и ищет пересечение аудиторий ( должен искать). Лог- 10 сайтов, для каждого ...

    Закрыт
    17 лет назад
  • Есть примитивный генератор кроссвордов с текстовым полем для ввода словаря и кнопкой "Сгенерировать кроссворд из этих слов". Алгоритм генерации готовый. ГУИ сделаны на GTK.+ Glade. Нужно немного причесать ГУИ чтобы выглядело по-человечески, при желании переделать ...

    Закрыт
    17 лет назад
  • Требуется написать софт который будет работать (создание/экспорт/импорт/поиск/отображение результатов запросов-поисков) с базами данных. Требуемые технологии: C/C++,WinApi(желательно),Mysql,XML,Ftp.

    Закрыт
    17 лет назад
  • Необходимо разработать 2-е АИС Выдержки из ТЗ в приложении. Пожалуйста С ВАШИМИ ЦЕНАМИ!!!!!!1 в личку или в общак. Без цены предложения не рассматриваются ВНИМАНИЕ: Срок до среды (Это критично). Программы не сложные. ...

    Прикладное ПО1 исполнитель
    Завершен
    17 лет назад
  • $1000

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

    Прикладное ПО1 исполнитель
    Завершен
    17 лет назад
  • Цель: Разработка модуля оптимизации на основе Генетического Алгоритма Задачи: 1. Понятие Генетического алгоритма. Основы оптимизации. 2. Разработка структуры программы с использованием динамически подключаемых библиотек *.dll в которых реализованы оптимизируемые функции 3. Разработка ...

    Прикладное ПО1 исполнитель
    Завершен
    17 лет назад
  • Требуется маленькая программа которая отсылает сообщение на "определённый почтовый адрес". Программа должна содержать: 1.поле для ввода сообшения (на пятнадцать символов), 2.Кнопку для отправки сообщения. 3.Кнопка ...

    Прикладное ПО1 исполнитель
    Завершен
    17 лет назад