Rtc что это в компьютере

Обновлено: 04.07.2024

int ioctl(fd, RTC_request, param);

ОПИСАНИЕ

Данное устройство представляет собой интерфейс к драйверам часов реального времени (RTC).

В большинстве компьютеров есть одни и более аппаратных часов, ведущих отчёт "обычного" времени. Они называются "часами реального времени" (Real Time Clock, RTC). Некоторые из них имеют батарею резервного питания для продолжения работы в периоды, когда компьютер выключен. В RTC часто встроены будильники и другие прерывания.

Все ПК i386 и системы с ACPI содержат RTC, которые совместимы с микросхемой Motorola MC146818 из первоначальной модели PC/AT. Сегодня такие RTC обычно встраивают в чипсет материнской платы (в южный мост), и они используют заменяемую резервную батарею (типа «таблетки»).

В системах, несовместимых с PC (например, встраиваемые системы, собираемые на процессоре "всё в одном"), используются другие варианты. Обычно, они не предоставляют таких возможностей, как RTC в PC/AT.

RTC и системные часы

Не нужно путать RTC с системными часами, которые представляют собой часы, реализованные в ядре программно и используемые для работы gettimeofday(2) и time(2), а также при указании временных меток файлов и т. п. Системные часы выдают секунды и микросекунды, начиная отсчёт от эпохи POSIX: 1970-01-01 00:00:00 +0000 (UTC) (в основном, реализуется на основе таймера прерываний ведя подсчёт «мигов» (jiffy) c частотой 100, 250 или 1000 Гц). То есть, предполагается, что они показывают обычное время как и RTC.

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

Назначение RTC

Из RTC можно читать или писать с помощью hwclock(8) или через вызовы ioctl, перечисленные ниже.

Помимо контроля даты и времени многие RTC также позволяют генерировать прерывания

* при каждом обновлении часов (т.е. раз в секунду); * через периодические интервалы с частотой, значение которой может быть любой степенью 2 в диапазоне от 2 Гц до 8192 Гц; * по достижению указанного времени будильника.

Каждый из этих источников прерываний можно включать или выключать независимо друг от друга. Во многих системах прерывание будильника можно настроить как событие пробуждения системы, для вывода системы из состояний пониженного энергопотребления таких как: ждущего режима (Suspend-to-RAM (STR), S3 в терминологии ACPI), спящего режима (hibernation, S4 в терминологии ACPI) или даже из "выключенного" состояния (S5 в терминологии ACPI). Но в некоторых системах RTC с резервной батареей не могут генерировать прерывания.

Устройство /dev/rtc (или /dev/rtc0, /dev/rtc1 и т.д.) можно открыть только один раз (до тех пор, пока не будет закрыто) и только для чтения. При вызове read(2) и select(2) вызывающий процесс блокируется до следующего приёма прерывания от RTC. После прерывания процесс может прочитать длинное целое, в котором наименее значимый байт содержит битовую маску типа произошедшего прерывания, а остальные 3 байта содержат количество прерываний, произошедших с последнего вызова read(2).

Интерфейс ioctl(2)

ФАЙЛЫ

/dev/rtc, /dev/rtc0, /dev/rtc1 и т.д.: специальные файлы символьных устройств RTC.

/proc/driver/rtc: состояние (первого) RTC.

ЗАМЕЧАНИЯ

Когда системное время ядра синхронизируется с внешним источником с помощью adjtimex(2), оно будет обновляться назначенным RTC с периодичностью каждые 11 минут. Для этого ядро на время отключает периодические прерывания; это может повлиять на программы, использующие RTC.

Эпоха RTC не имеет ничего общего с эпохой POSIX, которая используется только в системных часах.

Если год, согласно эпохи RTC и регистр года меньше чем 1970, то предполагается, что время на 100 лет позже, то есть, между 2000 и 2069 годами.

Некоторые RTC поддерживают значения «шаблона» в полях будильника, чтобы обеспечить поддержку сценариев, например периодические будильники, через первые 15 минут в начале каждого часа, или первый день каждого месяца. Но это непереносимо; переносимый код пользовательского пространства только ожидает единичное прерывание от будильника, и будет или отключать, или реинициализировать будильник после приёма.

Некоторые RTC поддерживают периодические прерывания с периодами кратными степени 2, а не дробной секунде; несколько будильников; программируемые выходные сигналы часов; энергонезависимую память; другие аппаратные свойства, для которых пока ещё не предусмотрено программного интерфейса.




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

Обзор таймеров в архитектуре PC

Источников времени в системе может быть несколько. Прикладные программы редко обращаются к каким-либо из них напрямую. Вместо этого используются всевозможные API, предлагаемые использованным языком программирования (например, C++11 &lt chrono &gt), средой исполнения (например, gettimeofday из POSIX или QueryPerformanceCounter на MS Windows), или даже системными вызовами используемой операционной системы.

Самой ОС также необходимо знать время и уметь отмерять его отрезки для планирования работы пользовательских потоков, учёта потреблённых ими ресурсов, профилировки производительности, управления энергопотреблением и т.п. При этом сама ОС работает напрямую с интерфейсами, предоставляемыми аппаратурой. Так как таймеров присутствует много, современные ОС умеют выбирать один «центрально» используемый в начале загрузки, исходя из своих представлений о «качестве» обнаруженных устройств (например, на некоторых системах часть таймеров может быть занесена в «чёрный список» из-за известных проблем в работе) или же настроек пользователя (параметр clocksource у ядра Linux и опции useplatformclock, tscsyncpolicy, disabledynamictick у BCDEDIT в Windows).
Опишу наиболее часто встречаемые устройства, являющиеся часами и таймерами в PC.

Общераспространённые

Часы реального времени (Real Time Clock, RTC) — источник текущей даты и времени для нужд ОС. Типичное разрешение этого таймера — одна секунда. Все системы, удовлетворяющие стандарту ACPI, имеют чип RTC, совместимый с Motorola MC146818, присутствовавшем в оригинальном IBM PC/AT с 1984 года. В современных системах RTC обычно интегрирован в набор системной логики южного моста на материнской плате (что означает довольно большую задержку при чтении). Энергонезависимость этого таймера обеспечивается специальной батарейкой. Принципы программирования RTC вызывают ностальгию по BCD-числам и проблеме Y2K.

Это удивительно, но первые системы IBM PC не имели в себе RTC. При каждом старте компьютера MS-DOS выдавала запрос на установку текущей даты и времени.
И даже в наше время не каждая вычислительная система способна хранить время между перезагрузками. Например, оригинальная RaspberryPi не имеет встроенного RTC (это было сделано для уменьшения стоимости), и правильная установка текущей даты/времени при загрузке системы зависит от синхронизации с сетевыми NTP-серверами.

Programmable Interval Timer (PIT) 8253 или 8254 от Intel — стандартный счётчик и таймер, имеющийся в PC с самого начала существования этой платформы (1981 год). Как и RTC, изначально был отдельной микросхемой, а ныне является частью системной логики. Довольно интересное устройство, содержащее три таймера (хотя последние два всегда были зарезервированы под задачи обновления ОЗУ и работу PC-спикера соответственно) и позволяющее запрограммировать их в различные режимы: периодические прерывания, однократное (one-shot) прерывание по таймауту, меандр и т.д.

Первый канал PIT до сих пор может использоваться ОС как источник прерываний для работы вытесняющего планировщика задач. Однако по современным меркам он не очень удобен в работе: низкая частота осциллятора 1193181,8 Гц (странное значение — это историческое наследие от частоты развёртки NTSC), ширина счётчика всего 16 бит (частое переполнение) при ширине регистров статуса и команд всего в восемь бит (т.е. приходится передавать или читать значение по частям), да и доступ к регистрам через медленный и негибкий механизм PIO (команды IN/OUT процессора).

Local APIC (advanced programmable interrupt controller), встроенный во все современные процессоры Intel (начиная с архитектуры P54C) и который в своём составе имеет ещё и таймер. Более того, каждый логический процессор имеет свой собственный LAPIC, что может быть удобно для выполнения работы, локальной для текущего ядра, без необходимости управления ресурсами. Однако, данное устройство не имеет фиксированной известной частоты; последняя скорее привязана к частоте ядра. Поэтому перед использованием программе необходимо её вычислить (калибровать), а для этого нужно дополнительное референсное устройство. Режимы, поддерживаемые LAPIC: однократное прерывание, периодические прерывание, и период, определяемый TSC.

Таймер в составе ACPI, почему-то называемый Performance Monitoring Timer (PMTIMER) — ещё одно устройство, которое поддерживается всеми системами, реализующими стандарт ACPI, с 1996 года. Данный таймер имеет частоту 3.579545 МГц, ширина регистра-счётчика может быть 24 или 32 бита. Сам таймер всегда активен при включенном питании системы и не зависит от режима работы центрального процессора.

High Precision Event Timer (HPET) — устройство, созданное как замена устаревшему PIT. Согласно стандарту, HPET должен содержать осциллятор, работающий с фиксированной частотой по крайней мере в 10 МГц, величину которой можно программно прочитать из его статусного регистра, и монотонно увеличивающий значение счётчик шириной в 64 бита. Также он должен содержать минимум три компаратора шириной в 32 или 64 бита, которые и используются для генерации прерываний по истечении запрограммированных периодов времени. Как и PIT, он способен работать в периодическом режиме или в режиме однократного прерывания. При этом метод его программирования (MMIO вместо PIO) удобнее и быстрее, чем у PIT, что вместе с повышенным разрешением, позволяет задавать интервалы более точно и с меньшей задержкой. Требуемая стабильность генератора равна 0,05% для интервалов длиннее 1 мс и 0,2% для промежутков короче 100 мкс; много это или мало — зависит от приложений.

Несмотря на то, что HPET уже давно присутствует в PC (с 2005 года), операционные системы не торопятся начать его использовать. Частично это вызвано не самым удобным способом задания интервалов с помощью возрастающего счётчика вместо убывающего — из-за немгновенности операций существует риск «не успеть» и задать событие в прошлом. Зачастую ОС используют таймер из APIC или PMTIMER, или же функциональность TSC, использующую такты процессора в качестве источника времени.

Трудная судьба инструкции RDTSC

История TSC достаточно интересна и поучительна, чтобы остановиться на ней подольше.
Сама идея очень прозрачная — использовать в качестве источника времени сам процессор, а точнее его тактовый генератор. Текущий номер такта сохраняется в регистре TSC (timestamp counter).
С помощью TSC можно как узнавать время от начала работы, так и замерять интервалы времени с помощью двух чтений. TSC также работает как будильник в связке с APIC в режиме TSC deadline.

  • RDTSC (Read TimeStamp Counter — прочесть метку времени) появилась в Intel® Pentium™. Она записывает в пару регистров EDX:EAX 64-битное число тактов, прошедших с момента последнего включения питания/перезагрузки текущего ядра процессора. В отличие от всех ранее описанных устройств, которые доступны только привилегированному коду, RDTSC по умолчанию может исполняться на любом уровне привилегий (хотя ОС может динамически отключить поддержку RDTSC в пользовательском режиме, и тогда она будет вызывать исключение).
  • RDMSR [0x10] — чтение модель-специфичного регистра (MSR) IA32_TIMESTAMP_COUNTER также возвращает текущее TSC. Данная инструкция допускается только в привилегированном режиме, и некоторые ОС активно используют именно её для чтения TSC (хотя лично мне непонятно, почему). Полезное свойство состоит в том, что через MSR значение TSC можно не только читать, но и изменять, используя инструкцию WRMSR.
  • RDTSCP — Наличие её можно установить, проверив соответствующий лист CPUID. О двух её отличиях от RDTSC будет сказано чуть ниже.

Что ж, TSC — вполне естественная штука с простой логикой и простым сценарием использования, которая должна обладать многими полезными свойствами: высокое разрешение (один такт ЦПУ), низкая задержка при чтении (десятки тактов), редкие переполнения (64-битного счётчика должно хватать минимум на 10 лет), монотонность чтений (ведь счётчик всегда увеличивает своё значение), равномерность (процессор всегда работает), согласованность с другими таймерами (при старте системы можно выставить нужное значение записью в MSR).
Разве что-то могло пойти не так? На пути к успешному использованию TSC в качестве основного средства измерения времени в PC встала последующая эволюция процессоров. Новые возможности, появившиеся в процессорах после Pentium, «испортили» RDTSC и много лет мешали использовать её как основной таймер в популярных ОС. Так, в 2006 году один из Linux-разработчиков Ingo Molnar писал:

Мы наблюдали, что в течение 10 лет ни одной реализации gettimeofday, основанной на TSC и работающей в общем случае, не было написано (а я написал первую версию для Pentium, так что и я в этом повинен), и что лучше мы обойдёмся без неё.

We just observed that in the past 10 years no generally working TSC-based gettimeofday was written (and i wrote the first version of it for the Pentium, so the blame is on me too), and that we might be better off without it.

Отмечу, что со временем в архитектуру IA-32 вносились коррективы, устранявшие проявившиеся недостатки, и в настоящий момент TSC может (пока опять не сломали) быть использован в том качестве, в котором он задумывался.

  • Внеочередное исполнение (Out of Order Execution, OoO). Начиная с Intel® Pentium™ Pro (1995 г.), процессор может исполнять машинные инструкции в порядке, отличном от использованного в программе, или даже параллельно (если они не зависят друг от друга). Это означает, что исполнение RDTSC может быть задержано или, наоборот, выполнено раньше, чем того требует последовательный программный порядок. Из-за этого, например, невозможно понять, сколько каких инструкций исполнилось между двумя вызовами RDTSC — нельзя надёжно измерить длительность участка кода. В результате не гарантируется монотонность показаний.
    RDTSC не является инструкцией, сериализующей поток исполнения. Поэтому обычно используется «забор» из сериализующих команд вокруг неё, например, CPUID. Это, конечно, не выглядит очень изящно. В последующих обновлениях архитектуры появилась RDTSCP — инструкция, частично сериализующая поток исполнения, поэтому она не нуждается в дополнительных барьерах. У неё есть ещё одно хорошее свойство, но о нём чуть позже.
  • Управление энергопотреблением. Значение TSC увеличиваетсся каждый такт процессора. Всегда ли такт имеет один и тот же период, и всегда ли следующий такт следует сразу за предыдущим? Для Intel® Pentium™ это выполнялось. Для современных процессоров ответы на оба вопроса отрицательные. Процессор довольно значительную долю времени может быть приостановлен для экономии энергии (C-состояния). Исполняя инструкции, он может использовать динамическое изменение частоты для экономии энергии (P-состояния) или наоборот, для максимизации производительности (Turbo-состояния). Из этого следует, что просто счётчик тактов не будет обладать ни равномерностью, ни согласованностью.
    И для этой проблемы было представлено (начиная с Nehalem) решение в виде т.н. invariant TSC, темп изменения которого не зависит от C- и P-состояний отдельных ядер.
  • Многопроцессорность и многоядерность. В системе с несколькими потоками, ядрами или процессорами у каждого из логических процессоров будет свой TSC. Это создаёт не одну, а целых две сложности.
    Во-первых, значения, возвращаемые RDTSC на различных логических процессорах, могут оказаться сдвинутыми из-за неодновременности моментов инициализации ядер. Более того, из-за неустранимого дрейфа частот отдельных таймеров эта разница могла непредсказуемым образом флуктуировать в процессе работы.
    Во-вторых, перестаёт работать возможность надёжно измерять время в пользовательских приложениях. Без дополнительных ухищрений вроде прописывания affinity в любой момент программа может быть вытеснена с одного процессора и затем продолжена на другом. Если процесс, желающий измерить длительность между двумя событиями, в процессе работы был перемещён ОС с одного ядра на другое, два чтения RDTSC, выполненные им, не будут связаны.
    Для компенсации первой проблемы в последних поколениях процессоров для TSC заводится единый источник сигнала. Показания TSC со всех ядер при этом должны быть одинаковыми.
    Для устранения второго недостатка RDTSCP обладает ещё одним свойством, позволяющим пользовательскому приложению детектировать миграцию в процессе измерения интервала времени. Кроме значения TSC в EDX:EAX она возвращает значение отдельного модель-специфичного регистра IA32_TSC_AUX в ECX. Обе записи происходят атомарно, т.е. TSC и TSC_AUX всегда берутся с одного логического процессора. В начале работы ОС должна выставить уникальные значения TSC_AUX на всех процессорах системы. Совпадение считанных ECX для двух вызовов RDTSCP гарантирует, что они были выполнены на одном процессоре; в противном случае на разницу двух TSC полагаться нельзя, и измерение следует повторить. Вообще этот механизм может иметь и другие применения; например, с помощью него можно оповещать приложение не только о факте миграции, но и просто о вытеснении, также способном исказить результаты измерений времени. Вместо прикладных программ могут выступать и «привилегированные»: гипервизор Xen использует данный механизм для нотификации DomU систем о миграции между машинами.
Прочие устройства

Выше я описал наиболее часто распространённые и используемые устройства по определению времени. Конечно же, конкретные системы могут иметь дополнительные устройства, уникальные для процессора, интегрированной логики или даже в форме специализированных периферийных устройств (например, сверхточные атомные часы). Степень их доступности из программ зависит от того, существует ли драйвер для конкретного устройства в выбранной ОС. Так, пробежавшись по исходникам Linux, я нашёл как минимум ещё два поддерживаемых источника времени для сборок x86: устройство NatSemi SCx200 в системах AMD Geode, и Cyclone для систем IBM x440. К сожалению, в Интернете не очень много документации по ним.

  • PowerPC. Спецификации для 32- и 64-битных систем постулируют наличие регистра TB (time base) шириной в 64 бита, доступного на чтение пользовательским приложениям и на чтение/запись из супервизора. Изменения TB должны монотонно не убывать и не обязаны быть равномерными, а их частота зависит от реализации. Также из режима супервизора доступен 32-битный регистр DEC (decrementer), позволяющий программировать прерывание через промежуток времени. Его значение убывает до нуля с той же самой частотой, с которой возрастает TB.
  • ARM. В целом наличие средств измерения времени сильно зависит от выбранного семейства. На архитектуре ARM11 регистр CCNT может быть использован для чтения текущего номера такта; однако ширина его всего 32 бита, что означает переполнение примерно каждые 10 секунд на системе с частотой в 400 МГц. На системах Cortex M3 присутствует устройство Systick шириной 24 бита, а скорость его изменения специфицируется значением из регистра TENMS.
  • Intel ® IA-64 (Itanium). На данных системах в качестве счётчика тактов используется 64-битный регистр ar.itc (interval time counter). Для программирования периодов времени может использоваться набор регистров cr.itm (interval timer match), cr.itv (interval timer vector). Первый задаёт значение ITC, при котором сгенерируется прерывание, а второй определяет его номер.
  • SPARC v9. Архитектура подразумевает наличие 63-битного регистра TICK. Последний 64-й бит этого регистра контролирует, разрешено ли непривилегированному приложению читать время.

Заключение

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

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

У внутренних часов реального времени ПК есть утилита, которая выходит далеко за рамки показа времени на панели задач, и это означает, что, как мы буквально объясним ниже, ПК не мог бы работать без них. Почему? Мы сразу же подробно объясним вам это, но в качестве предварительного просмотра мы скажем вам, что без этих часов процессор ПК не знал бы, когда он должен выполнять вычисления.

Что такое часы реального времени или RTC и для чего они нужны?


Часы реального времени, также известные как RTC для его аббревиатуры на английском языке " часы реального времени «, Это компьютерные часы, обычно в виде интегральной схемы (на материнских платах это всего лишь один из множества микросхем), которые созданы с единственной целью - следить за временем. Естественно, он считает часы, минуты, секунды, месяцы, дни и даже годы.

RTC можно найти как в компьютерах (настольных и портативных), так и в интегрированных системах, серверах и любых электронных компонентах, имеющих процессор, поскольку для этих элементов требуется точный хронометр для их работы, как мы вскоре объясним. Очень важно иметь возможность продолжать работать, даже когда компьютер выключен или если батарея разряжена, поэтому обычно они носят с собой батарея в формате CR1220 или CR2032 что гарантирует автономную работу на долгие годы.

Часы реального времени вашего ПК должны иметь возможность точно отсчитывать время, даже когда устройство выключено, поскольку они часто используются в качестве триггера для включения устройства или для запуска таких событий, как будильники. В интегральных схемах старых систем используются литиевые батареи, в то время как в некоторых современных устройствах для этого используются вспомогательные батареи (например, батарея, о которой мы говорили) или даже суперконденсаторы. Микросхемы RTC, в которых используются суперконденсаторы, являются перезаряжаемыми и при желании могут быть припаяны, но, как мы уже упоминали сегодня, большинство из них используют батарею, которая при удалении сбрасывает RTC в исходную точку (и вам нужно вернуться, чтобы установить системное время) .

Módulo RTC

ИС RTC регулируют время с помощью кварцевого генератора, поэтому они не зависят от тактовых сигналов, как большинство аппаратных часов (например, CPU / ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР, который зависит от этих часов реального времени). Помимо функции синхронизации системы и ее часов, часы реального времени гарантирует, что все процессы в системе правильно синхронизированы, что важно для работы ЦП. Хотя некоторые могут возразить, что это работа внутренних системных часов, на самом деле это зависит от часов реального времени.

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

  • ИС RTC оказались более необходимыми, чем другие методы, такие как программирование таймера контроллера.
  • Это освобождает основную систему от критических задач по времени.
  • Он имеет низкое энергопотребление и практически идеальную стабильность частоты даже при низком заряде батареи.

Как работает RTC на ПК?

Диаграмма RTC

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

RTC обычно подключается к ЦП через Последовательная шина SPI или I2C , и может содержать ряд других функций, таких как резервная память, сторожевой таймер для отслеживания работы процессора или таймеры обратного отсчета для генерировать события в реальном времени . Некоторые RTC включают в себя выходы секундных или минутных прерываний и достаточно умны и автономны, чтобы учесть високосные годы .

Esquema RTC

Часы реального времени отсчитывают время, отсчитывая циклы генератор , обычно из кристалла кварца и работает на 32.768 кГц . Это позволяет RTC обнаруживать пульсации 50/60 Гц от источника питания или обнаруживать и накапливать переходы от тика устройства GPS. RTC, который делает это, работает как контур фазовой автоподстройки частоты (ФАПЧ), изменяя свое внутреннее опорное значение тактовой частоты, чтобы «синхронизировать» его с внешним сигналом. Если RTC теряет свое внешнее задание, он может снова обнаружить это событие (поскольку ФАПЧ выходит из строя) и работать автономно со своим внутренним генератором.

RTC, работающий по собственной внутренней ссылке, будет интегрировать предел погрешности связаны с абсолютной точностью эталонного кристалла и будут зависеть от ряда условий, в том числе температура . Кристаллы предназначены для работы в диапазоне температур от -10 ° C до 60 ° C, и их точность снижается, если температура отклоняется от этого диапазона.

Precisión cristal RTC

Некоторые RTC имеют встроенную температурную компенсацию, которая может расширить и повысить точность кварцевого генератора. Кристаллы также стареют, и это меняет их физическую природу, так что со временем они теряют точность. Типичные недорогие кристаллы, используемые в аппаратном обеспечении ПК, имеют допуск по частоте +/- 20 ppm (частей на миллион). Это означает, что кристалл с такой погрешностью может дрейфовать до 72 мс в час или 1.7 секунды в день, поэтому иногда потребуется калибровка.

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


Web Real-Time Communication (более известен как RTC) представляет собой стандарт, разрешающий передачу поточной информации в текущем режиме без браузерного дополнения с использованием технологии Р2Р (встроен в используемые сегодня web-браузеры).

Применяются видеокодеки VP8 и H.264 и 2 аудиокодека (G711 и OPUS). Данный стандарт позволяет пользователям эффективно взаимодействовать, на сайтах могут создаваться видео- и аудиочаты. Вроде как все ОК, отключать эту технологию нет смысла.

Поскольку коммуникации между пользователями установлены автоматом, то на использование протокола разрешение не требуется. Кроме того, с использованием VNP в браузере Opera, можно отметить:

  • при обычной проверке IP-адреса показывает только адрес VNP-сервера, а реальный адрес ПК остается неизвестным;
  • можно зафиксировать локальный IP-адрес компа (того же лэптопа).

В общем, вариант общения в режиме онлайн позволяет web-страницам получить большой объем идентифицирующей информации. Кстати, proxy здесь не помощник.

Когда Web RTC включен

Когда в строке «Browser Supports WebRTC (Either 1.0 or 1.1)?» высвечивает «Yep», то это говорит о том, что он активен.


На второй странице информация выкладывается на русском языке.


Когда появляется «Потенциальная утечка», это тоже говорит о включении технологии.

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

Дезактивация WebRTC в браузере Firefox

Легче это сделать на уровне браузера. Первым делом в строке вводят «about:config».


Далее выскакивает окно с предупреждением. Для подтверждения действия нажимают «Я обещаю быть осторожным».


Появляется список с настройками.


Находим строку «media.peerconnection.enabled» (можно найти через тот же «поиск», нажав Ctrl+F). Чтобы отключить, следует выставить «false».

Плагин WebRTC Control

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

Первым делом в настройках открываются дополнения.


В поиске ввести WebRTC Control (так называется сам плагин).

Возникает «добавить в firefox», ее активируют, чтобы сделать установку.

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

При этом нужно понимать, что стопроцентной защиты эти плагины не обеспечивают. В ряде случаев браузер допускает передачу идентификационных данных. И чтобы максимально защитить себя, можно применять плагин NoScript (вводит запрет на все скрипты в web-браузере). И еще более эффективным станет применение VPN (за счет создания отдельной сети IP-адрес становится недосягаемым).

Браузер Opera

Чтобы отключить технологию в Опере, следует зайти в галерею расширений.


Находим расширение, инсталлируем его (путем нажатия), после чего нажимаем «Добавить в Opera». Когда плагин в активном режиме, иконка синяя.

Кроме того, в Opera можно и по-другому дезактивировать технологию. Заходим в Меню, далее в Настройки, переходим в раздел Безопасность, активируем «Показать дополнительные настройки», в графе Web RTC ставим галочку напротив «Отключить непроксированный UDP».

Браузер Яндекс

Отключается аналогично Opera, используя WebRTC Control. Значок также при включении должен быть синего цвета.


Google Chrome

Здесь все немного труднее. Сам браузер не имеет вариантов блокировать эту технологию, в связи с чем потребуется скачать дополнение, одним из которых является WebRTC Block.

Кроме того, есть и Script Safe – одно из наиболее эффективных решений по предотвращению утечки сведений посредством рассматриваемой технологии. На первый взгляд, выглядит мудрено, но его стоит применить для дезактивации.

Есть и вариант использования плагина WebRTC Control. Переходим в «Расширения», далее нажимаем «Еще расширения», находим там искомое дополнение, и производим его установку. Иконка плагина должна быть синей.

Можно прибегнуть к плагинам WebRTC Leak Prevent или Easy WebRTC Block (работают аналогично WebRTC Control).

Установленный на телефоне Google Chrome

Отключение в Microsoft Edge и Internet Explorer

В первом по умолчанию поддерживается стандарт WebRTC. И блокировать технологию можно только частично, для чего:

  • в браузерной строке вводят about:flags;
  • выставляют галочку;
  • перезапускают браузер.

Во втором поддержки данной технологии нет, ввиду чего исключен вариант утечки идентификационных данных.

Safari на macOS

Для отключения заходим в браузерные настройки. В разделе «Дополнения» выставляем галочку на «Разработка в меню», затем выставляем галочку на Remove Legacy WebRTC API, чтобы блокировать WebRTC в Safari.

Safari на iOS

Снова идем в настройки. Находим внизу Safari, переходим в «Дополнения» и попадаем на Experimental Features. Чтобы блокировать технологию наживаем Remove Legacy WebRTC API.

Категории:

There is sometimes a need to gain anonymous access to commercial, informational or game resources. The optimal solution is to use a proxy server. It.

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

Использование прокси-сервера актуально для многих пользователей сети интернет. Востребованность в подобных услугах, платных и бесплатных, постоянно.

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

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

Партнерская программа

Партнерская программа позволяет вам зарабатывать 10% от всех платежей клиентов пожизненно, приведенных по вашей партнерской ссылке.

Читайте также: