next up previous index
Következő: 15.60.6 FÁJLOK Fel: 15.60 hwclock(1) Előző: 15.60.4 OPCIÓK   Index

15.60.5 MEGJEGYZÉSEK

Órák egy Linux rendszerben. Egy Linux rendszerben két fő óra van:
A Hardveróra
Ez egy olyan óra, ami bármely programtól függetlenül fut, még akkor is, ha a gép ki van kapcsolva. Az ISA szabvány részeként van meghatározva. Egy vezérlő program ki tudja ezt az órát olvasni, vagy be tudja állítani. Lehetséges az 1 másodperces impulzusok kezdetének érzékelése, így az órának látszólag végtelen lehet a pontossága. Ezt az órát nevezik hardverórának, 'real time clock'-nak, 'RTC'-nek, valós idejű órának, BIOS órának, vagy CMOS órának is.
A Rendszeróra
Ez az az idő, amit a Linux kernelen belüli óra mutatni tud, és az ISA időzítő megszakítása vezérli. Csak akkor van értelmezve, ha a Linux fut. A Rendszeridő az 1970. január 1. 00:00:00 óta eltelt időt tartalmazza másodpercekben. Ennek ellenére a Rendszeridő nem egész szám, így a pontossága tetszőlegesen javítható.
A Rendszeróra tartalmazza azt az időt, ami fontos számunkra. A Hardveróra alapvető feladata bármely rendszerben az, hogy az óra akkor is fusson, amikor a gép ki van kapcsolva. Amikor elindul a Linux rendszer, beállítja a Rendszerórát a Hardverórához, így a Hardverórát ezután nem használjuk. Megjegyezzük, hogy a DOS operációs rendszerekben (illetve az arra épülő egyéb rendszerekben) - amihez az ISA tervezve lett - a Hardveróra az egyetlen valós idejű óra. Fontos, hogy a date(1L) használatával ne okozzunk időugrást a Rendszerórában, amikor a rendszer fut. Ezzel szemben a Hardverórát tetszőlegesen lehet állítani, mialatt a rendszer fut. Mint programozó, használhatod az adjtimex(8) programot is a Rendszeróra beállításához.

Az 'Adjust', vagyis 'Beállítás' funkció A Hardveróra általában nem túl pontos. Azonban a pontatlanság nagyrészt jól kezelhető, mert az óra azonos mértékű időt siet vagy késik minden nap. Ezt rendszeres időeltérésnek nevezhetjük. A hwclock program 'adjust' funkciója teszi lehetővé azt, hogy rendszeres kiigazítást végezzünk ennek a rendszeres időeltérésnek a kiküszöbölésére.

Röviden : A hwclock a /etc/adjtime fájlban tárol néhány információt, ami az óra pontosításához szükséges. Tegyük fel kiindulásként, hogy nincs 'adjtime' fájlunk. Ekkor kiadhatjuk a hwclock -set -date=... parancsot, hogy a Hardverórát beállítsuk a megadott időhöz. A hwclock program létrehozza az adjtime fájlt és beleírja az aktuális időt. Ez egyúttal az óra beállításának az utolsó ideje is lesz. Tegyük fel, hogy mondjuk 5 nap alatt az óra 10 másodpercet siet, így újból kiadjuk a hwclock -set -date=... parancsot, hogy visszaállítsuk a 10 másodpercet. A hwclock program frissíti az adjtime fájlt, beleírja az utolsó órabeállítás időpontját, és rögzíti benne, hogy az óra napi 2 másodpercet siet. 24 óra elteltével újból kiadhatjuk a hwclock -adjust parancsot. A hwclock program megnézi az adjtime fájlt, látja benne, hogy az óránk napi 2 másodpercet siet, és most már éppen eltelt egy nap. Igy kivon 2 másodpercet a Hardverórából. Rögzíti a fájlban az aktuális időt, mint az utolsó beállítás időpontját. Minden alkalommal, amikor beállítjuk az órát a -set opcióval, a hwclock újra kiszámolja a rendszeres idő-eltérés mértékét, figyelembe véve, hogy mikor volt utoljára pontosítva az óra, milyen idő-eltérés volt korábban kiszámolva, és hogy jelenleg mennyivel tér el az óra. Egy kis hiba az óra beállításába mindig becsúszik, amikor a hwclock programmal szeretnénk pontosítani az órát, így a hwclock nem hajtja végre azokat a beállításokat, amikor az eltérés kevesebb 1 másodpercnél. Hasznos egy hwclock -adjust parancsot kiadni közvetlenül a hwclock -hctosys parancs előtt a rendszer indításakor, illetve akkor is, ha a cron segítségével végeztetjük a beállítást.

Az /etc/adjtime fájl formátuma:

1.
sor: 3 számból áll:
2.
sor: 1 számból áll : A legelső beállítás ideje másodpercben 1970. jan. 1. óta.
Használhatod a hwclock programhoz azt az 'adjtime' fájlt, amit előzőleg a clock programmal hoztál létre.


next up previous index
Következő: 15.60.6 FÁJLOK Fel: 15.60 hwclock(1) Előző: 15.60.4 OPCIÓK   Index

1999-09-17