The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > A UNIX a dummies Kérdések és válaszok > Válaszok a gyakori kérdésekre > Tippek és oktatóanyagok
.
google unix.com



Tippek és oktatóanyagok Hasznos cikkek a felhasználóink számára.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Understanding e Makefile the_learner Magas szintű Programozás 5 06-14-2007 01:55 AM
Segítségre van szüksége megegyezés a Unix Command chris86 A UNIX a dummies Kérdések és válaszok 6 10-10-2006 03:35 PM
Egy kis segítség megértés FIFOs? deckard Linux 0 11-01-2005 01:46 PM
további megértéséhez init.d jigarlakhani A UNIX a fejlett és szakértői Felhasználók 1 09-20-2002 03:11 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 02-20-2007
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.119
Understanding Unix időmérő

Belső idő
Belsőleg, egy Unix rendszert tart fenn, amíg a másodpercek száma, mivel a Unix Epoch. A Unix Epoch volt éjfélkor január 1, 1970 UTC. A keleti Időzóna az Egyesült Államok volt december 31, 1969 at 19:00. Ahogy elkezdem ezt a cikket, az idő 1171733878. Én használ NTP (Network Time Protocol), hogy megtartsam a számítógép órája szinkronban. Tehát a pontos pillanatát, hogy a számítógépet azt hitte, 1171733878, valószínűleg ezért nem a tiéd. Minden gép kell értenie, hogy hány óra van. Nem számít, ahol időzóna számítógép lakik, vagy ahol időzóna van tartózkodnak. Ha valaki írt egy fájlba alatt a második, Unix volna elszámolni a módosítás időben 1171733878.

Unix-idő hagyományosan egy előjeles 32 bites egész. Ez azt jelenti, hogy a maximális idő 2147483647, amely a kelet-TimeZone az USA lenne január 18, 2038 at 22:14:07. A terv szerint e bővíteni a 64 bites egész addig. Unix másodperc számít elő egy-by-one. 1171733878 után, a következő pillanatban, hogy az én rendszer tudni a 1171733879. Egyszer ez szinkronizált, NTP működik lerövidítése vagy hosszabbító egy második. Tudok szerezni az időt, amelyben a rendszer rendelkezésre állási idő (). Szeretném, ha valami jobb, mint a második, a következő legpontosabb interfész az a rendszer hívás alkalommal (). times () legfőbb célja, hogy kapjunk szerkezete vonatkozó adatok a rendszer használatát. De a visszatérési értéke is hasznos ... ez az időt óra ketyeg. Óraütések kezdeni egy tetszőleges pont a múltban (gyakran az indítási idő), és előre, ha a kernel óra rutin fut. Hány óra ketyeg másodpercenként változhat. Hívhatsz sysconf (_SC_CLK_TCK), hogy megtudja, hogy az érték. A 100. közös értéke ezekben a napokban. 60 régebbi rendszereket használnak. 100 és 60 a két érték csak én láttam. Óraütések is visszatért egy aláírt egész. Tehát után egy évig a száma, majd visszaállíthatja nullára. Más, mint átütemezés, az óra ketyeg is előre egy-by-egy. (Clock kullancsok gyakran nevezik "jiffies" a Linux folks.) Van egy másik rendszer hívás gettimeofday (), amely visszaadja az idő, mivel a Unix Epoch másodpercek és mikroszekundum. gettimeofday () van szükség, hogy léteznek, és használja mikroszekundum pontossággal. Azonban a pontosság kifejezetten homályos. A mikroszekundum nem előre egy-by-egyet minden olyan rendszer, amit láttam. Feltételezem, hogy a Unix rendszerek meglehetősen jó a hundreths a második és talán még milliszekundum van bizonyos esetekben. De nem vállal azon túl, hogy a pontosságot.

Olvasható Timestamps
Most, hogy tudjuk, hogyan tartja a Unix-idő, térjünk rá egy másik Tárgy: How to display ideje, hogy a felhasználó számára. Kevés használók lesz boldog egy időbélyeg nem jelenik meg a 1171733878. Mivel én vagyok a keleti Időzóna az USA, szeretném látni ilyesmit 12:37:58 Február 17., 2007. De egy személy Los Angeles-i Kalifornia szeretne valami ilyesmi 9:37:58 Február 17., 2007. Írtam egy kicsit perl script, hogy megjelenjen a formázott, amikor adott számot, mint a 1171733878. Itt a kimenetre kell megjelennie mind a keleti és csendes-óceáni időzóna néhány gondosan kiválasztott timestamps:
Eastern:
1173596399 Sun 2007-03-11 01:59:59 Standard Time
1173596400 Sun 2007-03-11 03:00:00 Nyári időszámítás
1173607199 Sun 2007-03-11 05:59:59 Nyári időszámítás
1173607200 Sun 2007-03-11 06:00:00 Nyári időszámítás
Csendes:
1173596399 Szo 2007-03-10 22:59:59 Standard Time
1173596400 Szo 2007-03-10 23:00:00 Standard Time
1173607199 Sun 2007-03-11 01:59:59 Standard Time
1173607200 Sun 2007-03-11 03:00:00 Nyári időszámítás
Figyeljük meg, hogy a belső Unix-idő nem változik kialakulását nyári időszámítás. Mi történik, hogy egy új szabályt hogyan jelenjen meg az idő lép hatályba. Annak érdekében, hogy a belső átalakítása idő egy időbélyeg, Unix tudnia kell, melyek időzónát használni. És tudni kell, ha a nyári időszámítás van érvényben. Vannak különböző szubrutinok, hogy lehet nevezni, hogy egy időbélyeg formátumban. Mindezek a végül igénybe tzset (), hogy meghatározzák az időzónát és az állam a nyári időszámítás. Tzset és ellenőrzi a TZ környezeti változó, hogy kitaláljuk, amit a felhasználó akar. Ha nem a TZ környezeti változó tzset () megyek valami hiba esetleg változó rendszerről rendszerre. A TZ környezeti változó gyakran beállítva valami ilyesmit EST5EDT4 ahogy azt használom. Ez azt mondja, hogy én vagyok az időzóna nevű EST, amely eltér a világidő 5 óra, nyári időszámítás idején nappal Időzóna nevezik EDT amely eltér a világidő 4 óra. Tudni, hogy mikor nyári időszámítás van érvényben, tzset fog kinézni az egyes adatfájl. Melyik fájl (és milyen formátumban van a fájl) között változik rendszerről rendszerre. A javítások állnak az idei nyári időszámítás változás kell valóban alig több, mint néhány kiigazítást ezeket a fájlokat.

Világidő
Amellett, hogy tudni a megfelelő időzónát, a Unix System kell tudni használni világidő (ami majdnem ugyanaz, mint a régi Greenwich Mean Time). Ez az, amit "date-u" teszi. A meghatározás az Universal Time is jól ismert, és nem jár nyári időszámítás változás. Az Universal Time meghatározás lehet építeni az időpontot rutinok használata helyett az adatállomány a tzset (). Ez igaz lehet akkor is, ha egy bejegyzés van jelen UTC. Levelező programok gyakran UTC timestamps.
 

Könyvjelzõk

Címkék
clock, mtime, időmérő

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 04:45 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0