OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 15:42

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




Начать новую тему Ответить на тему  [ Сообщений: 44 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
СообщениеДобавлено: Вторник, 16 Ноябрь, 2021 02:01 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
budden писал(а):
... TLS,...
Ну и хватит пока.

Если у вас есть активные объекты, вам не нужны никакие tls!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Ноябрь, 2021 13:44 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1557
Мотивационную часть обсудили на прошлой итерации, это просто записки по реализации, игнорируйте. Можно было бы в другом месте записать, но здесь место хорошее с т.з. искабельности. И кстати вроде пока не понадобилось (обошлось), хотя ещё посмотрим.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Январь, 2022 21:28 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 1557
Вот кстати, случайно попался пример, полезный тем, кто считает TLS ненужным в A2/ЯОС. Commands.GetContext
вызывает Objects.CurrentContext, который, в свою очередь, вызывает CurrentProcess и в нём читает поле context. Что это было? А было это то, что для передачи контекстов команд понадобился TLS, и вместо общего решения сделали костыль, добавив именно тот объект, который нужно было хранить в TLS, в сам механизм процессов. Когда кому-то понадобится такой же, но с перламутровыми пуговицами, он окажется в безвыходном положении.

Теперь аргументы про то, что TLS не нужен, становятся совсем несостоятельными, ибо есть контрпример, когда он понадобился создателям A2 и они его воплотили. Впрочем, я эти аргументы и раньше игнорировал.

Здесь приятно то, что там хранится обычный динамическиТипизированныйУкль/ANY, хотя в целом неочевидно, что это будет всегда работать, поскольку там же хранится и контекст сборщика мусора. Всё остальное в объекте процесс - это адреса. Т.е., процессы выглядят магией того же уровня, что и сам сборщик мусора, и не факт, что там объекты, живущие в куче, будут всегда жить нормально. То, что оно там находится, может означать, что оно там может находиться, но может означать то, что просто ещё не наступили на грабли с объектами, живущими на куче и в то же время являющимися полями объекта процесс. Всё же контекст - это особое дело, он обычно есть на стеке, если в данный момент выполняется команда. Поэтому не может возникнуть ситуация, что он останется только в объекте "процесс" и на нём можно будет подорваться (скажем, сборщик мусора его не заметит). Поэтому я (пока) не буду переделывать свою реализацию TLS, которая живёт в мире обычных сущностей, а не в мире высокой магии.

Тем не менее, пример использования TLS в A2 я привёл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 31 Декабрь, 2022 19:30 

Зарегистрирован: Пятница, 11 Январь, 2019 19:26
Сообщения: 293
Откуда: Russia
В общем, tls в WinAos стали использовать ради связи с внешним миром - например, внешний отладчик. Никакой ценности внутри а2 tls не пред,тавляет


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

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


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

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


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

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