Written on: 17. 12. 2009 [10:32]
|
almaz
Almaz Karimov
Contributor
Topic creator
registered since: 25.09.2008
Posts: 516
|
OpenSCADA использует UNIX формат времени. До 19 января 2038 года 03:14:08 можно не беспокоиться.
Вот выписка из вики:
19 января 2038 года в 03:14:08 по всемирному времени значение переменной типа time_t, отсчитывающей число секунд, прошедших с 1 января 1970 года, достигнет 2^31, что может привести к ошибочной интерпретации этого числа как отрицательного. Возможное решение данной проблемы состоит в использовании не 32-битной, а 64-битной переменной для хранения времени, чего хватит ещё на 300 миллиардов лет.
До 2038 года OpenSCADA может оказаться в каждой железке. Устанем потом обновлять прошивки систем даже если уязвимость будет устранена в исходниках.
Нельзя ли перейти на 64-битное время заранее? Например до версии OpenSCADA 1.00... Конечно ещё и linux надо перевести на такое время...
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Written on: 18. 12. 2009 [13:32]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
almaz wrote:
OpenSCADA использует UNIX формат времени. До 19 января 2038 года 03:14:08 можно не беспокоиться.
Вот выписка из вики:
19 января 2038 года в 03:14:08 по всемирному времени значение переменной типа time_t, отсчитывающей число секунд, прошедших с 1 января 1970 года, достигнет 2^31, что может привести к ошибочной интерпретации этого числа как отрицательного. Возможное решение данной проблемы состоит в использовании не 32-битной, а 64-битной переменной для хранения времени, чего хватит ещё на 300 миллиардов лет.
Уже, и давно.
"time_t" это производный тип за которым, например в Linux, стоит базовый тип "long int", который на x86_64 и является 64-разрядным.
Кроме того внутри OpenSCADA используется свой базовый тип для хранения времени, а именно "long long int", который всегда 64-разрядный и содержит ещё микросекунды, истечёт в 300 тысяч лет.
Learn, learn and learn better than work, work and work.
|