markus messner, christina novoszel clocks – anwendung & realisierung clocks anwendung &...
TRANSCRIPT
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Clocks
Anwendung & Realisierung
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
1. Geschichte der Uhren
2. Hardware – Uhren
3. Software – Uhren
4. Zusammenspiel Hardware – Software Uhren
5. Zeitsynchronisation
Übersicht:
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Wer als erstes die Uhr erfunden hat lässt sich nicht mehr feststellen
1269 Begriff Uhrmacher taucht zum ersten Mal auf 1345 die Stunde wird spätestens ab diesem Jahr mit 60
Minuten und diese in 60 Sekunden eingeteilt um 1511 der Nürnberger Schlosser Peter Henlein baut
sehr beliebte tragbare Uhren, die 40 Stunden gehen. 1927 W. A. Marrison entwickelt in den USA die erste
Quarzuhr
1967 es existiert ein Prototyp einer Quarzarmbanduhr.
1. Geschichte der Uhren
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
2. Hardware Uhren (1)
Aufgaben der Uhr :
liefern Uhrzeit
verhindern blockieren des Prozessors durcheinen Prozess
Einstellen der Alarmzeit zu denen ein Interrupt ausgelöst werden soll
Periodisches generieren von Interrupts
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Funktionsweise:
die Chips erhalten eine von einem Quarz erzeugte Taktfrequenz, die sie durch Teilerstufen schicken, um den Sekundentakt zu generieren, mit dem die Uhr zählt .
2. Hardware Uhren (2)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Zugriff auf HW - Uhren:
Mit Devic Driver, auf /dev/rtc und mit ioctl(2)s. Infos unter :usr/src//linux/include/linux/mc146818rtc.h oder usr/src/linux/Documentation/rtc.txt
Zusätzliches Tool das den Device Driver auch nutzt ist : hwclock
2. Hardware Uhren (3)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Notwendigkeit von Software Uhren ?
Auflösung der HW – Uhr nur cirka 1 Sekunde
Keine Möglichkeit der Nachregulierung der Ganggeschwindigkeit
2. Hardware Uhren (4)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Aufgaben:
Verwalten der Uhrzeit
Buchführen über die Prozessornutzung
Behandlung des alarm- System Calls
Das Profiling, das Führen von Statistiken und anderen Überwachungen.
3. Software Uhren (1)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Zugriff:
Über den Befehl date(1)
Damit erfolgt das Auslesen und Setzen. Die HW – Uhr bleibt dadurch aber unverändert
3. Software Uhren (2)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Implementierung:
Als Struktur vom Typ struct timeval, Definition:Typedef struct timeval{
long tv_sev;long tv_usec;};
3. Software Uhren (3)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Zeitdefinition im POSIX – Standard.Problem:Schaltsekunden bei Zeitangaben im struct timeval nicht berücksichtigt
Vorteil: in Posix jeder Tag genau 86400 Sek.
Nachteil:bestimmte Zeiten koennen nicht dargestellt werden
3. Software Uhren (4)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Zugriff auf SW-Uhr über System Calls:
int gettimeofday(struct timeval *tv, struct timezone *tz)
int settimeofday(struct timeval *tv, struct timezone *tz)
3. Software Uhren (5)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Mit den System Calls kann die Systemzeit gelesen bzw. gesetzt werden -> nur vom super user / root
Um die Zeit zu setzen, muss ein Zeiger auf die Struktur vom Typ timeval übergeben werden, in der die zu setzende Zeit steht bzw. in die die Zeit vom Kernel geschrieben wird.
3. Software Uhren (6)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Kommando date:
benutzt die System Calls time und stime zum Lesen und Setzen
In beiden Fällen werden die Sekunden seit 1970-01-01 00:00:00 UTC als 32-bit Integer dargestellt.
Darstellbarer Zahlenbereich: -2^31 bis 2^31-1
3. Software Uhren (7)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Software-Uhr wird gesetzt mit: date
Hardware-Uhr wird gesetzt mit: hwclock
zB: hwclock --show
hwclock --set --date=…
Folgende Befehle weisen der Hardware-Uhr die Zeit der Software-Uhr zu und umgekehrt:
hwclock --systohc [--utc]
hwclock --hctosys [--utc]
4. Zusammenspiel von Hardware- und Software-Uhr
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Jeder PC verfügt über eine Real-Time-Clock (RTC)
Diese geht im Schnitt aber pro Tag etwa 5 Sekunden falsch.
Um eine genaue Uhrzeit zu ermöglichen ist eine regelmäßige Synchronisation mit der Zeitfrequenz notwendig
5. Zeitsynchronisation (1)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Zeitsynchronisation ist vor allem wichtig in Rechnernetzen
wenn:
Netzwerk-Filesysteme wie NFS eingesetzt werden
log files auf verschiedenen Rechnern erzeugt werden
5. Zeitsynchronisation (2)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
5. Zeitsynchronisation (3)
Unter Unix wird zur Synchronisierung von Uhren
nicht der system call settimeofday benutzt, weil:
Die Systemzeit plötzliche Sprünge machen würde
Die Systemzeit würde unter Umständen Rückwärtssprünge machen.
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Statt settimeofday wird adjtime bzw. moderner adjtimex verwendet.
Mit diesem system call kann man dem kernel mitteilen wieviel Mikrosekunden die Zeit vor- bzw. nachgeht
5. Zeitsynchronisation (4)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Software und Protokolle zur Synchronisation:
timedRFC 868NTPDCF-77GPS
5. Zeitsynchronisation (5)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Timed
Schon lang exisitierende Software auf Unix-Maschinen
Beim booten im Hintergrund gestartet
Tauscht regelmäßig Nachrichten mit time stamps mit den anderen time daemons im LAN aus
Kein eigenes Protokoll sondern ICMP
5. Zeitsynchronisation (6)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
RFC 868
Kann sowohl über TCP als auch über UDP benutzt werden
Verwendet den Port 37
Gravierender Nachteil: schlechte Genauigkeit der time stamps
5. Zeitsynchronisation (7)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
NTP
Kennt nur ein Paket-Format, mit dem Zeitinformationen zwischen Rechnern ausgetauscht werden
NTP-Packete enthalten im wesentlichen 4 time stamps von jeweils 64 bit
5. Zeitsynchronisation (8)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
DCF-77, GPS, etc.
Die Zeit per NTP benötigt eine relativ regelmäßige Netzwerkverbindung
Der xntp daemon, xntpd kann auch mit Zeitzeichenempfänger zusammenarbeiten, die die Zeit direkt via Satellit zB GPS (Global Positioning System) oder von einem Langwellensender wie DCF-77 empfängt
5. Zeitsynchronisation (9)
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung
Quellverzeichnis
Tannenbaum: Betriebssysteme
Internet:www.ibr.cs.tu-bs.de/users/thuerman/timewww.uhren-watchdeal.de