![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
LeoNa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.10.2007 Репутация: нет Всего: нет |
Помогите пожалуйста, люди добрые, чем сможете...
Задача Процесс 1 порождает потомков 2 и 3, все они присоединяют к себе разделяемую память объемом (2*sizeof(int)). Процессы 1 и 2 по очереди пишут в эту память число, равное своему номеру (1 или 2). После этого один из процессов удаляет разделяемую память, затем процесс 3 считывает содержимое области разделяемой памяти и записывает в файл. Используя семафоры, обеспечить следующее содержимое файла: а) 1 2 1 2 1 2 1 2 г) 2 1 1 2 1 1 2 1 1 Это сообщение отредактировал(а) LeoNa - 2.12.2008, 21:39 |
|||
|
||||
MastEdm |
|
|||
![]() Master ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 3.12.2005 Где: Москва, МГИУ Репутация: нет Всего: 2 |
Есть несколько вопросов:
1. Как можно писать в ограниченную память, чтобы в итоге получить последовательность, заведомо большую по длине, чем 2 инта? 2. Если один из процессов удаляет разделяемую память, то как потом 3 процесс может что-то из нее прочитать? Хотя может я не понял задачу ![]() |
|||
|
||||
LeoNa |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 1.10.2007 Репутация: нет Всего: нет |
MastEdm, Срасибо вам, что откликнулись, но ваши вопросы еще труднее чем задача
![]() |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
Для домашних заданий, курсовых, существует "Центр Помощи"
Тема перенесена! -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
MastEdm |
|
|||
![]() Master ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 3.12.2005 Где: Москва, МГИУ Репутация: нет Всего: 2 |
Кажется понял:
Шаг 1. Первый поток порождает потоки 2 и 3. Шаг 2. Все три потока открывают разделяемую память. Шаг 3. Первый и второй пишут в нее свой номер Шаг 4. Один из них закрывает память (правда непонятно для чего) Шаг 5. Третий поток читает память и пишет результат в файл Шаг 6. Перейти к шагу 2 (соответственно открывать память нужно будет только тому, кто ее закрывал) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |