![]() |
|
Модераторы: Poseidon |
![]()
|
|
| BCworm |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Пожалуйста помогите решить задачу синхронизации процессов с помощью семафоров.
Есть три процесса X, Y, Z и три ресурса: R1 –устройство ввода, R2 – устройство печати, R3 – диск. Процесс X требует ресурсы R1 и R2, процесс Y – R2 и R3, процесс Z – R1 и R3. Скорости процессов разные. Процессы переходят из активного состояния в пассивное произвольным образом. Т.е как бы нужно не прогу написать а чисто схематично в стиле паскаля чтото вроде этого: Type Semaphore = Record счетчик : Integer; указатель : Pointer; end; Var S : Semaphore; Процесс 1 Begin Увеличить значение счетчика; Установить значение Q:=2; End; Процесс 2 Begin Увеличить значение счетчика; Установить значение Q:=1; End; Везде примеры с двумя процессами .Помогите пожалуйста совсем зашиваюсь :( . |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
В приведённом примере нет и следа синхронизации. Непонятно, нафига нужен указатель, который нигде не используется, и что за загадочное Q... И вообще непонятно, какой смысл вложен в понятие синхронизации. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| BCworm |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Нет. это пример от винта написан просто чтобы показать что нужен не программный код а скорее псевдокод. Т.е нечто подобное схеме в которой ключевую роль играют команды управления семафором. Вот как-то так
|
|||
|
||||
| BCworm |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Ну неужели никто не знает? Вот так всегда излагаешь проблему по человечески просишь помощи и тишина. А если напишешь помогите горит сессия я ничего не понимаю и понимать не хочу... и сразу куча ответов и код и комментарии ну конечно не без смеха, веселья и нравоучений, но все же помощь. :(
Это сообщение отредактировал(а) BCworm - 31.8.2009, 07:16 |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |