OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 23 Октябрь, 2017 16:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 97 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Active BlackBox
СообщениеДобавлено: Среда, 20 Декабрь, 2006 18:57 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
По мануалу SUBJ должен ставиться на SP4, но при установке говорит, что kernel.* более старой версии чем имеется в системе. Обе сборки от 19.12.2006.
===================
Уже после установки понял в чем дело... Active BlackBox подменяет ядро Kernel на многопоточную версию т.е. хронологически он может быть и более старым, но технологически...

Ща сижу любуюсь новой цацкой. Всё о чем мечтал вроде есть, но документация требует доробртки.

(02.07.2011) модератор: см. http://oberoncore.ru/projects/abb


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ачепятки
СообщениеДобавлено: Четверг, 21 Декабрь, 2006 16:22 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Details.odc
Код:
PROCEDURE Visible (obj: ANYPTR; IN mod, type: ARRAY OF CHAR): BOOLEAN

Проверяет, имеет ли объект obj деталь типа mod.type. Учитываются все детали - и экспортированные, и неэкспортированные. Учитываются только экспортированные детали.

(вероятно ^c & ^v из предидущего абзаца)
=================================
Ao.odc
Код:
TYPE Stop

Стоп-переменные, используются для подачи сигнала остановки циклическим активностям, которые периодически опрашивают ShouldStop(). Возвращаемое значение является ИЛИ-комбинацией значения стоп-переменной и от наличия (*) стоп-сигнала Kenel.cShouldCompelete (**) для опрашивающего переменную потока.

(*) Что называется "читал, много думал". Может лучше выбросить кусочек или переформулировать?
(**) не хватает буквы.


Последний раз редактировалось O.Nick Пятница, 22 Декабрь, 2006 11:09, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 21 Декабрь, 2006 18:44 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4030
Откуда: Россия, Орёл
Хе-хе...

Обождите, сейчас автор изобретения из командировки вернется и все прояснит. Приедет к понедельнику по всей вероятности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Первые вопросы и первые глюки.
СообщениеДобавлено: Четверг, 21 Декабрь, 2006 19:22 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Как грит Process Explorer от Sysinternals ActiveBlackBox таскает с собой 9 процессов (просто BlackBox 1.5sp4 только 7 ;). раньше их вообще было только два (главный процесс и Ctrl+Breack), но я о другом - Shift+F12 вообще никого не показывает. Я так понимаю DevTaskMan.List выводит список только тех процессов которые созданы через сервисы (System)Ao?

Ну и мне первому наверно удалось завесить новую версию :)
Запустил демо с шариками, наплодил их штук 200 (тяжело подсчитать, но эффект воспроизводимый), сделал несколько комнат... и через 3-4 минуты завесил фреймворк. Т.е. шарики не шуволятся, в заголовке надпись (задача не отвечает), но окошки перерисовываются. Что характерно при снятии задачи и повторном зауске хоть ABB, хоть просто BB, имеем пустые висящие окна с нерабочими менюшками и так до перезагрузки компьютера..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 22 Декабрь, 2006 13:01 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Хм.. умудрился завесить с тремя шариками и одной комнатой. Во всех экспериментах один шарик собирался выйти из комнаты и по крайне мере два пытались войти.

И еще одно наблюдение. Порядок разблокировки не соответсвует порядку входа в комнату. Почти всегда разблокировка происходит как в стеке (последний пришел - первый вышел), но пару раз были исключения. Это не есть гуд, т.к. при большом кол-ве процессов возможна ситуация, когда один из них так и останится заблокированным.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 22 Декабрь, 2006 14:28 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4030
Откуда: Россия, Орёл
А сколько ядер у вас в процессоре? процессорах?

Да, кстати, не путайте процессы и потоки. Речь в системе идет о потоках.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 22 Декабрь, 2006 17:55 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8825
Откуда: Россия, Орёл
Подробно со всеми проблемами буду разбираться после возвращения из командировки, во вторник.

По поводу зависаний - да, в бета-версии есть еще неустранненые взаимоблокировки в ядре, которые проявляются только на многоядерных/гипертрединг-процессорах, буду доделывать.

Сейчас интересно в первую очередь мнение о введенных концепциях и т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 03:36 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
По-моему слишком сложно и сразу много всего. Я бы сначала сделал только многопоточные NEW/сборку мусора, да выделил в отдельный модуль процедуры управления потоками. А уж потом на это дело навешивал слабые указатели и "детали".
Что касается модуля Ao - ну прямо просится в псевдомодули.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Active BlackBox 1.5 beta
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 10:15 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Сейчас скачал дистрибутив. Там нет, собственно, самого файла BlackBox.exe - его самому надо компилировать?

-----

Слинковал сам:

DevLinker.Link
ActiveBlackBox.exe := National Kernel$+ Files HostFiles StdLoader
1 Applogo.ico 2 Doclogo.ico 3 SFLogo.ico 4 CFLogo.ico 5 DtyLogo.ico
1 Move.cur 2 Copy.cur 3 Link.cur 4 Pick.cur 5 Stop.cur 6 Hand.cur 7 Table.cur

При попытке выполнить что-либо, всё-равно ругается:
command error: object Kernel.Detail not found (imported from Details)

Т.е. ядро осталось старым. Чего-то я не понял как новое ядро залинковать в exe?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Active BlackBox 1.5 beta
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 10:31 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Сергей Губанов писал(а):
Сейчас скачал дистрибутив. Там нет, собственно, самого файла BlackBox.exe - его самому надо компилировать?


А, нашёл... Тот инсталлятор, что я скачал это на самом деле вовсе никакой не инсталятор. Инсталлировать надо как обычно и описано это в документе Docu/Active/General.odc


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Active BlackBox 1.5 beta
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 10:41 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Сергей Губанов писал(а):
А, нашёл... Тот инсталлятор, что я скачал это на самом деле вовсе никакой не инсталятор. Инсталлировать надо как обычно и описано это в документе Docu/Active/General.odc


А всё равно не работает. Установил SP4, поверх него записал Active, слинковал как описано в General, и всё-равно:

command error: object Kernel.ZeroRec not found (imported from DevTaskMan)

:?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 12:11 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Борис Рюмшин писал(а):
А сколько ядер у вас в процессоре? процессорах?

У меня P4 со включенным HT

Да, кстати, не путайте процессы и потоки. Речь в системе идет о потоках.


Эээ. Верно. Естественно о потоках.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Active BlackBox 1.5 beta
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 12:16 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Сергей Губанов писал(а):
А всё равно не работает. Установил SP4, поверх него записал Active, слинковал как описано в General, и всё-равно:

command error: object Kernel.ZeroRec not found (imported from DevTaskMan)
:?

А после компиляции и линковки запускаете ActiveBlackBox.exe?
А то я тоже в начале понять не мог в чем дело. Давно свои проекты не линковал - в среде удобней.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 12:48 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Вот я вижу исходного текста (System)Kernel (Активного) нет. А как же п.3. лицензионного соглашения с OMInc?


Последний раз редактировалось O.Nick Понедельник, 25 Декабрь, 2006 14:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 12:56 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Ivor писал(а):
По-моему слишком сложно и сразу много всего. Я бы сначала сделал только многопоточные NEW/сборку мусора, да выделил в отдельный модуль процедуры управления потоками. А уж потом на это дело навешивал слабые указатели и "детали".
Что касается модуля Ao - ну прямо просится в псевдомодули.


Ну для этого я так понимаю надо компилятор править, а это уже слишком.

Я бы описания опасных функций (отладка и прочее) передвинул в отдельный мануал, а в доках по модулям поставил бы в лучших традициях BB "used internally".

И до релиза больше ничего не добавлять!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Active BlackBox 1.5 beta
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 12:57 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
O.Nick писал(а):
А после компиляции и линковки запускаете ActiveBlackBox.exe?


Конечно.

Я нашёл как победить эту беду!!!
Надо сначала файлы из \System\Code и \System\Sym скопировать просто в \Code и \Sym, вот после этого слинковать, тогда заработает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Active BlackBox 1.5 beta
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 13:33 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Сергей Губанов писал(а):
O.Nick писал(а):
А после компиляции и линковки запускаете ActiveBlackBox.exe?


Конечно.

Я нашёл как победить эту беду!!!
Надо сначала файлы из \System\Code и \System\Sym скопировать просто в \Code и \Sym, вот после этого слинковать, тогда заработает.


А! Документированная Багофича! Так это у вас дублирование получилось. В \Code и \Sym обычно живут модули без подсистем. Плюс туда почемуто компилятся модули \System (точнее известно почему - у них префиксов нет). Получается перекрытие: вначале просматриваются эти папки, а потом \System\*\ .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Active BlackBox 1.5 beta
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 14:36 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
O.Nick писал(а):
Так это у вас дублирование получилось.


А, дошло!!! Надо было не копировать туда, а стереть от туда старый Kernel.*


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Ao & Многопроцессорные системы
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 15:02 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Проверил. Задал для BB соответствие одному процессору. Всё работает. Уже наверно час развлекаюсь, а дело стоит :D .
Но одна проблемка осталась. Вход / выход с эксклюзивный блок не коррелирует. Гдето пол минуты наблюдал как два шарика гонялись друг за другом, при этом остальные 59 стояли в очереди.

p.s. Ну точно стек.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 25 Декабрь, 2006 21:02 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 8825
Откуда: Россия, Орёл
2O.Nick:
1) По поводу лицензии:
а) все это еще не окончательно, на период работ пока так и т.п.
б) лицензия не противоречит лицензии ББ, т.к. мое ядро не использует модули ББ, наоборот - ББ может использовать мое ядро.
в) по поводу "некорреляции" - так работают семафоры, а семафоры реализованы на WinAPI.QueueAPC, смотрите HostSynch. Другого способа реализовать семафоры пользовательского режима я не знаю... Хотя пока с "корреляцией" не разбирался вообще. Ближе к концу недели повожусь.

2Ivor:
Постепенно было нельзя. Вынести API потоков из ядра также нельзя, т.к. сборщик мусора, обработчик трапов и т.п. не могут работать без доступа к информации о потоках. Процедуры ядра - не просто шлюзы к ВинАПИ, там целая прослойка - диспетчер задач.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 97 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2017, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB