25
Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

Embed Size (px)

Citation preview

Page 1: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung

Clocks

Anwendung & Realisierung

Page 2: 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:

Page 3: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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

Page 4: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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

Page 5: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 6: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 7: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 8: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 9: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 10: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 11: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 12: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 13: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 14: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 15: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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

Page 16: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 17: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 18: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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.

Page 19: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 20: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung

Software und Protokolle zur Synchronisation:

timedRFC 868NTPDCF-77GPS

5. Zeitsynchronisation (5)

Page 21: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 22: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 23: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 24: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

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)

Page 25: Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung Clocks Anwendung & Realisierung

Markus Messner, Christina Novoszel Clocks – Anwendung & Realisierung

Quellverzeichnis

Tannenbaum: Betriebssysteme

Internet:www.ibr.cs.tu-bs.de/users/thuerman/timewww.uhren-watchdeal.de