Распараллеливание процессов

SilverEye 30.05.2004 - 14:33 | Есть задача.. Написать распараллеливание процессов. Т.е. программно эмулировать некий ресурс и несколько процессов, которые имеют к нему доступ... Короче сделать так, чтобы они не конфликтовали. У меня вопрос: это реально? т.е. внутри операционной системы? Ведь это её функция - смотреть за ресурсами и процессами. Как это можно эмулировать? Просто я пришёл к выводу, что это очень сложная задача.. Т.е. придётся фактически в многозадачной операционнной системе моделировать мноозадачность. Это реально?
><(((@> 1 - 30.05.2004 - 19:24 | посмотри ada = у нее есть многозадачность встроенная и механизмы общения между задачами
SilverEye 2 - 30.05.2004 - 19:37 | Дык в том-то и дело, чо надо написать эмудяцию многозадачности на C++.
Delphist 3 - 30.05.2004 - 20:58 | А в чем проблема, не пойму? Создаем N потоков с помощью CreateThread. Создаем мьютекс, семафор или иной объект синхронизации и вперед. Каждый поток в начале делает WaitForSingleObject и продолжает после этого свое выполнение. Писать можно на любом языке, поддерживающем применение Win32 API. Если это не подходит, опиши конкретнее задачу.
SilverEye 4 - 30.05.2004 - 21:47 | Суть задачи: используя классические схемы распараллеливания процессов (семафоры Дейкстры, алгоритм Деккера, Петерсона - например), написать программу, которая эмулировала многопоточность. Т.е. есть какой-то ограниченный ресурс, к которому организовывается доступ, а программа решает проблему доступа к нему нескольких процессов одновременно. WinAPI, думаю, здесь не подойдёт, т.к. прога пишется специально по этим алгоритмам. Но я не уверен, что их можно будет реализовать в среде Windows например. И вообще, как вы считаете, это сложная задача или нет?
SilverEye 5 - 30.05.2004 - 21:55 | А пишется она по этим алгоритмам из-за того, что тупая тётка, которая ведёт у меня C++, не хочет мне ставить зачёт из-за непосещаемости. :)
archimag 6 - 30.05.2004 - 21:59 | Так посещать надо ;) Посмотри реализацию волокон в среде UNIX, там многопоточность реализуется на уровне библиотеки, может пригодиться...
SilverEye 7 - 30.05.2004 - 22:02 | Да там чёрт ногу сломит... Там ведь очень много стандартов реализации многопоточности. Сам прикол в том, что тётка (которая тупая), сама не знает, как это делается... А мне подсунула задачу такую. Остальным прогульщикам дала всякие парсеры писать и хеш-таблицы... а мне, как самому злостному... :(
><(((@> 8 - 30.05.2004 - 23:51 | что то я не понял :))) что за ограниченный ресурс такой. а доступ осуществляется как = из одной и тойже проги :)) или это должно быть типа диспечера задач???
SilverEye 9 - 31.05.2004 - 00:18 | Ресурс - ну например файл... память... устройство... что угодно... Количество прог не важно... важна реализация... просто в данном случае - проще будет всё реализовать внутри одной программы... потому что все функции реализации многопоточности есть внутри операионной системы... а мне надо это ЭМУЛИРОВАТЬ. Т.е. программа - это операционная система и программа в это операционно системе одновременно.
><(((@> 10 - 31.05.2004 - 00:46 | гм. запаришься велосипед собирать = просче схитрить написать скажем оболочку на с++ а основной модуль многозадачности на ada:)) а вот если препод не рубит = юзай <process.h> пока больше в голову не лезет

>>