Нажмите "Enter", чтобы перейти к содержанию

Что такое thread: Что такое нити (threads)? / Хабр

Что такое нити (threads)? / Хабр

sysprg

Время на прочтение 3 мин

Количество просмотров 65K

Системное программирование *

Навеяно предыдущей статьей на эту тему.
Для того чтобы, структурировать свое понимание – что представляют собой threads (это слово переводят на русский язык как «нити» почти везде, кроме книг по Win32 API, где его переводят как «потоки») и чем они отличаются от процессов, можно воспользоваться следующими двумя определениями:

  • Thread – это виртуальный процессор, имеющий свой собственный набор регистров, аналогичных регистрам настоящего центрального процессора. Один из наиважнейших регистров у виртуального процессора, как и у реального – это индивидуальный указатель на текущую инструкцию (например, индивидуальный регистр EIP на процессорах семейства x86),
  • Процесс – это в первую очередь адресное пространство.
    В современной архитектуре создаваемое ядром ОС посредством манипуляции страничными таблицами. И уже во вторую очередь на процесс следует смотреть как на точку привязки «ресурсов» в ОC. Если мы разбираем такой аспект, как многозадачность для того, чтобы понять суть threads, то нам не нужно в этот момент думать о «ресурсах» ОС типа файлов и к чему они привязаны.
Очень важно понять, что thread – это концептуально именно виртуальный процессор и когда мы пишем реализацию threads в ядре ОС или в user-level библиотеке, то мы решаем именно задачу «размножения» центрального процессора во многих виртуальных экземплярах, которые логически или даже физически (на SMP, SMT и multi-core CPU платформах) работают параллельно друг с другом.
На основном, концептуальном уровне, нет никакого «контекста». Контекст – это просто название той структуры данных, в которую ядро ОС или наша библиотека (реализующая threads) сохраняет регистры виртуального процессора
, когда она переключается между ними, эмулируя их параллельную работу. Переключение контекстов – это способ реализации threads, а не более фундаментальное понятие, через которое нужно определять thread.
При подходе к определению понятия thread через анализ API конкретных ОС обычно вводят слишком много сущностей – тут тебе и процессы, и адресные пространства, и контексты, и переключения этих контекстов, и прерывания от таймера, и кванты времени с приоритетами, и даже «ресурсы», привязанные к процессам (в противовес threads). И все это сплетено в один клубок и зачастую мы видим, что идем по кругу, читая определения. Увы, это распространенный способ объяснять суть threads в книгах, но такой подход сильно путает начинающих программистов и привязывает их понимание к конкретике реализации.
Понятное дело, что все эти термины имеют право на существование и возникли не случайно, за каждым из них стоит какая-то важная сущность. Но среди них нужно выделить
главные и второстепенные
(введенные для реализации главных сущностей или навешанные на них сверху, уже на следующих уровнях абстракции).
Главная идея thread – это виртуализация регистров центрального процессора – эмуляция на одном физическом процессоре нескольких логических процессоров, каждый из которых имеет свое собственное состояние регистров (включая указатель команд) и работает параллельно с остальными.
Главное свойство процесса в контексте этого разговора – наличие у него своих собственных страничных таблиц, образующих его индивидуальное адресное пространство. Процесс не является сам по себе чем-то исполнимым.
Можно говорить в определении, что «у каждого процесса в системе всегда есть по крайней мере один thread». А можно сказать иначе –адресное пространство
логически лишено смысла для пользователя
, если оно не видно хотя бы одному виртуальному процессору (thread). Поэтому логично, что все современные ОС уничтожают адресное пространство (завершают процесс) при завершении работы последнего thread, работающего на данном адресном пространстве. И можно не говорить в определении процесса, что в нем есть «по крайней мере, один thread». Тем более, что на нижнем системном уровне процесс (как правило) может существовать как объект ОС даже не имея в своем составе threads.
Если Вы посмотрите исходники, например, ядра Windows, то Вы увидите, что адресное пространство и прочие структуры процесса конструируются до создания в нем начальной нити (начальной thread для этого процесса). По сути, изначально в процессе не существует threads вообще. В Windows можно даже создать thread в чужом адресном пространстве через user-level API…
Если смотреть на thread как на виртуальный процессор – то его привязка к адресному пространству представляет собой загрузку в виртуальный регистр базы станичных таблиц нужного значения. 🙂 Тем более, что на нижнем уровне именно это и происходит – каждый раз при переключении на thread, связанную с другим процессом, ядро ОС перезагружает регистр указателя на страничные таблицы (на тех процессорах, которые не поддерживают на аппаратном уровне работу со многими пространствами одновременно).

Теги:

  • threads
  • processes
  • процессы
  • нити
  • потоки
Хабы:

  • Системное программирование

Всего голосов 53: ↑41 и ↓12 +29

Комментарии 45

sysprg @sysprg

Пользователь

Потоки и работа с ними

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья

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

Процессы и потоки

Процесс — это исполнение программы. Операционная система использует процессы для разделения исполняемых приложений. Поток — это основная единица, которой операционная система выделяет время процессора. Каждый поток имеет приоритет планирования и набор структур, в которых система сохраняет контекст потока, когда выполнение потока приостановлено. Контекст потока содержит все сведения, позволяющие потоку безболезненно возобновить выполнение, в том числе набор регистров процессора и стек потока. Несколько потоков могут выполняться в контексте процесса. Все потоки процесса используют общий диапазон виртуальных адресов. Поток может исполнять любую часть программного кода, включая части, выполняемые в данный момент другим потоком.

Примечание

Платформа .NET Framework предоставляет способ изоляции приложений в процессе с помощью доменов приложений. (Домены приложений недоступны в .NET Core.) Дополнительные сведения см. в разделе Домены приложений и потоки в статье Домены приложений.

По умолчанию программа .NET запускается с одним потоком, часто называемым основным потоком. Тем не менее она может создавать дополнительные потоки для выполнения кода параллельно или одновременно с основным потоком. Эти потоки часто называются рабочими потоками.

Цели применения нескольких потоков

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

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

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

Как использовать многопоточность в .NET

Начиная с .NET Framework 4, для многопоточности рекомендуется использовать библиотеку параллельных задач (TPL) и Parallel LINQ (PLINQ). Дополнительные сведения см. в разделе Параллельное программирование.

Библиотека параллельных задач и PLINQ полагаются на потоки ThreadPool. Класс System.Threading.ThreadPool предоставляет приложения .NET с пулом рабочих потоков. Также можно использовать потоки из пула потоков. Дополнительные сведения см. в разделе Управляемый пул потоков.

Наконец, можно использовать класс System.Threading.Thread, который представляет управляемый поток. Дополнительные сведения см. в разделе Использование потоков и работа с потоками.

Несколько потоков могут требовать доступ к общему ресурсу. Чтобы сохранить ресурс в неповрежденном состоянии и избежать состояния гонки, необходимо синхронизировать доступ к нему потоков. Вы также можете координировать взаимодействие нескольких потоков. Платформа .NET предоставляет ряд типов для синхронизации доступа к общему ресурсу или координации взаимодействия потоков. Дополнительные сведения см. в разделе Обзор примитивов синхронизации.

Исключения следует обрабатывать в потоках. Необработанные исключения в потоках, как правило, приводят к завершению процесса. Дополнительные сведения см. в статье Исключения в управляемых потоках.

См. также

  • Объекты и функциональные возможности работы с потоками
  • Рекомендации по работе с потоками
  • Процессы и потоки
  • Параллельная обработка в .NET
  • Шаблоны асинхронного программирования в .NET

Thread в операционной системе — GeeksforGeeks

Внутри программы Thread — это отдельный путь выполнения. Это легкий процесс, который операционная система может планировать и запускать одновременно с другими потоками. Операционная система создает потоки и управляет ими, и они совместно используют ту же память и ресурсы, что и создавшая их программа. Это позволяет нескольким потокам сотрудничать и эффективно работать в рамках одной программы.

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

Зачем нам нить?

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

Почему многопоточность?  

Поток также известен как упрощенный процесс. Идея состоит в том, чтобы добиться параллелизма путем разделения процесса на несколько потоков. Например, в браузере несколько вкладок могут быть разными потоками. MS Word использует несколько потоков: один поток для форматирования текста, другой поток для обработки входных данных и т. д. Другие преимущества многопоточности обсуждаются ниже.

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

Дополнительные сведения см. в разделе Многопоточность в ОС.

Разница между процессом и потоком

Основное различие заключается в том, что потоки внутри одного и того же процесса выполняются в общей области памяти, а процессы выполняются в отдельных областях памяти. Потоки не независимы друг от друга, как процессы, и в результате потоки разделяют с другими потоками раздел кода, раздел данных и ресурсы ОС (например, открытые файлы и сигналы). Но, как и процесс, поток имеет свой собственный программный счетчик (ПК), набор регистров и пространство стека.

Дополнительные сведения см. в разделе «Разница между процессом и потоком».

 

Преимущества потока

  • Отзывчивость : Если процесс разделен на несколько потоков, если один поток завершает свое выполнение, то его вывод может быть немедленно возвращен.
  • Более быстрое переключение контекста : Время переключения контекста между потоками меньше по сравнению с переключением контекста процесса. Переключение контекста процесса требует больше ресурсов ЦП.
  • Эффективное использование многопроцессорной системы : Если у нас есть несколько потоков в одном процессе, мы можем запланировать несколько потоков на нескольких процессорах. Это ускорит выполнение процесса.
  • Совместное использование ресурсов : Ресурсы, такие как код, данные и файлы, могут совместно использоваться всеми потоками процесса. Примечание. Стеки и регистры не могут быть разделены между потоками. Каждый поток имеет свой собственный стек и регистры.
  • Связь : Связь между несколькими потоками упрощается, поскольку потоки используют общее адресное пространство. в то время как в процессе мы должны следовать некоторым конкретным методам связи для связи между двумя процессами.
  • Увеличенная пропускная способность системы : Если процесс разделен на несколько потоков и каждая функция потока рассматривается как одно задание, то количество заданий, выполняемых в единицу времени, увеличивается, что увеличивает пропускную способность системы.

Типы резьб  

Резьбы бывают двух типов. Они описаны ниже.

  • Поток на уровне пользователя 
  • Поток на уровне ядра

Поток на уровне пользователя и поток на уровне ядра

Поток на уровне пользователя

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

Преимущества потоков уровня пользователя

  • Реализация потока уровня пользователя проще, чем потока уровня ядра.
  • Время переключения контекста меньше в потоке уровня пользователя.
  • Поток уровня пользователя более эффективен, чем поток уровня ядра.
  • Из-за наличия только счетчика программ, набора регистров и пространства стека он имеет простое представление.

Недостатки потоков пользовательского уровня

  • Нет координации между потоком и ядром.
  • Inc В случае ошибки страницы весь процесс может быть заблокирован.

Потоки уровня ядра

Потоки уровня ядра — это тип потока, который может легко распознавать операционную систему. Потоки уровня ядра имеют собственную таблицу потоков, в которой они отслеживают работу системы. Ядро операционной системы помогает в управлении потоками. Потоки ядра имеют более длительное время переключения контекста. Ядро помогает в управлении потоками.

Преимущества потоков уровня ядра

  • Содержит актуальную информацию обо всех потоках.
  • Приложения, которые блокируют частоту, должны обрабатываться потоками уровня ядра.
  • Всякий раз, когда какому-либо процессу требуется больше времени для обработки, поток уровня ядра предоставляет ему больше времени.

Недостатки потоков уровня ядра

  • Поток уровня ядра медленнее, чем поток уровня пользователя.
  • Реализация потока этого типа немного сложнее, чем потока пользовательского уровня.

Дополнительные сведения см. в разделе Разница между потоком уровня пользователя и потоком уровня ядра.

Компоненты потоков

Это основные компоненты операционной системы.

  • Пространство стека
  • Набор регистров
  • Счетчик программ

Вопросы GATE за предыдущий год

  • https://www. geeksforgeeks.org/gate-gate-cs-2011-question-16/
  • https:/ /www.geeksforgeeks.org/gate-gate-cs-2007-question-17/ 
  • https://www.geeksforgeeks.org/gate-gate-cs-2014-set-1-question-30/ 

Что такое Thread и как он поможет вашему умному дому?

По мере того, как новый стандарт умного дома Matter приближается к запуску, начинают развертываться подключенные устройства, построенные на технологии Thread — неотъемлемой части Matter. В прошлом году Eve, Nanoleaf, Schlage и Wemo выпустили гаджеты для умного дома, такие как датчики движения, лампочки, дверные замки, умные розетки и моторизованные жалюзи, работающие на Thread. Но что такое Нить и почему она важна для Материи?

Я встретился с тремя членами правления Thread Group, чтобы узнать, как этот «новый» протокол (на самом деле он существует с 2015 года) обещает решить многие из самых больших проблем умного дома: надежность, скорость, подключение и масштабирование. Я разговаривал с Вивидом Сиддхой, президентом Thread Group и директором по разработке программного обеспечения в Apple, Джонатаном Хуи, вице-президентом по технологиям Thread и главным инженером-программистом Google, и Суджатой Нейдиг, вице-президентом по маркетингу Thread и директором по маркетингу в Google. NXP.

Как вы могли заметить в этих биографиях, Thread, как и Matter, разрабатывается консорциумом конкурирующих компаний в индустрии умного дома. Только Нить началась гораздо раньше Материи. «В 2015 году несколько компаний собрались вместе и определили проблему в отрасли, и мы можем работать вместе, чтобы вывести решение на рынок», — говорит Нейдиг.

Эта проблема заключалась в том, как безопасно и просто подключить все различные устройства в потребительском умном доме. Решением, которое они придумали, был Thread, беспроводной протокол на основе IPv6, который мог создать «безопасную, надежную, надежную и простую в использовании сеть». Сегодня Thread управляется советом директоров, в который входят представители Google, Apple, Amazon, Samsung SmartThings, Qualcomm, NXP, Assa Abloy (владельцы Yale и August), Lutron и других.

Что такое Нить и почему она важна для Материи и умного дома?

Thread — это беспроводной протокол, специально созданный для устройств IoT. Он разработан, чтобы заставить их работать быстрее, иметь меньше точек отказа, потреблять меньше энергии и более эффективно взаимодействовать друг с другом.

Протокол ячеистой сети с низким энергопотреблением и низкой пропускной способностью, использующий радиотехнологию 802.15.4, Thread аналогичен существующим протоколам умного дома Zigbee и Z-Wave. Но в отличие от них, ему не нужен центральный хаб или мост. Вместо этого устройства Thread могут общаться друг с другом напрямую. Убрав посредника, Thread может работать быстрее, особенно в больших сетях.

Кроме того, в отличие от других протоколов умного дома с низким энергопотреблением, Thread основан на интернет-протоколе (IP), что означает, что он может напрямую подключаться к любому другому устройству на основе IP, например смартфонам, планшетам, компьютерам и маршрутизаторам Wi-Fi. . «Что делает его уникальным, так это то, что он был построен на базе IP, — говорит Нейдиг. «Мы используем тот же протокол, на котором работает Интернет, для работы на небольших устройствах».

Понимание сети потоков

На этой диаграмме показано, как устройства взаимодействуют в сети потоков. Кружки представляют конечные устройства, а пятиугольники — маршрутизаторы. Изображение: Open Thread

Любое устройство Thread, которое вы добавляете в свой умный дом, становится либо маршрутизатором, либо конечным устройством. Маршрутизатор — это устройство, подключенное к источнику питания, например лампочка или умная розетка.

Конечное устройство — это устройство с батарейным питанием, такое как датчик движения или дверной замок. Первый маршрутизатор в сети становится ведущим и может управлять другими маршрутизаторами. Если один Лидер выходит из строя, его работу может взять на себя другой Маршрутизатор.

Сеть Thread может поддерживать до 250 устройств, включая 64 маршрутизатора (32 активных одновременно). Он также может поддерживать несколько пограничных маршрутизаторов потоков. Они позволяют сети Thread подключаться к другим IP-сетям и являются постоянно включенными устройствами с подключением к Интернету, такими как умный динамик или маршрутизатор Wi-Fi.

Matter — это прикладной уровень, работающий в Thread. «Matter поддерживает как Wi-Fi, так и Thread для подключения устройств, а Thread обеспечивает надежную сетку, поэтому нет единой точки отказа», — объясняет Нейдиг.

Когда Matter появится позже в этом году, Thread будет протоколом, который будет использоваться для устройств с низкой пропускной способностью, таких как дверные замки и датчики движения, а Wi-Fi и Ethernet будут использоваться для нужд с высокой пропускной способностью, таких как потоковое видео с камера безопасности. Наконец, Bluetooth LE будет использоваться для подключения устройств к сети Matter.

Почему Thread является лучшим протоколом для умного дома, чем те, которые у нас уже есть?

«Thread был разработан с нуля, чтобы быть протоколом IoT с низким энергопотреблением, который поддерживает низкую задержку. В этом его цель», — говорит Хуэй. «Многие другие технологии [используемые в умном доме] были разработаны для оптимизации других приложений. Например, Bluetooth изначально разрабатывался как замена проводу. Thread был разработан для устройств, которые просто хотят спать в течение длительного времени, просыпаться, отправлять один пакет, а затем возвращаться в сон и сохранять заряд батареи как можно дольше».

Возможность прямой связи потока в сочетании с его способностью обрабатывать масштаб (более 250 устройств) означает меньшую задержку. Сравнительные тесты, проведенные Silicon Labs, показывают, что потоки перегружают Zigbee и Bluetooth в тестах на задержку, особенно в больших сетях с большим количеством устройств.

«Кроме того, сетка Thread [может работать] как маршрутизируемая сетка, что означает, что устройства заранее ищут наилучший маршрут к каждому другому устройству в сети», — говорит Хуэй. Эта эффективность напрямую выражается в снижении энергопотребления, а также уменьшении задержки. Как ячеистая сеть, Thread самовосстанавливается; если маршрутизатор (см. врезку) отключается от сети, его может восполнить другой, чтобы ваша сеть не вышла из строя.

На этой диаграмме показано, как устройства Matter с поддержкой Thread будут работать в домашней сети. Изображение: Thread Group

Действительно ли Thread устраняет потребность в каком-либо концентраторе или мосте?

«Да, хотя для соединения сети Thread с Интернетом требуется граничный маршрутизатор. Но это избавляет вас от использования разных мостов для [нескольких] устройств», — говорит Сиддха. Вместо этого любое устройство Thread может подключаться к любому пограничному маршрутизатору Thread независимо от производителя. Кроме того, в отличие от моста или концентратора, пограничный маршрутизатор потока не может видеть трафик, который он маршрутизирует, поскольку все коммуникации в сети потока зашифрованы.

Пограничный маршрутизатор потока не является выделенным устройством, таким как мост или концентратор. «Пограничный маршрутизатор — это функция, которую можно интегрировать в любое устройство, которое постоянно включено, например, в световые панели Nanoleaf, Apple TV или [a] HomePod Mini», — говорит Нейдиг.

Нужен ли граничный маршрутизатор для использования устройства Thread?

«Нет, вам не нужен пограничный маршрутизатор, чтобы устройства Thread могли общаться друг с другом. Но вам нужен пограничный маршрутизатор, если вы хотите, чтобы они общались с другими сетями в доме или в Интернете», — говорит Хуэй.

Интеллектуальные фонари Nanoleaf Lines также можно использовать в качестве бордюра Thread. Фото Дженнифер Паттисон Туохи

Будет ли Thread работать, когда интернет не работает?

«Да, устройства Thread будут. Сеть Thread не выйдет из строя, если Интернет отключится, потому что она ничего не делает в облаке», — говорит Хуэй. «Сеть самонастраивается, самовосстанавливается и даже самоуправляется. И все это делается на месте».

Какие конкретные продукты выигрывают от Thread? Он не предназначен для каждого продукта в умном доме, не так ли?

«Нет, это не так. И глядя на текущие варианты использования [умного дома], самый большой слон в комнате с точки зрения пропускной способности — это камеры», — говорит Сиддха. «Thread можно использовать для всех датчиков, но не для случаев использования с высокой пропускной способностью, таких как камеры. Камеры являются одними из немногих устройств IoT, которым требуется высокая пропускная способность. Thread может удовлетворить любой другой вариант использования датчика или аксессуара IoT».

Резьба специально разработана для небольших маломощных устройств — течеискателей, детекторов угарного газа и датчиков движения. Их можно оставить нетронутыми и неиспользованными в течение нескольких месяцев или более, но они должны надежно приводить в действие, когда это необходимо, и, что крайне важно, не должны разряжаться батареи. «Помимо датчиков, он также предназначен для приводов — таких вещей, как дверные замки, оконные шторы, лампочки, дюбели, водяные клапаны, термостаты, термостатические радиаторные клапаны, сирены сигнализации и т. д.», — говорит Сиддха.

Почему существует так много версий Thread? Есть Matter вместо Thread, HomeKit вместо Thread, Google/Weave over Thread, Open Thread и так далее.

«Это все один и тот же поток; это просто разные прикладные уровни, работающие поверх Thread», — говорит Хуэй. «На самом деле это один из ключевых моментов важности IP [in Thread]. Это та же сетевая технология; он может поддерживать несколько различных прикладных уровней одновременно. Matter over Thread — это просто еще один пример прикладного уровня над Thread».

Последний выпуск Thread 1.3.0 решает серьезную проблему, связанную с этими разными версиями, позволяя им взаимодействовать друг с другом. «Раньше у разных экосистем не было хорошего способа обмена учетными данными этой сети Thread друг с другом», — говорит Хуэй. «Это меняется».

Какие продукты Thread вы можете купить сегодня?

Дверные замки

Schlage Encode Plus Smart Wi-Fi Ригель 

Wi-Fi-маршрутизаторы

*Роутеры Eero Wi-Fi (Wi-Fi 5 и новее)

*Точки и маршрутизаторы Google Nest Wifi

Умные колонки

*Google Nest Hub Max

*Google Nest Hub (2-го поколения) 900 05

*Apple HomePod Mini

*Apple TV 4K (2-го поколения)

Интеллектуальное освещение

Интеллектуальный диммер Wemo (скоро)

Интеллектуальный выключатель света Wemo (скоро)

Контроллер сцены Wemo Stage 9000 5

Умная розетка Wemo

Выключатель света Eve (Европа)

Eve Energy

Лампа Nanoleaf Essentials A19

Световая полоса Nanoleaf Essentials

*Формы, линии, элементы Nanoleaf

Интеллектуальные датчики 9000 4

Eve Door & Window

Eve Монитор качества воздуха в помещении

Датчик протечки Eve Water Guard

Eve Weather

Другое

Eve Aqua

Контроллер радиатора Eve Thermo

Жалюзи Eve Motion

*Эти продукты представляют собой пограничные маршрутизаторы потоков

В сочетании с объявленными Apple и Google API для обмена учетными данными Thread между различными мобильными приложениями последний выпуск Thread — Thread 1.

3.0 — позволит пользователям иметь единую сеть Thread. в своих домах.

В версии 1.3.0, если в домашней сети есть Apple HomePod Mini, Google Nest Hub и маршрутизатор Eero Wi-Fi, все они могут действовать как граничные маршрутизаторы в сети с одним потоком. Это не так, как сегодня, и, вероятно, мы не увидим, как все устройства обновятся до Thread 1.3.0, пока не появится Matter этой осенью, говорит Хуэй.

Истоки Thread восходят к 2011 году и к первому термостату Nest. Почему потребовалось так много времени, чтобы его внедрили в умный дом? И почему так мало продуктов Thread?

«Вероятно, два или три года назад у Thread был переломный момент, когда и Google, и Apple придумали пограничные маршрутизаторы, — говорит Сиддха. «Тогда мы смогли, наконец, увидеть устройства Thread в действии. Включение [умного] выключателя света было буквально так же хорошо, как включение физического выключателя света. Раньше у людей не было такого опыта».

С появлением пограничных маршрутизаторов такие компании, как Eve и Wemo, которые ранее использовали Wi-Fi или Bluetooth, начали задумываться о смещении.

«Они увидели проблемы с [другими протоколами] и теперь, видя зрелость Thread, внедряют Thread в свои продукты и сознательно переключаются с другой технологии на Thread, чтобы получить преимущества надежного, безопасного и мгновенного управления. «, — говорит Нейдиг.

Однако до сих пор доступно очень мало устройств Thread (см. врезку), а некоторые из них — например, Nanoleaf Essentials A19лампочки — не будут совместимы с Matter, когда появится стандарт. Точно так же ряд продуктов Google с Thread, например дверной замок Nest x Yale, основаны на более ранних реализациях Thread и не поддерживают функции, необходимые для Matter.

Компания Amazon объявила, что ее смарт-динамик Echo (четвертого поколения) будет обновлен и станет пограничным маршрутизатором Thread.

Как насчет обратной совместимости? Если Thread был построен на Zigbee, нельзя ли обновить все Zigbee-устройства до Thread?

«Технически Zigbee работает на радио 802.15.4 так же, как и Thread. Таким образом, текущие продукты Zigbee могут быть обновлены до Thread», — говорит Нейдиг. «Но поскольку он основан на IP, у Thread другие требования к ресурсам, например к памяти. Если продукт создан с неправильной структурой ресурсов, его нельзя будет обновить».

Мост Philips Hue будет модернизирован для поддержки Matter, но его лампы останутся на Zigbee, а не на Thread. Изображение: Philips Hue

Можно ли модернизировать продукты, в которых сегодня используются концентраторы или мосты, такие как лампочки Philips Hue, до уровня, проходящего через концентратор или мост? Или придется менять отдельные лампочки?

«Одно из ограничений: достаточно ли памяти для аксессуаров — а не концентратора — для поддержки Matter over Thread», — говорит Сиддха. Если аксессуары не поддерживаются, продукт нельзя будет обновить до Thread через концентратор (но он может работать с Matter через Wi-Fi). «Это соображения, которые должны учитывать производители продукции», — говорит он. «Как правило, если что-то не сломано, люди не хотят это чинить».

Philips Hue уже работает почти со всеми экосистемами, и компания заявила, что будет поддерживать Matter через существующий мост, но не планирует заменять существующие лампы с питанием от Zigbee на лампы Thread.

«Я думаю, что в долгосрочной перспективе продукты естественным образом эволюционируют в [Thread]», — говорит Сиддха. Но он надеется, что каждая компания рассмотрит возможность внедрения Thread в свои существующие устройства, «потому что это просто быстрее доставляет нас к этой IP-магистрали [для умного дома]».

Как Thread and Matter будет работать с Apple HomeKit?

«HomeKit — это приложение, работающее в экосистеме Apple. Но использует Материю внизу», — говорит Сиддха. «Итак, у вас будет HomeKit на наших продуктах, поддерживающий аксессуары Matter и Thread. Тогда у нас будет свой собственный пользовательский интерфейс для HomeKit, точно так же, как у Google будет свой собственный. Мы ожидаем, что инновации произойдут на этом более высоком уровне».

HomeKit от Apple будет использовать новый стандарт Matter, а его HomePod Mini и Apple TV 4K (2-го поколения) работают как граничные маршрутизаторы Thread. Фото Дэна Сейферта / The Verge

Как Matter и Thread в конечном итоге принесут пользу умному дому?

«В течение многих лет компании, занимающиеся потребительским умным домом, пытались выделиться на основе имеющегося у них подключения [с какими платформами работало устройство]», — говорит Хуэй. «Это не то, что волнует потребителей. Они заботятся о крутых, забавных функциях. Стандартизация всех этих технологий подключения избавляет от сложностей, связанных с надежностью и мощностью. Это позволяет производителям продуктов сосредоточиться на новых и интересных функциях, которые действительно важны для потребителей».

«Поток … обеспечивает беспрепятственный доступ к домашней сети, по сути, делая домашнюю автоматизацию полной».

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *