OberonCore https://forum.oberoncore.ru/ |
|
Active BlackBox https://forum.oberoncore.ru/viewtopic.php?f=31&t=354 |
Страница 5 из 5 |
Автор: | Илья Ермаков [ Понедельник, 26 Май, 2008 17:36 ] |
Заголовок сообщения: | Re: Active BlackBox 1.5 beta |
Active BlackBox не вносит никаких изменений в компилятор. Это только рантайм-механизмы. Так что генерировать параллельные инструкции Блэкбокс не начнёт. |
Автор: | Axcel [ Воскресенье, 06 Декабрь, 2009 10:58 ] |
Заголовок сообщения: | Re: Как сделать, чтобы программа работала на обоих процессорах? |
Перенесено отсюда: viewtopic.php?p=39241#p39241 А никто не пробовал для этого дела использовать ActiveBlackBox? |
Автор: | Иван Денисов [ Воскресенье, 06 Декабрь, 2009 12:34 ] |
Заголовок сообщения: | Re: Как сделать, чтобы программа работала на обоих процессорах? |
Axcel писал(а): А никто не пробовал для этого дела использовать ActiveBlackBox? Ну он же теперь, вроде, не поддерживается и развиваться дальше не будет, а пишу я очень медленно, поэтому важно, чтобы все наработки в будущем пригодились для следующих программ, а они, вероятно, будут на новых версиях BB писаться. |
Автор: | Илья Ермаков [ Воскресенье, 06 Декабрь, 2009 13:28 ] |
Заголовок сообщения: | Re: Как сделать, чтобы программа работала на обоих процессорах? |
Да, Active BlackBox развиваться не будет никогда. Если кому-то очень надо программировать на тредах, можно использовать это ядро, понимая цену зависимости. При необходимости в таком конкретном случае консультация-помощь может быть оказана. |
Автор: | O.Nick [ Пятница, 24 Июнь, 2011 20:58 ] |
Заголовок сообщения: | Re: Active BlackBox |
Всем привет! Давно я BB не занимался - немного не в курсе. В последних сборках BB (не ABB) менеджер памяти корректно с несколькими потоками работает или все так же? А то есть необходимость загрузить ядра. ABB использовать не охота, а отдельные процессы городить и данные по сетке гонять - тяжеловесно получается, вот и думаю WinApi threads и шина сообщений. |
Автор: | Илья Ермаков [ Пятница, 24 Июнь, 2011 23:05 ] |
Заголовок сообщения: | Re: Active BlackBox |
Ну... Гоняйте через разделяемую память. Или грузите несколько ББ в одно пространство (можно как DLL, самый простой способ). И гоняйте максимально эффективно бинарные данные (например, выгруженные в файл в памяти Stores). Но пространство модулей и динамич. объектов будет у каждого ББ своё (и как раз про несколько потоков в одном объектном пространстве Info21 и говорит). |
Автор: | QWERTYProgrammer [ Суббота, 25 Июнь, 2011 01:53 ] |
Заголовок сообщения: | Re: Active BlackBox |
Илья Ермаков писал(а): Или грузите несколько ББ в одно пространство (можно как DLL, самый простой способ). Т.е. компилировать модуль в dll и грузить потом несколько таких dll с помощью rundll32? Или имеется в виду что-то другое?
|
Автор: | Илья Ермаков [ Суббота, 25 Июнь, 2011 08:59 ] |
Заголовок сообщения: | Re: Active BlackBox |
Основной ББ как EXE, а сателлиты втягиваются в то же адресное пространство как DLL. Правда, надо извернуться чтобы загрузить несколько раз. Я гружу более хитро без DLL, полностью вручную. Но начинал когда-то экспериментировать с DLL. |
Автор: | QWERTYProgrammer [ Понедельник, 27 Июнь, 2011 12:02 ] |
Заголовок сообщения: | Re: Active BlackBox |
Илья Ермаков писал(а): Или грузите несколько ББ в одно пространство ... Но пространство модулей и динамич. объектов будет у каждого ББ своё . Все-таки не совсем понятно, что тут означает одно пространство? Сборщик мусора ведь должен быть у каждого ББ свой? Разве это не означает, что экземпляры ББ работают в различных адресных пространствах? |
Автор: | Илья Ермаков [ Понедельник, 27 Июнь, 2011 12:42 ] |
Заголовок сообщения: | Re: Active BlackBox |
Объектные пространства языка - разные (все объекты, модули, данные языка не пересекаются). Но адресное пространство ОС - одно. Т.е., используя SYSTEM и прямую работу с памятью, можно сделать механизмы обмена сообщений, разделяемой памяти, да чего угодно, что касается обмена двоичным нетипизированными данными. Например, кусок памяти, доступный всем ядрам через интерфейс Files.File. А уже через такое можно сериализовать объекты языка (те же Stores). |
Автор: | O.Nick [ Пятница, 01 Июль, 2011 01:09 ] |
Заголовок сообщения: | Re: Active BlackBox |
Нет, через System не вкусно. Теряются преимущества сборки мусора и проверки типов. Хотя как вариант без порождения процессов пойдет. З.Ы. напоминает проблемки в Delphi при работе с dll (тоже у всех свои менеджеры памяти и RTTI), там я это с помощью интерфейсов обходил. Надо будет и тут попробовать. |
Автор: | Илья Ермаков [ Пятница, 01 Июль, 2011 12:04 ] |
Заголовок сообщения: | Re: Active BlackBox |
O.Nick писал(а): Нет, через System не вкусно. Теряются преимущества сборки мусора и проверки типов. Хотя как вариант без порождения процессов пойдет. З.Ы. напоминает проблемки в Delphi при работе с dll (тоже у всех свои менеджеры памяти и RTTI), там я это с помощью интерфейсов обходил. Надо будет и тут попробовать. Почему невкусно? Вы не будете использовать SYSTEM в прикладном коде. Будете работать через обёрнутый Files.File. Передавать Stores в сериализованном виде. Это один из возможных вариантов. Надёжность полная. Можно записывать RECORD, с ASSERT на то, что в ней нет указателей. Можно записывать для дополнительного контроля fingerprint типа... |
Автор: | Пётр Кушнир [ Пятница, 01 Июль, 2011 14:13 ] |
Заголовок сообщения: | Re: Active BlackBox |
ещё можно шину сообщений использовать, сообщения как раз сериализуются, как раз RECORD, и как раз асинхронные вполне рабочий образец сбора/разбора RECORD в xml можно увидеть здесь, например. |
Автор: | Илья Ермаков [ Пятница, 01 Июль, 2011 16:59 ] |
Заголовок сообщения: | Re: Active BlackBox |
(только жалко безумно тратить процессорное время на XML... и так оно всё на эти текстовые форматы уходит в современных бизнес-приложениях, как говорят...) |
Автор: | O.Nick [ Пятница, 01 Июль, 2011 18:04 ] |
Заголовок сообщения: | Re: Active BlackBox |
Как раз шину сообщений и думаю использовать, но без сериализации, а на COM-интерфейсах. Так накладные расходы меньше. |
Автор: | Пётр Кушнир [ Суббота, 02 Июль, 2011 00:25 ] |
Заголовок сообщения: | Re: Active BlackBox |
зачем xml? я имел ввиду, что разбор и сбор возможен средствами meta и ядра, а сериализовать можно во всё, что угодно |
Автор: | Евгений Темиргалеев [ Суббота, 02 Июль, 2011 13:21 ] |
Заголовок сообщения: | Re: Active BlackBox |
http://oberoncore.ru/projects/abb |
Страница 5 из 5 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |