OberonCore https://forum.oberoncore.ru/ |
|
Active BlackBox https://forum.oberoncore.ru/viewtopic.php?f=31&t=354 |
Страница 2 из 5 |
Автор: | Сергей Губанов [ Вторник, 26 Декабрь, 2006 09:05 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): ...а семафоры реализованы на WinAPI.QueueAPC, смотрите HostSynch. Другого способа реализовать семафоры пользовательского режима я не знаю...
Самый правильный способ, это реализовать ядро ББ непосредственно поверх голого железа . |
Автор: | Иван Горячев [ Вторник, 26 Декабрь, 2006 09:12 ] |
Заголовок сообщения: | |
Возьмётесь? Проще тогда уж компилятор Компонентного Паскаля и модули Блэкбокса для Bluebottle. |
Автор: | Сергей Губанов [ Вторник, 26 Декабрь, 2006 10:47 ] |
Заголовок сообщения: | |
Ivor писал(а): Возьмётесь?
На голом энтузиазме такую серьёзную задачу не осилить. Вот если мне на работе когда-нибудь удасться уговорить высокое начальство открыть новый проект... Пока что моё высокое начальство реально рассматривает только такие проекты, которые в общей сложности принесут прибыли порядка 0.5 - 1.0 миллиона долларов или больше. Я им столько денег в случае удачи проекта гарантировать не могу. |
Автор: | O.Nick [ Вторник, 26 Декабрь, 2006 15:36 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): 2O.Nick: Похоже нашел. Дело не в реализации семафора. Иначе пример с буфером и простыми числами выдавал бы их на печать в непонятно какой последовательности (хотя скорее всего в правильной, там в функции расчета пауза встроина).
в) по поводу "некорреляции" - так работают семафоры, а семафоры реализованы на WinAPI.QueueAPC, смотрите HostSynch. Другого способа реализовать семафоры пользовательского режима я не знаю... Хотя пока с "корреляцией" не разбирался вообще. Ближе к концу недели повожусь. Ошибка похоже вот в этом месте (ObxAoRoomsModels): Код: PROCEDURE (room: Room) Enter (r: Runner), NEW; Если поменять на UPDATE то всё работает как надо.
BEGIN Ao.EXCLUSIVE; (* ######### *) IF room.runner # r THEN WHILE room.runner # NIL DO Ao.AWAIT END; room.runner := r END END Enter; |
Автор: | O.Nick [ Вторник, 26 Декабрь, 2006 18:10 ] |
Заголовок сообщения: | |
Вот такой глюк происходит если рапечатать данный кусок мануала на моем принтере http://www.drnona.biz.ua/_/4.3.jpg WinXP Home SP2, HP LJ 3330 Судя по всему траблы с кодировкой. З.Ы. Аналогичный глюк встречается только в MS Word-е 2K (причем на любой машине с WinXP) З.З.Ы. Если посылать TTF как растр то все путём. |
Автор: | Иван Горячев [ Среда, 27 Декабрь, 2006 03:15 ] |
Заголовок сообщения: | |
Да, кодировка. Часть текста набрана в юникоде. Как так получилось - надо спросить Илью |
Автор: | Trurl [ Среда, 27 Декабрь, 2006 10:19 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): 1) По поводу лицензии:
а) все это еще не окончательно, на период работ пока так и т.п. б) лицензия не противоречит лицензии ББ, т.к. мое ядро не использует модули ББ, наоборот - ББ может использовать мое ядро. Не то, чтобы я был ревнителем всяких там прав (у меня вот венда нелисиционная ) но, таки, противоречит. А п. а) не имеет значения. |
Автор: | O.Nick [ Среда, 27 Декабрь, 2006 11:54 ] |
Заголовок сообщения: | |
Повеселило "рекурсивное" импортирование SystemSynch и HostSynch. Идеологически выдержано. Другое дело, что при сборке без исходников можно на грабли наступить. Типа собрали свое приложение, а оно не работает т.к. не хватает HostSynch (линковщик это пропустит). |
Автор: | Илья Ермаков [ Четверг, 28 Декабрь, 2006 00:10 ] |
Заголовок сообщения: | |
Trurl писал(а): Илья Ермаков писал(а): но, таки, противоречит. А п. а) не имеет значения. В чем противоречит? GPL-лицензиия базируется на термине "использует". Ядро не использует для своей работы ничего. Как оно будет использоваться пользователями - это уже их дело. В частности, кликнув на командере, они могут собрать ActiveBB.exe, который уже будет загружать и Framework, и прочее - как и обычная среда, и пользователи обязаны соблюдать BB License. Но само ядро не обязано быть опен-соурс. |
Автор: | Trurl [ Четверг, 28 Декабрь, 2006 10:17 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): В чем противоречит?
1. Есть подозрение, что ядро основано на коде от ОМ. 2. Даже если ядро написано с нуля, распространять систему с его участием (в частности ActiveBB.exe) нельзя. |
Автор: | O.Nick [ Четверг, 28 Декабрь, 2006 11:34 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Ядро не использует для своей работы ничего. Это конечно придирки но ядро импортирует модуль System, котрый является частью BlackBox Component Builder.
В Component Pascal Language Report о нем не упоминается, соответственно тот факт что, это псевдомодуль - особенность реализации. А вообще на время бета-тестирования все это не актуально. Но в будующем, на мой взгляд, можно сделать исходники доступными по запросу. |
Автор: | Илья Ермаков [ Четверг, 28 Декабрь, 2006 11:59 ] |
Заголовок сообщения: | |
2Trurl: Система с его участием нами и не распространяется. Пользователь, использующий наше ядро, естественно, попадает под действие и лицензии АББ, и обычной лицензии АБ, и должен решать вопрос о распространении своей системы в обычном порядке с Оминк. По поводу кода "от ОМ" - если быть совсем дотошными, ядро не является в полной мере кодом от ОМ, большая часть ядра пришла с прежних Оберонов. Взгляните, например, на диспетчер памяти BlueBottle - и увидите тот же самый код. 2O.Nick: По поводу SYSTEM - это действительно придирки Факта загрузки в память чего-либо ранее ядра мы не наблюдаем, т.е. ядро абсолютно самодостаточно. Кстати, IMPORT National у нового ядра убран, дабы не плодить версии русскую/европейскую и т.п. Резюме: на время тестирования это, действительно, не актуальный вопрос. В дальнейшем все будет решаться в согласовании со швейцарскими коллегами из ОМ. Причина Freeware не в том, что мы делаем какие-то шаги к платности ББ - ActiveBB всегда будет бесплатным и всегда будет сохранять синхронность с основной веткой, а в том, что ведутся работы по развитию и применению ББ для серверных систем, в частности, построению на нем распределенной СУБД и т.п. - и вот в этих продуктах мы уже не можем завязываться на GPL. |
Автор: | O.Nick [ Четверг, 28 Декабрь, 2006 12:30 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Факта загрузки в память чего-либо ранее ядра мы не наблюдаем, т.е. ядро абсолютно самодостаточно. Настрочил пол страницы отписок, но потом решил не засорять эфир. Лучше это перенести в "Отвлеченные темы"
Так вот по существу. Что там слышно по многоядерным процессорам? |
Автор: | Илья Ермаков [ Четверг, 28 Декабрь, 2006 15:41 ] |
Заголовок сообщения: | |
Завтра, видимо, доберусь до Pentium-4, потрассирую, затем буду фиксить. К сожалению, основная рабочая машина - AMD1800+, многоядерных машин под рукой постоянно нет, хотя подумываю обзавестись. |
Автор: | Илья Ермаков [ Суббота, 30 Декабрь, 2006 15:04 ] |
Заголовок сообщения: | |
Тест на Hyperthreading в этот раз ничего не дал, хотя в процессе работы ранее кое-что обычно выявлялось, чего не было на обычном процессоре. Видимо, этот баг проявляется только на полной параллельности. После Нового года доберусь до многоядерной машины. Если у Вас есть желание помочь, то я мог бы выложить трассировочную версию ядра, а Вы скинули бы лог-файл для деадлочной ситуации. |
Автор: | O.Nick [ Вторник, 02 Январь, 2007 11:14 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Тест на Hyperthreading в этот раз ничего не дал, хотя в процессе работы ранее кое-что обычно выявлялось, чего не было на обычном процессоре. В том то и дело, что зависание происходило и на HyperThreading и на DualCore, а сейчас все работает .
Видимо, этот баг проявляется только на полной параллельности. P.S. Поменял модуль ObxAoRoomsModels на непропатченый (сообщение от Вт Дек 26, 2006 2:36 pm) - Получил зависание . P.P.S. А вообще BB довольно "грязно" работает с окружением. Если среда зависла и была снята через 3 пальца, то при повторном запуске какието анамалии начинают лезть. |
Автор: | Илья Ермаков [ Вторник, 02 Январь, 2007 12:22 ] |
Заголовок сообщения: | |
Ладно, спасибо большое за "баг-репорты", будем работать АББ делался недолго, всего 4 месяца, поэтому прошу не ругать и ногами не пинать... Скажите, еще вот что: в момент зависания Вы просматриваете информацию о потоках, т.е. пользуетесь окошками "Active Tasks", "Task Info" и т.п.? Потому что предположительно проблема именно там. В ядре достаточно сложный механизм доступа к информации о задачах, и много ошибок уже было исправлено. В самом модуле Ao виснуть нечему, и он принципиально не может завесить среду. Цитата: Если среда зависла и была снята через 3 пальца, то при повторном запуске какието анамалии начинают лезть.
Нет, у ББ никакой "хитрой работы с окружением" нет. Интересно, что за аномалии... Снимаете через Task Manager или просто через щелчок на X и Завершить сейчас..? В последнем случае зависший процесс АББ может остаться в памяти и создавать нагрузку на процессор, даже 100%. |
Автор: | O.Nick [ Вторник, 02 Январь, 2007 16:44 ] |
Заголовок сообщения: | |
Создается такое впечатление, что модули ББ при снятии задачи остаются в подвешаном состоянии в памяти (соостветственно со всей посмертной информацией), и при повторном запуске мы cново имеем неработоспособную систему. P.S. Process Explorer показывет что в зависшем ББ потоки продолжают засыпать/просыпаться. P.P.S. Что будет (чисто теоретически) если я все вызовы Ao.EXCLUSIVE заменю Ao.UPDATE ? |
Автор: | O.Nick [ Вторник, 02 Январь, 2007 16:47 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Скажите, еще вот что: в момент зависания Вы просматриваете информацию о потоках, т.е. пользуетесь окошками "Active Tasks", "Task Info" и т.п.? Потому что предположительно проблема именно там. В ядре достаточно сложный механизм доступа к информации о задачах, и много ошибок уже было исправлено.
Иногда использовал, но закономерностей не улавил. |
Автор: | O.Nick [ Вторник, 02 Январь, 2007 16:50 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Если у Вас есть желание помочь, то я мог бы выложить трассировочную версию ядра, а Вы скинули бы лог-файл для деадлочной ситуации. Можно попробовать. Моя почта есть в профиле.
|
Страница 2 из 5 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |