Hwclock: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 85: Line 85:


<pre># hwclock --debug</pre>
<pre># hwclock --debug</pre>
Riistvaraline kell seatakse süsteemi kella alusel ja vastupidi:
<pre># hwclock --systohc</pre>
<pre># hwclock --hctosys</pre>


==Kokkuvõte==
==Kokkuvõte==

Revision as of 17:24, 2 May 2011

Tegemisel!

Sissejuhatus

Loodud wikiartikkel püüab seletada lahti, mis on hwclock, kuidas ja miks see töötab ning millised on selle vahendi eripärad. Artikkel on sobilik lugemiseks kõigile, kes tunnevad huvi antud vahendi vastu või soovivad saada lihtsalt täpsemat lisainfot.

Hwclock näol on tegu programmi/tööriistaga, mis töötab Linux-süsteemide all ning suhtleb ja teeb päringuid riistvaralisele kellale (hardware clock).

Riistvaraline kell (hardware clock)

Igas vähegi uuemas personaalarvutis sisaldub väikene patarei, mis on võimeline kestma aastaid ning mille abil hoitakse töös riistvaralist kellaaega. Tänu sellele patareile suudab kell töötada ka siis, kui arvuti on kinni pandud ja igasugusest vooluvõrgust eemaldatud. Oma olemuselt ei pruugi riistvaraline kell siiski alati väga täpne olla ning tal võib olla omadus pisut juurde võtta või kaotada päevas kindel ajaühik. Seda annab aga süstemaatiliselt hwclock-i abil parandada.

Olgu mainitud, et riistvaralist kella tuntakse sageli ka selliste nimede all nagu reaalaja kell (Real Time Clock ehk RTC) ja CMOs kell (CMOS clock).

Hwclock'i loomine

Hwclock-i tööriist kirjutati esmakordselt 1996. aastal Bryan Hendersoni poolt tpoetudes Charles Hedrick, Rob Hooft ning Harald Koenig'i tööle arvuti kella suhtes.

Üldine info hwclock'i kohta

Hwclock (/sbin/hwclock) tööriista kasutab enamus Linux-süsteeme, saamaks kätte kellaaega riistvaraliselt kellalt ning seeläbi täpsustama terve süsteemi aega (System Time) iga kord kui süsteem käivitatakse. Hwclock töötab täiesti iseseisvalt, ilma et ükski teine programm tema tööd otseselt kontrolliks, ning on vaikimisi Linuxi all kohe alguses juba olemas. Riistvaralise kella ajaloolist infot hoitakse adjtime failis (/etc/adjtime).

HwClock abil on võimalik kuvada käsureale käesolevat ajahetke, seda muuta, panna paika süsteemi aeg tehes päring riistvaralisele kellale ning muuta ka riistvaralise kella aega süsteemiaja järgi.

Pöördumine riistvaralise kella poole

Viise, kuidas hwclock riistvaralise kella poole pöördub, on tegelikult erinevaid.

Kõige tüüpilisemaks on meetod, mille puhul küsitakse aja väärtust spetsiaalsest failist (/dev/rtc), kuhu ka pidevalt aja väärtusi kirjutatakse. Nimetatud faili juhib reeglina rtc (Real Time Clock) ehk riistvaralise kella draiver. Ometi ei tööta selline pöördumisviis mitte alati, kuna riistvaralise kella draiver on Linuxi jaoks suhteliselt uudne leiutis ning paljudel vanematel Linuxi versioonidel seda lihtsalt ei ole.

ISA (harustandard-arhitektuur) süsteemi puhul pöördub hwclock otse ajaga seotud CMOS (komplementaarne metalloksiid-pooljuht mikroprotsessor) mäluregistri poole.

M68k süsteemi puhul suudab hwclock pöörduda riistvaralise kella poole läbi konsoolidraiveri ning omakorda läbi spetsiaalse faili (/dev/tty1).

Hwclock'i üldised käsud

Selleks, et kasutada hwclocki ning selle käske, peab kasutaja reeglina olema süsteemis juurkasutaja õigustes.


hwclock -w või hwclock --systohc - riistvaraline kell seatakse süsteemi kella alusel.

hwclock --set --date="uus kellaaeg" - kell seatakse jutumäkides sätestatud kuupäeva ja kellaaja alusel.

hwclock --hctosys - süsteemi kell seatakse riistvaralise kella alusel.

hwclock -r või hwclock --show - pöördutakse riistvaralise kella poole ning kuvatakse saadud aejaväärtus käsureale. See ajaväärtus antakse alati võttes aluseks kohalikku ajavööndit.

hwclock --set - seatakse riistvaralise kella ajaline väärtust (koos --date käsuga).

hwclock -a või hwclock --adjust - lisab või lahutab ajaühikuid riistvaralisest kellaajast (vahed, mis on tingitud riistvaralise kella võimalikust süstemaatilisest ebatäpsusest ja viimasest kalibreerimisest).

hwclock --version - käsureale kuvatakse hwclock-i olemasoleva versiooni andmed.

hwclock --localtime - riistvaraline kell on salvestatud kohaliku ajavööndi alusel.

hwclock --utc - riistvaraline kell on salvestatud rahvusvahelise ajavööndi (utc ehk Coordinated Universal Time) alusel.

hwclock --noadjfile - lülitatakse välja vahendid, mis töötavad läbi adjtime faili (/etc/adjtime).

hwclock --directisa - see käsk töötab vaid ISA ja Alpha-süsteemi korral. Antud käsu peale teeb hwclock ajaväärtuse päringu riistvaralisele kellela "otse", kasutamata /dev/rtc reaalaja kella draiverit.

hwclock --debug - kuvab detailsemalt hwclock-i sisemisi tegevusi ning väljastab ka ajaväärtuse.

Näiteid käskude kasutamisest=

Riistvaralise kella salvestamine kohaliku ajavööndi järgi:

# hwclock --localtime

Riistvaralise kella salvestamine rahvusvahelise ajaväändi (UTC järgi):

# hwclock --utc

Aja seadmine 22. detsembriks 2007 kell 11:45:30

# hwclock --set --date "12/22/2007 11:45:30"

Pöördumine riistvaralise kella poole ja saadud tulemuse kuvamine:

# hwclock -r

Detailse info kuvamine hwclock'i hetketegevuse kohta:

# hwclock --debug

Riistvaraline kell seatakse süsteemi kella alusel ja vastupidi:

# hwclock --systohc
# hwclock --hctosys

Kokkuvõte

Hwclock on suhteliselt lihtne, ent kasulik Linuxi all töötav programm, mille ülesandeks on päringute tegemine riistvaralisele kellale (Hardware Clock) ning riistvaralise ja süsteemi kella (System Time) ajaväärtuste haldamine.

Kasutatud kirjandus

http://www.faqs.org/docs/linux_admin/x2751.html

http://kuutorvaja.eenet.ee/wiki/Arvuti_kellaaeg

http://manpages.ubuntu.com/manpages/maverick/man8/hwclock.8.html

http://linux.die.net/man/8/hwclock

http://giraffe-data.com/software/about_hwclock.html

http://unixhelp.ed.ac.uk/CGI/man-cgi?hwclock+8

Autor

Timo Trummer A32