OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 05:38

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




Начать новую тему Ответить на тему  [ Сообщений: 97 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 26 Декабрь, 2006 09:05 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Илья Ермаков писал(а):
...а семафоры реализованы на WinAPI.QueueAPC, смотрите HostSynch. Другого способа реализовать семафоры пользовательского режима я не знаю...


Самый правильный способ, это реализовать ядро ББ непосредственно поверх голого железа :D.


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

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Возьмётесь? ;)
Проще тогда уж компилятор Компонентного Паскаля и модули Блэкбокса для Bluebottle.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 26 Декабрь, 2006 10:47 
Аватара пользователя

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


На голом энтузиазме такую серьёзную задачу не осилить. Вот если мне на работе когда-нибудь удасться уговорить высокое начальство открыть новый проект... Пока что моё высокое начальство реально рассматривает только такие проекты, которые в общей сложности принесут прибыли порядка 0.5 - 1.0 миллиона долларов или больше. Я им столько денег в случае удачи проекта гарантировать не могу.


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Илья Ермаков писал(а):
2O.Nick:
в) по поводу "некорреляции" - так работают семафоры, а семафоры реализованы на WinAPI.QueueAPC, смотрите HostSynch. Другого способа реализовать семафоры пользовательского режима я не знаю... Хотя пока с "корреляцией" не разбирался вообще. Ближе к концу недели повожусь.
Похоже нашел. Дело не в реализации семафора. Иначе пример с буфером и простыми числами выдавал бы их на печать в непонятно какой последовательности (хотя скорее всего в правильной, там в функции расчета пауза встроина).

Ошибка похоже вот в этом месте (ObxAoRoomsModels):
Код:
  PROCEDURE (room: Room) Enter (r: Runner), NEW;
  BEGIN Ao.EXCLUSIVE;                                           (* ######### *)
    IF room.runner # r THEN
      WHILE room.runner # NIL DO Ao.AWAIT END;
      room.runner := r
    END
  END Enter;
Если поменять на UPDATE то всё работает как надо.


Последний раз редактировалось O.Nick Четверг, 28 Декабрь, 2006 12:35, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 26 Декабрь, 2006 18:10 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Вот такой глюк происходит если рапечатать данный кусок мануала на моем принтере
http://www.drnona.biz.ua/_/4.3.jpg
WinXP Home SP2, HP LJ 3330
Судя по всему траблы с кодировкой.

З.Ы. Аналогичный глюк встречается только в MS Word-е 2K (причем на любой машине с WinXP)
З.З.Ы. Если посылать TTF как растр то все путём.


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

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Да, кодировка. Часть текста набрана в юникоде.
Как так получилось - надо спросить Илью


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Илья Ермаков писал(а):
1) По поводу лицензии:
а) все это еще не окончательно, на период работ пока так и т.п.
б) лицензия не противоречит лицензии ББ, т.к. мое ядро не использует модули ББ, наоборот - ББ может использовать мое ядро.

Не то, чтобы я был ревнителем всяких там прав (у меня вот венда нелисиционная :) ) но, таки, противоречит. А п. а) не имеет значения.


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Повеселило "рекурсивное" импортирование SystemSynch и HostSynch. Идеологически выдержано. Другое дело, что при сборке без исходников можно на грабли наступить. Типа собрали свое приложение, а оно не работает т.к. не хватает HostSynch (линковщик это пропустит).


Последний раз редактировалось O.Nick Четверг, 28 Декабрь, 2006 12:34, всего редактировалось 1 раз.

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

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Trurl писал(а):
Илья Ермаков писал(а):
но, таки, противоречит. А п. а) не имеет значения.

В чем противоречит? GPL-лицензиия базируется на термине "использует". Ядро не использует для своей работы ничего. Как оно будет использоваться пользователями - это уже их дело. В частности, кликнув на командере, они могут собрать ActiveBB.exe, который уже будет загружать и Framework, и прочее - как и обычная среда, и пользователи обязаны соблюдать BB License. Но само ядро не обязано быть опен-соурс.


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Илья Ермаков писал(а):
В чем противоречит?

1. Есть подозрение, что ядро основано на коде от ОМ. ;)
2. Даже если ядро написано с нуля, распространять систему с его участием (в частности ActiveBB.exe) нельзя.


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Илья Ермаков писал(а):
Ядро не использует для своей работы ничего.
Это конечно придирки но ядро импортирует модуль System, котрый является частью BlackBox Component Builder.
В Component Pascal Language Report о нем не упоминается, соответственно тот факт что, это псевдомодуль - особенность реализации.

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


Последний раз редактировалось O.Nick Четверг, 28 Декабрь, 2006 12:33, всего редактировалось 1 раз.

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

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
2Trurl: Система с его участием нами и не распространяется. Пользователь, использующий наше ядро, естественно, попадает под действие и лицензии АББ, и обычной лицензии АБ, и должен решать вопрос о распространении своей системы в обычном порядке с Оминк.
По поводу кода "от ОМ" - если быть совсем дотошными, ядро не является в полной мере кодом от ОМ, большая часть ядра пришла с прежних Оберонов. Взгляните, например, на диспетчер памяти BlueBottle - и увидите тот же самый код.
2O.Nick: По поводу SYSTEM - это действительно придирки :-) Факта загрузки в память чего-либо ранее ядра мы не наблюдаем, т.е. ядро абсолютно самодостаточно. Кстати, IMPORT National у нового ядра убран, дабы не плодить версии русскую/европейскую и т.п.

Резюме:
на время тестирования это, действительно, не актуальный вопрос. В дальнейшем все будет решаться в согласовании со швейцарскими коллегами из ОМ. Причина Freeware не в том, что мы делаем какие-то шаги к платности ББ - ActiveBB всегда будет бесплатным и всегда будет сохранять синхронность с основной веткой, а в том, что ведутся работы по развитию и применению ББ для серверных систем, в частности, построению на нем распределенной СУБД и т.п. - и вот в этих продуктах мы уже не можем завязываться на GPL.


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Илья Ермаков писал(а):
Факта загрузки в память чего-либо ранее ядра мы не наблюдаем, т.е. ядро абсолютно самодостаточно.
Настрочил пол страницы отписок, но потом решил не засорять эфир. Лучше это перенести в "Отвлеченные темы"

Так вот по существу. Что там слышно по многоядерным процессорам?


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

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Завтра, видимо, доберусь до Pentium-4, потрассирую, затем буду фиксить. К сожалению, основная рабочая машина - AMD1800+, многоядерных машин под рукой постоянно нет, хотя подумываю обзавестись.


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

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Тест на Hyperthreading в этот раз ничего не дал, хотя в процессе работы ранее кое-что обычно выявлялось, чего не было на обычном процессоре.
Видимо, этот баг проявляется только на полной параллельности.
После Нового года доберусь до многоядерной машины.
Если у Вас есть желание помочь, то я мог бы выложить трассировочную версию ядра, а Вы скинули бы лог-файл для деадлочной ситуации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 02 Январь, 2007 11:14 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Илья Ермаков писал(а):
Тест на Hyperthreading в этот раз ничего не дал, хотя в процессе работы ранее кое-что обычно выявлялось, чего не было на обычном процессоре.
Видимо, этот баг проявляется только на полной параллельности.
В том то и дело, что зависание происходило и на HyperThreading и на DualCore, а сейчас все работает :( .

P.S. Поменял модуль ObxAoRoomsModels на непропатченый (сообщение от Вт Дек 26, 2006 2:36 pm) - Получил зависание :).
P.P.S. А вообще BB довольно "грязно" работает с окружением. Если среда зависла и была снята через 3 пальца, то при повторном запуске какието анамалии начинают лезть.


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

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Ладно, спасибо большое за "баг-репорты", будем работать :-)
АББ делался недолго, всего 4 месяца, поэтому прошу не ругать и ногами не пинать... :-)
Скажите, еще вот что: в момент зависания Вы просматриваете информацию о потоках, т.е. пользуетесь окошками "Active Tasks", "Task Info" и т.п.? Потому что предположительно проблема именно там. В ядре достаточно сложный механизм доступа к информации о задачах, и много ошибок уже было исправлено.
В самом модуле Ao виснуть нечему, и он принципиально не может завесить среду.
Цитата:
Если среда зависла и была снята через 3 пальца, то при повторном запуске какието анамалии начинают лезть.

Нет, у ББ никакой "хитрой работы с окружением" нет.
Интересно, что за аномалии...
Снимаете через Task Manager или просто через щелчок на X и Завершить сейчас..? В последнем случае зависший процесс АББ может остаться в памяти и создавать нагрузку на процессор, даже 100%.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 02 Январь, 2007 16:44 

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

P.S. Process Explorer показывет что в зависшем ББ потоки продолжают засыпать/просыпаться.

P.P.S. Что будет (чисто теоретически) если я все вызовы Ao.EXCLUSIVE заменю Ao.UPDATE ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 02 Январь, 2007 16:47 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Илья Ермаков писал(а):
Скажите, еще вот что: в момент зависания Вы просматриваете информацию о потоках, т.е. пользуетесь окошками "Active Tasks", "Task Info" и т.п.? Потому что предположительно проблема именно там. В ядре достаточно сложный механизм доступа к информации о задачах, и много ошибок уже было исправлено.

Иногда использовал, но закономерностей не улавил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 02 Январь, 2007 16:50 

Зарегистрирован: Среда, 16 Ноябрь, 2005 20:18
Сообщения: 37
Откуда: Украина, г.Киев
Илья Ермаков писал(а):
Если у Вас есть желание помочь, то я мог бы выложить трассировочную версию ядра, а Вы скинули бы лог-файл для деадлочной ситуации.
Можно попробовать. Моя почта есть в профиле.


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

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


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

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


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

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