Страниц: 1 2 [3] 4 5 ... 11
  Печать  
Автор Тема: Системное время, RTC, QNX и Win NT/2k  (Прочитано 85582 раз)
klalafuda
QOR.Team
****
Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #30 : Ноября 04, 2004, 08:56:15 am »

---cut---
1) Взять Watcom 11.0 beta под QNX4. с типом _int64
---cut---

сам компилятор взять можно. но есть одна маленькая проблема: уже всем надоевший libc лично я для 11.0 ее так и не нашел.

что получается при попытке использовать libc от 10.x с компилятором 11.x думаю описывать не нужно

---cut---
2) Взять Watcom 11.0 не бету под Windows и кросскомпилировать объектник под QNX4.
---cut---

аналогично

---cut---
3) Самому реализовать long long, если он мало используется, конечно - все реализовывается элементарно, кроме деления большого _int64 на большое _int64.
---cut---

ну как тебе сказать.. это достаточно кривой вариант

// wbr
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #31 : Ноября 04, 2004, 08:58:27 am »

mike
Strat - stratum, э... как бы это сказать? если 0 - то сервер сихронизируется с аппаратным источник времени, 1 - то сервер синхронизируется с сервером stratum 0, и .т.д

Ступень, уровень иерархии.

Кстати, stratum в ntpd реализован очень похабно - в зависимости от точности времени он может стать после 0 сразу 2 или 3 Виндовый сервис, кстати, такого себе не позволял.

И еще о похабности, глядя в код ntpd, а именно работа с девайсами под NMEA протоколом - я находил такие страшные вещи, что просто забил на весь этот слой поддержки GPS устройств в ntpd. И написал свой внешний обработчик NMEA протокола (благо он прост, но отличается от производителя к производителю) для верхушки со stratum 0.
Записан

mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #32 : Ноября 04, 2004, 09:01:15 am »

"mike"
Delay, Offset, Disp в миллискундах

извиняюсь, для ntpdc в секундах
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #33 : Ноября 04, 2004, 09:04:51 am »

klalafuda
сам компилятор взять можно. но есть одна маленькая проблема: уже всем надоевший libc  лично я для 11.0 ее так и не нашел.

Странно, у меня был весь и полный.

wait ...

ls -l /usr/watcom/11.0/usr/lib

beta3r.lib
beta3s.lib
clib3r.lib
clib3s.lib
emu387.lib
form3r.lib
form3s.lib
graph3r.lib
graph3s.lib
math387r.lib
math387s.lib
math3r.lib
math3s.lib
menu3r.lib
menu3s.lib
mqueue3r.lib
mqueue3s.lib
ncurses3r.lib
ncurses3s.lib
noemu387.lib
panel3r.lib
panel3s.lib
termcap3r.lib
termcap3s.lib
termlib3r.lib
termlib3s.lib
unix3r.lib
unix3s.lib

klalafuda
что получается при попытке использовать libc от 10.x с компилятором 11.x думаю описывать не нужно

Вроде работало со stack-based calls.
Записан

mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #34 : Ноября 04, 2004, 09:05:31 am »

"lestat"
Кстати, stratum в ntpd реализован очень похабно - в зависимости от точности времени он может стать после 0 сразу 2 или 3  Виндовый сервис, кстати, такого себе не позволял.

а вы ничего не путаете? стратум вроде постоянен. можно в код изменения стратума меня ткнуть?
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #35 : Ноября 04, 2004, 09:11:43 am »

mike
а вы ничего не путаете?

Я это видел своими глазами.
mike
стратум вроде постоянен

Да - постоянен. Я наверное неправильно выразился. Я имел в виду в иерархии серверов, когда нижний сервер запрашивает время у сервера со stratum 0, он может стать stratum 2 или 3, вместо того, чтобы быть 1. Я думаю что это скорее всего не бага - так для чего-то нужно. Но жизнь мне эта фича попортила окончательно, ибо вся иерархия серверов меняла свои stratum. Например stratum 6 - это фактически машина без правильного времени, у нее уже все отказываются брать время.
mike
можно в код изменения стратума меня ткнуть

Я в ntpd стараюсь не заглядывать без лишней надобности
Записан

klalafuda
QOR.Team
****
Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #36 : Ноября 04, 2004, 09:16:18 am »

---cut---
klalafuda
что получается при попытке использовать libc от 10.x с компилятором 11.x думаю описывать не нужно

Вроде работало со stack-based calls.
---cut---

библиотеки от 10.x со сборкой под 11.x и использованием long long ? "не верю!" (c).. по той простой причине, что поддержка long long в том числе зарыта в libc -> по понятным причинам в 10.x ею и не пахло -> unresolved reference. ессно независимо от регистровой или стековой модели передачи параметров.

ps: версией 11.x можно собрать проект с библиотеками от 10.x. я как-то собирал ради интереса. но только при условии, что вы не будете использовать 11.x specific features. long long в их числе. а без этих фич сам по себе 11.x нафиг никому не нужен

// wbr
Записан
mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #37 : Ноября 04, 2004, 09:20:12 am »

"lestat"
Да - постоянен. Я наверное неправильно выразился. Я имел в виду в иерархии серверов, когда нижний сервер запрашивает время у сервера со stratum 0, он может стать stratum 2 или 3, вместо того, чтобы быть 1. Я думаю что это скорее всего не бага - так для чего-то нужно. Но жизнь мне эта фича попортила окончательно, ибо вся иерархия серверов меняла свои stratum. Например stratum 6 - это фактически машина без правильного времени, у нее уже все отказываются брать время.

это не баг, а фича
если сервер стратума N теряет синхронизацию с источником, то он начинает синхронизироваться с другим источником времени стратума M, и меняет свой стратум с N на M-1
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #38 : Ноября 04, 2004, 09:31:35 am »

klalafuda
по той простой причине, что поддержка long long в том числе зарыта в libc -> по понятным причинам в 10.x ею и не пахло -> unresolved reference. ессно независимо от регистровой или стековой модели передачи параметров.


Да. только что собрал __int64*__int64 - идет вызов call __U8M в libc.

Но этот вызов и другие __int64 specific есть в моей libc.

Кстати эти вызовы можно подцепить как внешнюю библиотеку, по-моему что-то такое тогда было. Естественно opensource.

Но все равно это геморройно ... если не иметь Watcom 11.0 под QNX4 Кстати он не такой уж и бета - вполне себе нормальный компилятор.
Записан

lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #39 : Ноября 04, 2004, 09:35:22 am »

mike
если сервер стратума N теряет синхронизацию с источником, то он начинает синхронизироваться с другим источником времени стратума M, и меняет свой стратум с N на M-1

Он будет синхронизироваться только с тем серваком, который я ему укажу. Никакого своеволия там нет. Есть два независимых stratum 0 сервака на S/390 Если не один, так другой, если оба в дауне, то автопилот. Так что это немного не та ситуация.
Записан

klalafuda
QOR.Team
****
Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #40 : Ноября 04, 2004, 09:37:21 am »

---cut---
Да. только что собрал __int64*__int64 - идет вызов call __U8M в libc.
Но этот вызов и другие __int64 specific есть в моей libc.
---cut---

это означает только одно - у тебя libc от watcom 11.x

---cut---
Кстати эти вызовы можно подцепить как внешнюю библиотеку, по-моему что-то такое тогда было. Естественно opensource.
---cut---

не знаю, лично я не видел таких "расширений" к libc для 10.x. скорее уж нормальная libc для 11.x, которую QSS пустила в бета-тестирование вместе с watcom 11.x, но как продукт так никогда оффициально и не выпустила.

---cut---
Но все равно это геморройно ... если не иметь Watcom 11.0 под QNX4  Кстати он не такой уж и бета - вполне себе нормальный компилятор.
---cut---

ну а это уже конкретно тестировать нужно хотя в Watcom C я охотно верю. а вот в C++ - нет. редкостный уродец получился, как минимум, 10.x. не думаю, что в 11.x что-то принципиально поменялось

// wbr
Записан
mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #41 : Ноября 04, 2004, 09:56:24 am »

lestat а можно мне поподробней ситуацию разжевать?
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #42 : Ноября 04, 2004, 10:13:47 am »

mike
lestat а можно мне поподробней ситуацию разжевать?


Есть два сервака со стратум=0 S/390, они синхронизируются через Sysplex Timer, к которому в свою очередь присоединен GPS device. Есть ряд вторичных серверов - в основном 3 Linux и 1 Win в количестве 4 штук. В качестве дополнительной нагрузки - они являются серверами точного времени. Так вот Win получает всегда стратум 1. Linux по большей части то же stratum 1, но иногда становятся stratum 2 или stratum 3. Почему и зачем никто тогда в ntpd maillist'е так и не ответил толково. Все эти четыре сервака настроены на два сервера со стратум 0. Если оба они выпадают (что практически невероятно, ибо тогда время уже точно никому не нужно ) то серваки становятся на автопилот (сильно завышенный stratum 16-17 AFAIK) для того, чтобы уже никому время свое не отдавать. В этой иерархии серверов есть множество мелких локальных сервачков, 5 колен. Т.е. самые удаленные получают stratum 5.

Теперь если вторичные сервера получат вместо стратума 1 стратум 2 или 3, то 5 колено уже не сможет синхронизироваться, т.к. после 6 стратума эти сервера считаются ненадежными.
Записан

mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #43 : Ноября 04, 2004, 10:18:54 am »

lestat можно показать версию ntp и конфиги на linux?
Записан
lestat
QOR.Moderator
*****
Offline Offline

Сообщений: 985


I don't trust anything


Просмотр профиля WWW
« Ответ #44 : Ноября 04, 2004, 10:51:28 am »

mike
lestat можно показать версию ntp и конфиги на linux


ntp 4.1.1

authenticate no
restrict 127.0.0.1
server TIMESERVER1 minpoll 6 maxpoll 8
server TIMESERVER2 minpoll 6 maxpoll 8
tinker panic 0

Есть тут одна проблемка с точки зрения RFC и построения timeserver'ов.

stratum 0 - это только device: GPS, radio clock, CDMA etc.
stratum 1 - The basic definition of a stratum-1 time server is that it be directly linked (not over a network path) to a reliable source of UTC time.

Higher stratum levels are distanced from the stratum-1 server over a network path.

Поэтому то, что два первых сервера носят stratum 0 - идеологически неправильно, но правильно технически - у mainframe Sysplex Timer + GPS выступает в роли куска внутренней железки. Т.е. весь S/390 есть один большой stratum 0. Видать ntpd срывает башню от этого - он ждет stratum 1 как минимум, а не 0.
Записан

Страниц: 1 2 [3] 4 5 ... 11
  Печать  
 
Перейти в: