OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 11:06

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




Начать новую тему Ответить на тему  [ Сообщений: 82 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 03 Февраль, 2006 00:06 

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Не обязательно лично Вами. Вы ведь говорили о конкретном решении.

Возможно я неверно выразился. Я имел ввиду что такой механизм (такие механизмы) существуют и реализованы (много), но для ББ таких реализаций мне не известно. Я использовал подобный механизм реализованный на Модуле2, но там нет сборки мусора. За основу был взят интерфейс MPI (можно посмотреть http://parallel.ru/tech/tech_dev/mpi.html) но кастрированный (специализированное решение).
Тем не менее очевидно, что сборка мусора не является помехой для реализации механизма передачи сообщений.
Цитата:
Мой вопрос звучал: доступен ли его код.

Нет, ЕГО код не доступен (авторские права), но аналогичные решения есть в открытом доступе в интернете.
Цитата:
Относительно того чтобы модули инициализировались без привязки к глобальным переменным сомнительно что-то.

Имеются в виду межпотоковые глобалные переменные. Т.е. в каждом потоке свои копии глобальных переменных. На Модуле это было реализовано как "база" для локальных переменных - у каждого потока своя. Но я повторюсь: это специализированное решение, и для ББ надо использовать динамическое выделение памяти под локальные переменные в каждом потоке. В динамическом фреймворке как ББ это, по видимому, так и реализовано изначально.
Цитата:
P.S. Предлагаю называть память не участвующую в сборке мусора свободной. Коротко и ясно от чего.

Можно перепутать с особожденной (уже) или не использованной (еще). Может лучше что то типа независимой?


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

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

Давно уже предлагалось запускать для этого сразу несколько Блэкбоксов общающихся друг с другом хоть через TCP, хоть через общие файлы отображенные в память... Причем "вторичные Блэкбоксы", естественно, можно запускать без графического интерфейса (слинковать специальные безграфические версии).


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

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
С неиспользованной не перепутаешь, поскольку явно подразумевается её использование сборщиком. Что же касается освобожденной, то у неё нет основания для выделения в отдельную категорию вообще. Если её действительно освободили. Свободная ("несвязанная") явно указывает на отличие от противоположного состояния. Что в сущности и требуется от определения, по-моему.


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

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Свободная ("несвязанная") явно указывает на отличие от противоположного состояния.

Угу, "несвязанная" мне нравится, договорились ? :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 04 Февраль, 2006 02:43 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Сергей Губанов писал(а):
сразу несколько Блэкбоксов общающихся друг с другом хоть через TCP, хоть через общие файлы отображенные в память... Причем "вторичные Блэкбоксы", естественно, можно запускать без графического интерфейса (слинковать специальные безграфические версии).


Ну да. Юниксоиды тоже долго кричали: "нафига нам потоки как в винде, если у нас есть крутой fork". Однако во всех приличных юниксах потоки появились.


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

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Вообще-то есть термины связанная и свободная. А "несвязанная" я не встречал пока. Но если Вас неологизмы не пугают, то, пожалуйста, используйте на здоровье. Другой вопрос имеет ли она смысл в Component Pascal. Он ведь не Modula... :cry:


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

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Вообще-то есть термины связанная и свободная. А "несвязанная" я не встречал пока.

Можно ли узнать где распределенная (использованная, занятая) но не "связанная" (со сборщиком мусора) память называется "свободной". В имеющейся у меня литературе свободной называется НИКЕМ и НИЧЕМ не используемая в данный момент память. Именно это пересечение терминов мне и не нравится.
Цитата:
Но если Вас неологизмы не пугают, то, пожалуйста, используйте на здоровье.

Как раз пугают, поэтому и предлагаю поискать другой термин вместо "свободная".
Цитата:
Другой вопрос имеет ли она смысл в Component Pascal. Он ведь не Modula...

Раз есть в ББ псевдомодуль SYSTEM c "псевдоуказателями" SYSTEM.ADR, то и хочется как то КРАТКО обозначить то, на что они указывают, а не писать каждый раз развернутое предложение как в документации по ББ.

А вообще это не имеет прямого отношения к теме ветки :!: .


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

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Видимо все-таки не поняли. "Свободная" и "связанная" слова антонимы. Давать термин "свободная" не используемой в данной момент памяти, значит терять это противопоставление впустую. Хотя и не преступление, а обидно. Согласен, что хочется краткости - поэтому и высказал эту идею.
Если модератор сочтет полезным пусть уберет эту дискуссию куда-нибудь, где термины обсуждают. Мы остановились на взаимодействии стандартного и минимизированного BlackBox. Стандартный уже есть, а второй кто-нибудь писал уже?


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

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
"Свободная" и "связанная" слова антонимы. Давать термин "свободная" не используемой в данной момент памяти, значит терять это противопоставление впустую.

Я не против "антонимов" :wink:, просто имхо надо учитывать уже сложившиеся термины, а определение "свободной памяти" используется повсеместно именно в "моем" смысле, и может случиться просто путаница! Иное дело говорить о свободных указателях. Такого определения я вроде не встречал.

Цитата:
Если модератор сочтет полезным пусть уберет эту дискуссию куда-нибудь, где термины обсуждают.

На самом деле вопрос не праздный. Вопрос об определениях очень актуален для "нашего" ИТ. За многие годы "у нас" сложилиась собственная система понятий, плохо согласующаясь с "дословными" переводами "англоязычных документаций". Особенно при введении новых понятий...
Часто происходят именно пересечения терминов, с чем мне приходилось сталкивался в ранних (да и поздние тоже) версиях русскоязычного перевода стандарта ISO 15408.

Цитата:
Мы остановились на взаимодействии стандартного и минимизированного BlackBox. Стандартный уже есть, а второй кто-нибудь писал уже?

Конечно, для этого есть специальные средства о коих написано много документации. Самый простой способ - сделать свою сборку модулей со стандартным загрузчиком (в 87 кило). Однако можно и свой ЕХЕ сварить. Правда у меня самого такого опыта нет :( .


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

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Придумал как назвать. Автономная память. Нейтрально по отношению к её выделению, но в противопоставлении к общим механизмам управления. С указателями сложнее поскольку кроме самого их размещения присутствует и характеристика того, на что они указывают. Предлагаю называть свободными указателями псевдоуказатели, расположенные в автономной памяти.


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

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Автономная память. Нейтрально по отношению к её выделению

Ок. Вариант мне нравится. Договорились!
Цитата:
С указателями сложнее поскольку кроме самого их размещения присутствует и характеристика того, на что они указывают.

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

А все указывающие на автономную память - просто "псевдоуказатели", так ?


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

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
В смысле псевдоуказатели указывают только на автономную память? Это уже ограничение. Хотя в результате структура и проясняется. Давайте примем пока что псевдоуказатели могут адресовать что-угодно, а там посмотрим.


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

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
В смысле псевдоуказатели указывают только на автономную память? Это уже ограничение.

Конечно же, псевдоуказатели могут указывать на любую память. Вы абсолютно правы!

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


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

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
GUEST писал(а):
Придумал как назвать.


Назовите память неуправляемой (unmanaged) и указатели соответветственно. Сразу понятно о чем речь.


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

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Где только Вы видели неуправляемую память. Эта ветка и то под контролем. :lol:


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

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
GUEST писал(а):
Где только Вы видели неуправляемую память. Эта ветка и то под контролем. :lol:


Обыденное понятие из .NET.


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Vlad писал(а):
Ну да. Юниксоиды тоже долго кричали: "нафига нам потоки как в винде, если у нас есть крутой fork". Однако во всех приличных юниксах потоки появились.


В Блэкбоксе тоже появятся (когда ни будь). А вот пока они не появились, предлагается запускать несколько Блэкбоксов одновременно. От безысходности предлагается, а не потому что "так лучше". Ваш сарказм излишен.


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

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Как вы оперативно ответили, Vlad. Удивительно даже. В другое время ждешь - не дождешься.
Я впрочем не настаиваю. С точки зрения менеджера она действительно неуправляема им. Но в общем плане о неуправляемости говорить не приходится.
Мой вариант ("автономная") нейтрален. И в дальнейшем я буду использовать именно его.


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

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Цитата:
Назовите память неуправляемой (unmanaged) и указатели соответветственно.

Термин unmanaged - из другой системы понятий, и, как мне кажется, несколько неуместен в рамках оберон-подобных языков. Хотя базовые идеи положенные в основу .net и "оберона" пересекаются, но все же несколько различны. И термин unmanaged как раз из этой оперы. Программы на "обероне" не "управляются", они просто безопасны, что обеспечивается не фреймворком (как в .net), а синтаксисом языка. Отсутсвует и промежуточное языковое звено (IL ассемблер), так как нет необходимости поддерживать большое семейство родственных языков. Отсюда и большая, по сравнению с .net, производительность - нет необходимости "управлять" потенциально небезопасным кодом (отсутствуют лишние проверки).


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

Зарегистрирован: Суббота, 28 Январь, 2006 00:10
Сообщения: 52
Откуда: г. Киров
Интересно обсудить варианты интерфейса (и реализации тоже) для мезанизма обмена сообщениями. Все же хочется чегой-то простого, в стиле ББ. И сильно не хочется реализовывать что то вроде MPI (даже его подмножество)... Все же это больше для кластеров.

Из своего опыта могу констатировать, что организация очереди сообщений на основе объектов синхронизации видовс эффективнее использования стандартной очереди сообщений (отчасти в силу отсутствия "лишних" сообщений от винды). Кроме этого стандартная очередь начинает вести себя "плохо" при закрытии приложения...


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

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


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

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


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

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