Что значит ошибка системного времени

Что значит ошибка системного времени

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

Севшая батарейка CMOS

Часы на компьютере не прекращают отсчитывать время, даже когда устройство отключено от электрической сети. Питание CMOS обеспечивает плоская батарейка на материнской плате, обычно имеющая напряжение 3V. Она рассчитана на непрерывную работу в течение нескольких лет, но при включении компьютера зарядка элемента не производится. Поэтому, если источник питания сел, для нормальной работы часов требуется его замена.

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

Для замены элемента питания CMOS выполните следующие действия:

  1. Выключите компьютер.
  2. Отключите электропитание.
  3. Снимите боковую крышку системного блока.
  4. Найдите батарейку (обычно находится в правом нижнем углу материнской платы).
  5. Отвёрткой или другим предметом отогните металлический держатель.
  6. Вставьте новый элемент питания, соблюдая полярность (плюс расположен сверху).
  7. Закройте крышку системного блока и включите компьютер.
  8. При необходимости восстановите стандартные настройки BIOS.
  9. Установите корректные параметры времени.

Обратите внимание! Чтобы новый элемент питания подошёл, он должен иметь такую же маркировку, как и старый. Зачастую это CR2032, но могут использоваться также CR2016 и CR2025.

Время переводится вирусами или активаторами программ

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

Также часы могут переводить вредоносные программы. Если у вас на компьютере не установлен антивирус, скачайте любое бесплатное средство проверки, не требующее установки. Например, «Zillya», «Dr.Web CureIt» или «ESET Online Scanner». В последних версиях Windows также есть встроенный антивирус. Откройте «Защитник Windows», нажав на значок в трее. В правой колонке выберите тип сканирования и нажмите «Проверить сейчас». Доступные варианты проверки:

При первом сканировании компьютера рекомендуется выбирать полную проверку. Выбранный на предыдущем шаге режим определяет длительность процесса. Также на время проверки влияет быстродействие устройства и количество места на жёстком диске. Остановить поиск вирусов можно нажатием кнопки «Отменить проверку».

Важно! Перед запуском проверки не забудьте скачать актуальные антивирусные базы на вкладке «Обновить».

Полезное видео: Решение проблемы самопроизвольного сброса времени на компьютере

Неправильный часовой пояс

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

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

Совет! В зависимости от выбранного города, будут изменены настройки перехода на зимнее время. Чтобы они работали корректно, выбирайте города, расположенные в вашей стране.

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

Читайте также:  Установить ярлык интернета на рабочий стол

Однако, что могут означать 4 коротких звуковых сигнала, раздающихся при включении компьютера?

Разным типам BIOS соответствуют разные виды сигналов. Давайте рассмотрим три основных типа BIOS — AMI BIOS, AWARD BIOS, PHOENIX BIOS.

4 коротких сигнала для AMI BIOS – говорят о неисправности системного таймера. А у двух других типов BIOS и вовсе нет такого рода сигналов. Поэтому если при включении компьютера вы услышите 4 коротких сигнала, значит у вас AMI BIOS. Какие пути решения данной проблемы существуют?

  • Можно попробовать восстановить настройки BIOS по умолчанию, для того чтобы сбросить неверно установленные значения.
  • Поменять батарейку на материнской плате, в виду того что батарейка уже «усажена».

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

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

AMI BIOS сигналы

  • 1 короткий сигнал — проблем не обнаружено;
  • 2 коротких — неисправность оперативной памяти;
  • 3 коротких — неисправность оперативной памяти;
  • 4 коротких — неисправность материнской платы;
  • 5 коротких — неисправность центрального процессора;
  • 6 коротких — проблема с клавиатурой;
  • 7 коротких — неисправность материнской платы;
  • 8 коротких — проблема с памятью видеокарты;
  • 9 коротких — неисправен BIOS материнской платы;
  • 10 коротких — ошибки в микросхеме CMOS материнской платы или села питающая ее батарейка;
  • 11 коротких — ошибка кэша материнской платы;
  • 1 длинный + 1 короткий — неисправен блок питания;
  • 1 длинный + 2 коротких — проблема с видеокартой или разъемами оперативной памяти;
  • 1 длинный + 3 коротких — неисправна видеокарта или к разъемам материнской платы подключены неподдерживаемые модули ОЗУ;
  • 1 длинный + 4 коротких — нет видеокарты;
  • 1 длинный + 8 коротких — неисправна видеокарта или к ней не подключен монитор;
  • 3 длинных — неисправен один или несколько модулей оперативной памяти;
  • 5 коротких + 1 длинный — отсутствует оперативная память или модули ОЗУ установлены не правильно;
  • Постоянный звуковой сигнал — компьютер перегрелся, возникли проблемы с оперативной памятью или блоком питания.

Понятие времени в контексте ОСРВ была введена в одной из предыдущих статей, вместе с идеей о связанных со временем функциях, доступных в ОСРВ.

Тик таймера

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

Обработки таймерных прерываний

Прерывания, генерируемые аппаратным таймером, должны обслуживаться определенным образом в обработчике прерываний (англ. Interrupt Service Routine, ISR), в котором реализованы все функции ОСРВ, связанные со временем. Детали обработчика прерываний таймера в Nucleus SE будут рассмотрены в одной из следующих статей.

Функции, связанные со временем

Nucleus RTOS и Nucleus SE содержат несколько механизмов, связанных со временем:

  • Часы системных тиков (Tick clock): простой счетчик, который увеличивается с помощью обработчика прерываний таймера. Как в Nucleus RTOS, так и в Nucleus SE разрядность счетчика 32 бита, и у задач существуют механизмы для чтения и записи его значения. В Nucleus SE тактовый таймер опционален.
  • Программные таймеры (Application timers): как Nucleus RTOS, так и Nucleus SE поддерживают объекты таймеров. Их использование и реализация в Nucleus SE будет рассмотрена подробнее в следующей статье.
  • Планирование квантования времени (Time slice scheduling): в Nucleus RTOS задачи с одинаковым приоритетом обслуживаются по алгоритму Round-robin, но кроме этого можно использовать квантование времени. В Nucleus SE планировщик квантования времени является опциональным; это было подробно рассмотрено в предыдущих статьях (общее представление планировщика TS (Time slice) и о TS в Nucleus SE).
  • Приостановка задачи (Task sleep): Задача может приостановить себя («заснуть») на фиксированный период времени. Этот механизм уже был подробно описан ранее .
  • Таймауты вызовов API (API call timeouts): как в Nucleus RTOS, так и в Nucleus SE некоторые вызовы API позволяют приостанавливать задачу в ожидании доступности ресурса. Приостановка может быть неопределенной, либо, в случае Nucleus RTOS, может быть указан опциональный период таймаута (период ожидания). В Nucleus SE таймауты вызовов API не поддерживаются.
Читайте также:  Почему в гугл плей пишет произошла ошибка

Точность

А сейчас стоит вкратце рассказать о точности системного таймера.

Точность временных функций напрямую зависит от частоты тактового генератора. Например, если импульсы поступают каждые 10 миллисекунд, а задаче приложения необходима задержка в 100 миллисекунд, ей очевидно нужно 10 импульсов. Однако неизвестно, когда был получен предыдущий импульс: это могло произойти только что или почти 10 миллисекунд назад. Поэтому 100-миллисекундная задержка может занять вплоть до 110 миллисекунд.

Очевидный способ решения этой проблемы — повышение частоты генератора. Если импульсы следуют с интервалами в 1 миллисекунду, 100-миллисекундная задержка никогда не займет больше ста одной миллисекунды. Недостатком такого решения будет то, что обработчика прерываний таймера заберет в 10 раз больше процессорного времени, что будет чрезмерным. Разработчик системы должен найти баланс между необходимой точностью таймера и доступными мощностями процессора.

Настройка системного времени

Как и для большинства объектов Nucleus SE, настройка системного времени по большей части управляется директивами #define в файле nuse_config.h. Основным параметром является NUSE_SYSTEM_TIME_SUPPORT, который активирует механизм поддержки системного времени. Количество объектов указывать не нужно: системное время либо активировано, либо нет.

Выбор ненулевого значения является главным активатором системного времени. Этот параметр используется при определении структур данных, о которых будет подробно рассказано далее в этой статье. Кроме того, ненулевое значение активирует настройки API.

Активация API

Каждая функция API (служебный вызов) в Nucleus SE имеет активирующую директиву #define в файле nuse_config.h. Для системного времени такими символами являются:
NUSE_CLOCK_SET
NUSE_CLOCK_RETRIEVE

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

Ниже приведен фрагмент кода из файла nuse_config.h по умолчанию.

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

Служебные вызовы системного времени

Nucleus RTOS поддерживает два служебных вызова, которые относятся к системному времени и обеспечивают следующий функционал:

  • Установка значения системного времени. В Nucleus SE реализовано в функции NUSE_Clock_Set().
  • Получение значения системного времени. В Nucleus SE реализовано в функции NUSE_Clock_Retrieve().
Читайте также:  Расписание дня для 11 класса

Рассмотрим реализацию каждого из этих вызовов подробнее.

Служебные вызовы установки и получения системного времени

С системным временем можно выполнять только операции установки в заданное значение и получения текущего значения. Nucleus RTOS и Nucleus SE предоставляют по два базовых вызова API для реализации этих операций.

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

Установка времени

Любая задача может установить системное время при помощи вызова этой функции API.

Вызов для установки системного времени в Nucleus RTOS

Прототип служебного вызова:
VOID NU_Set_Clock(UNSIGNED new_value);

Параметры:
new_value – значение, которое будет присвоено системному времени

Возвращаемое значение: отсутствует.

Вызов для установки системного времени в Nucleus SE
Этот вызов API поддерживает основной функционал Nucleus RTOS API.

Прототип служебного вызова:
void NUSE_Clock_Set(U32 new_value);

Параметры:
new_value – значение, которое будет присвоено системному времени

Возвращаемое значение: отсутствует

Реализация установки времени в Nucleus SE
Код очень прост. Предоставленное значение записывается в NUSE_Tick_Clock внутри критической секции.

Получение системного времени

Задача может получить значение системного времени при помощи этой функции API.

Вызов для получения системного времени в Nucleus RTOS

Прототип служебного вызова:
UNSIGNED NU_Retrieve_Clock(VOID);

Возвращаемое значение: текущее значение системного времени

Вызов для получения системного времени в Nucleus SE
Прототип служебного вызова:
U32 NUSE_Clock_Retrieve(void);

Возвращаемое значение: текущее значение системного времени

Реализация получения времени в Nucleus SE
Код очень прост. Функция возвращает значение NUSE_Tick_Clock, полученное в критической секции.

Структуры данных

Системное время использует одну структуру данных (находящуюся в ОЗУ), которая представляет из себя 32-битное слово.

Настоятельно рекомендую, чтобы код приложения не использовал прямой доступ к этой структуре данных, а обращался к ней через предоставляемые функции API. Это позволит избежать несовместимости с будущими версиями Nucleus SE и нежелательных побочных эффектов, а также упростит портирование приложений на Nucleus RTOS. Подробная информация о структурах данных приведена ниже, чтобы упростить понимание работы кода служебных вызовов и для отладки.

Данные ОЗУ

Структура данных:
NUSE_Tick_Clock – переменная типа U32, в которой хранится счетчик тактов системного времени.

Эта структура данных инициализируется нулём функцией NUSE_Init_Task() при запуске Nucleus SE. Одна из следующих статей будет содержать полное описание процедур запуска Nucleus SE.

Данные ПЗУ

В ПЗУ нет структур данных, связанных с системным временем.

Объем памяти для системного времени

Как и у всех других объектов Nucleus SE, объем памяти, необходимый для системного времени, предсказуем.

Объем памяти в ПЗУ равен 0.

Объем памяти в ОЗУ (в байтах) всегда равен 4.

Нереализованные вызовы API

Все служебные вызовы API Nucleus RTOS, относящиеся к системному времени, имеют эквивалент в Nucleus SE.

Совместимость с Nucleus PLUS

Как и в случае со всеми другими объектами Nucleus SE, моей целью было обеспечение максимально возможной совместимости кода приложений с Nucleus RTOS. Системное время не является исключением и, с точки зрения пользователя, оно реализовано во многом также, как и в Nucleus RTOS. Вызовы API Nucleus RTOS могут быть напрямую перенесены на Nucleus SE.

В следующей статье мы рассмотрим программные таймеры.

Ссылка на основную публикацию
Чем чистить датчик абсолютного давления
ВСЁ СВОИМИ РУКАМИ 12.06.2018 . . После покупки Шевроле Лачетти оказалось, что эта первая моя машина, на которой был установлен...
Фото авы удаленного вк
Рабочий способ который на 100 процентов поможет вам вернуть и восстановить вашу удаленную фотографию в социальной сети вконтакте. Мы постарались...
Фото внутренностей айфон 6
Шаг 1 Время обзора iPhone 6! Давайте посмотрим на некоторые технические спецификации: Процессор Apple A8 с 64-битной архитектурой Копроцессор движения...
Чем хорош увлажнитель воздуха отзывы
у нас на работе стоял, попеременно двигали каждый к себе поближе, ибо да, с ним как-то лучше, мне лично глазам...
Adblock detector