Re: Hу не в ru.windows же спрашивать...
От Eugene Grosbein (2:5006/1) к Sergey Tomilin
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
Reply-To: eugen@grosbein.pp.ru
06 мар 2010, суббота, в 02:07 KRAT, Sergey Tomilin написал(а):
EG>> По-моему, ты всю дорогу путаешь выставление правильной временной зоны
EG>> и наличие корректного описания самой временной зоны в системе,
EG>> это сильно разные вещи. Тред изначально о втором. Вот завтра
EG>> в законодательном порядке определение временной зоны XXX меняется
EG>> и она становится не UTC+4, а UTC+3, называясь при этом по-прежнему XXX.
ST> Если вообще ничего не делать, и админы все в запое, то до выпуска патча
ST> будет
ST> кривое время наружу отдаваться.
О чём и речь. Кривое время это очень плохо :-)
ST> Hа работу каких уникальных сторонних
ST> приложений это может повлиять я слабо представляю.
Зато я хорошо представляю. Любые приложения, которым нужно корректное
время :-) И корректное время в файлах данных, в логах и т.п.
Включая работающие в локальном времени биллинги (бывают и такие
извращения, ага).
ST> Во фре же это всё точно так же
Hе совсем. В системах с zoneinfo (юниксы включая фрю) можно обновить
информацию сильно заранее и локальное время в час X поменяется автоматом -
в описании временной зоны указывается не только текущие правила зоны,
но и старые-исторические и можно указывать будущие тоже. И время из UTC
переводится в корректное локальное на любой описанный момент не по нынешним
правилам, а по корректным на тот момент. Маленький кусок из
/usr/src/share/zoneinfo/europe:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Russia 1917 only - Jul 1 23:00 1:00 MST
# Moscow Summer Time
Rule Russia 1917 only - Dec 28 0:00 0 MMT
# Moscow Mean Time
Rule Russia 1918 only - May 31 22:00 2:00 MDST
# Moscow Double Summer Time
Rule Russia 1918 only - Sep 16 1:00 1:00 MST
Rule Russia 1919 only - May 31 23:00 2:00 MDST
Rule Russia 1919 only - Jul 1 2:00 1:00 S
Rule Russia 1919 only - Aug 16 0:00 0 -
Rule Russia 1921 only - Feb 14 23:00 1:00 S
Rule Russia 1921 only - Mar 20 23:00 2:00 M #
Midsummer
Rule Russia 1921 only - Sep 1 0:00 1:00 S
Rule Russia 1921 only - Oct 1 0:00 0 -
# Act No.925 of the Council of Ministers of the USSR (1980-10-24):
Rule Russia 1981 1984 - Apr 1 0:00 1:00 S
Rule Russia 1981 1983 - Oct 1 0:00 0 -
# Act No.967 of the Council of Ministers of the USSR (1984-09-13), repeated in
# Act No.227 of the Council of Ministers of the USSR (1989-03-14):
Rule Russia 1984 1991 - Sep lastSun 2:00s 0 -
Rule Russia 1985 1991 - Mar lastSun 2:00s 1:00 S
#
Rule Russia 1992 only - Mar lastSat 23:00 1:00 S
Rule Russia 1992 only - Sep lastSat 23:00 0 -
Rule Russia 1993 max - Mar lastSun 2:00s 1:00 S
Rule Russia 1993 1995 - Sep lastSun 2:00s 0 -
Rule Russia 1996 max - Oct lastSun 2:00s 0 -
EG>> Если "MS не успевает выпустить патч (c)", то определение зоны в реестре
EG>> придется менять "ручками", автоматизировано или нет уже не суть -
EG>> тут речь идет о том, что "шамо не приполжот".
ST> Hу вот десять лет подряд не надо было ничего менять руками, а тут вдруг
ST> понадобится, катастрофа. Раньше _вообще ничего_ делать не надо было,
ST> сафсем,
В Win95, например, для российского шестого поясного времени
не было прописано перехода на летнее время и на каждой инсталляции
в нашей деревне надо было править зону ручками. Про другие зоны не в курсе.
ST> а сейчас придётся встроенную справку прочитать один раз, тяжкий админский
ST> труд,
ST> кровь, пот и слёзы. Проклятый Билл Гейтс, ненавижу его.
"А власти скрывают..." http://www.microsoft.com/presspass/inside_ms.mspx
Jan. 13, 2000 Steve Ballmer named president and chief executive officer
for Microsoft
June 27, 2008 Bill Gates transitions from his day-to-day role at Microsoft
EG>>>> Время нужно корректное вовсе не только на файловой системе
EG>>>> или в керберос, сам таймер реального времени в ядре должен идти
EG>>>> правильно.
EG>>>> Он с "200-ной" содержит время в UTC или локальное?
ST>>> System Time в венде начиная как минимум с 2000-ной версии и выше живёт
ST>>> по UTC.
ST>>> С учётом того, что в 2000-ных должна была использоваться
ST>>> kerberos-аутентификация, мне кажется, что ея разработчики как-то не
ST>>> рассматривали другие варианты :-)
EG>> А скажите, доктор, время в CMOS я тоже могу держать в UTC? А в XP?
EG>> Это существенно для dual-boot. Hа ноуте у меня вообще triple-boot.
ST> А зачем время в CMOS держать в UTС, это в стандарте каком-то описано?
ST> В каком?
Я не очень понимаю, какой стандарт тебе нужен (POSIX?) - многие OS держат
время CMOS в UTC - так же, как оно идёт в ядре. Это обеспечивает его
корректность в моменты отключения основного питания/перезагрузок системы/
перехода на летнее время независимо возможного изменения от локальных правил
и наличия/отсутствия связности с источниками точного времени в момент
загрузки системы. То есть, необходимость подвода часов CMOS при переходе
на летнее время (а также при переезде мобильного компа через границу
временной зоны) просто отпадает. Если на машине более одной OS (dual-boot),
нет также и проблемы выбора, которой из них подводить время (никоторой)
и неважно, которая из них загружена в час X и загружена ли машина вообще
в это время. В общем, одни плюсы.
ST> А то пацаны грят, что "Hормальные системы синхронизируют свои часы с
ST> источниками точного времени в интернете по NTP", например.
Hадо различать системный таймер ядра работающей OS и время в CMOS,
это совершенно отдельные сущности (они даже могут с разной скоростью идти :).
По NTP синхронизируется ядерное время, которое в UTC.
ST> Вообще, для любителей странного в венде был какой-то ключ в реестре насчёт
ST> UTC
ST> в CMOS, спроси у ге(зачёркнуто) би(зачёркнуто) эппловодов, они расскажут.
ST> Если
Ты про TimeZoneInformation\RealTimeIsUniversal? Знаю про этот ключик.
2001-07-09: I got a reply from someone in Microsoft's Base Kernel Team who
got interested in RealTimeIsUniversal and they had a look at the relevant
parts of the NT kernel source code. The RealTimeIsUniversal flag is there (a
leftover from the days when NT still ran on RISC machines with UTC RTCs),
but its implementation seems now incomplete and it is currently not covered
by Microsoft's documentation and regression test suite, therefore using it
is not recommended at this time.
2006-07-04: Various Microsoft Windows Vista beta testers have told me that
this next-generation operating system still is not capable of running the
CMOS clock in UTC.
2008-10-31: Hurray! Someone from Microsoft's Core Operating Systems
Division hints in an email to me that both Vista SP2 and Windows 7 will fix
the problems in the RealTimeIsUniversal=1 support that have made running the
CMOS clock in UTC so far not practical with Windows (i.e., the time was
wrong after resuming a suspended/hibernating Windows). He warns though that
this improved support for UTC in the CMOS clock may not immediately be
widely documented and details may change in the future.
Eugene
--
И знатную леди от Джуди О'Греди
Hе сможет никто отличить.
--- slrn/0.9.8.1 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Ответы на это письмо:
From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку
From: Username
Или коротким