Hwclock: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Ttrummer (talk | contribs)
Ttrummer (talk | contribs)
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
Tegemisel!


==Sissejuhatus==
==Sissejuhatus==
Line 5: Line 4:
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.  
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).
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)==
==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.  
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 ise on kinni pandud ja igasugusest vooluvõrgust välja lülitatud.  
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.  
Oma olemuselt ei pruugi riistvaraline kell siiski alati ülimalt täpne olla ning võib pisut juurde võtta või kaotada päevas kindel ajaühikuid. Seda annab aga süstemaatiliselt hwclock-i abil täpsustada.
Riistvaralise kella ajaloolist infot, nagu nt. hwclocki abil selle muutmist mingil ajahetkel), hoitakse adjtime failis (''/etc/adjtime'').  


Olgu mainitud, et riistvaralist kella tuntakse sageli ka selliste nimede all nagu reaalaja kell (Real Time Clock ehk RTC) ja CMOs kell (CMOS clock).
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 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.  
Hwclock-i tööriist kirjutati esmakordselt valmis 1996. aastal Bryan Hendersoni poolt, toetudes Charles Hedrick'i, Rob Hooft'i ning Harald Koenig'i tööle arvuti kella alal.


==Üldine info hwclock'i kohta==
==Ü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.
Hwclock (''/sbin/hwclock'') tööriista kasutab enamus Linux-süsteeme, saamaks kätte kellaaega riistvaraliselt kellalt ning seeläbi täpsustama ja seadma 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.  
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.  
Line 29: Line 28:
Viise, kuidas hwclock riistvaralise kella poole pöördub, on tegelikult erinevaid.  
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.  
Kõige tüüpilisemaks on meetod, mille puhul küsitakse aja väärtust spetsiaalsest failist (''/dev/rtc''), kuhu ka pidevalt neid 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.
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).
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==
==Hwclock'i üldised käsud==


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




''hwclock -w'' või ''hwclock --systohc''  - riistvaraline kell seatakse süsteemi kella alusel.
''-r'' või ''--show''  - pöördutakse riistvaralise kella poole ning kuvatakse saadud ajaväärtus käsureale. See ajaväärtus antakse alati aluseks võttes kohalikku ajavööndit.  


''hwclock --set --date="uus kellaaeg"''  - kell seatakse jutumäkides sätestatud kuupäeva ja kellaaja alusel.
''--hctosys''  - süsteemi kell seatakse riistvaralise kella alusel.


''hwclock --hctosys''  - süsteemi kell seatakse riistvaralise kella alusel.
''-w'' või ''--systohc''  - riistvaraline kell seatakse süsteemi 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.  
''--set''  - seatakse riistvaralise kella ajaline väärtust (koos --date käsuga).


''hwclock --set''  - seatakse riistvaralise kella ajaline väärtust (koos --date käsuga).
''--set --date="uus_aeg"''  - kell seatakse jutumäkides sätestatud kuupäeva ja kellaaja alusel.


''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).
''-a'' või ''--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.
''--version''  - käsureale kuvatakse hwclock'i olemasoleva versiooni andmed.


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


''hwclock --utc''  - riistvaraline kell on salvestatud rahvusvahelise ajavööndi (utc ehk Coordinated Universal Time) alusel.  
''--utc''  - riistvaraline kell salvestatakse 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).
''--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.  
''--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.
''--debug''  - kuvab detailsema infona hwclock-i sisemisi tegevusi ning väljastab ka ajaväärtuse.


==Näiteid käskude kasutamisest===
==Näiteid käskude kasutamisest===
Line 81: Line 80:


<pre># hwclock -r</pre>
<pre># hwclock -r</pre>
Detailse info kuvamine hwclock'i hetketegevuse kohta:
<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==

Latest revision as of 18:25, 2 May 2011

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 ise on kinni pandud ja igasugusest vooluvõrgust välja lülitatud. Oma olemuselt ei pruugi riistvaraline kell siiski alati ülimalt täpne olla ning võib pisut juurde võtta või kaotada päevas kindel ajaühikuid. Seda annab aga süstemaatiliselt hwclock-i abil täpsustada. Riistvaralise kella ajaloolist infot, nagu nt. hwclocki abil selle muutmist mingil ajahetkel), hoitakse adjtime failis (/etc/adjtime).

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 valmis 1996. aastal Bryan Hendersoni poolt, toetudes Charles Hedrick'i, Rob Hooft'i ning Harald Koenig'i tööle arvuti kella alal.

Ü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 ja seadma 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.

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 neid 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 reeglina olema süsteemis juurkasutaja õigustes.


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

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

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

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

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

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

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

--localtime - riistvaraline kell salvestatakse kohaliku ajavööndi alusel.

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

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

--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.

--debug - kuvab detailsema infona 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