Sistem saati

Bilgisayar bilimi ve bilgisayar programlamasında sistem zamanı, bir bilgisayar sisteminin zaman geçişi kavramını temsil eder. Bu anlamda, zaman, takvim üzerinde gün geçişi de içerir.

Unix tarih komutu

Sistem saati, bir çağrı adı verilen bazı keyfi başlangıç tarihlerinden bu yana gerçekleşen kenelerin sayısının basit bir sayımı olarak uygulanan bir sistem saatiyle ölçülür. For example, Unix and POSIX-compliant systems encode system time ("Unix time") as the number of seconds elapsed since the start of the Unix epoch at 1 January 1970 00:00:00 UT, with exceptions for leap seconds. Systems that implement the 32-bit and 64-bit versions of the Windows API, such as Windows 9x and Windows NT, provide the system time as both SYSTEMTIME, represented as a year/month/day/hour/minute/second/milliseconds value, and FILETIME, represented as a count of the number of 100-nanosecond ticks since 1 January 1601 00:00:00 UT as reckoned in the proleptic Gregorian calendar.

Sistem saati, insanların anlaması için daha uygun bir form olan takvim süresine dönüştürülebilir. Örneğin, çağın başlangıcından bu yana 1.000.000.000 saniyelik Unix sistem saati, 9 Eylül 2001 01:46:40 UT takvim süresine çevrilir. Bu tür işlemleri gerçekleştiren kitaplık altprogramları, saat dilimleri, gün ışığından yararlanma saati (DST), sıçrama saniyeleri ve kullanıcının yerel ayarları için yapılan ayarlamalarla da ilgilenebilir. Takvim zamanlarını sistem zamanlarına dönüştüren kitaplık rutinleri de genellikle sağlanmaktadır.

Diğer zaman ölçümleri

Sistem zamanı ile yakından ilişkili olan süreç zamanı, yürütmekte olan bir işlem tarafından tüketilen toplam işlemci saatinin bir sayısıdır. Sırasıyla, kullanıcı kodu ve sistem çekirdeği kodunu gerçekleştirmek için harcanan süreyi temsil eden kullanıcı ve sistem CPU süresine bölünebilir. İşlem süreleri, CPU talimatlarının veya saat çevrimlerinin bir toplamıdır ve genellikle duvar zamanı ile doğrudan bir bağıntıya sahip değildir.

Dosya sistemleri, her bir dosya ve dizinin dosya denetim bloğuna (veya inode'una) zaman damgalarını depolayarak, dosyaların oluşturulduğu, değiştirildiği ve / veya erişildiği süreleri tutar.

Uygulama

Sistem saati, periyodik olarak CPU'yu kesen ve daha sonra bir zamanlayıcı kesme servisi rutini yürütmeye başlayan programlanabilir bir zaman sayacı olarak uygulanır. Bu rutin sistem saatine bir kron ekler (basit bir sayaç) ve kesintiden önce CPU'nun yaptıklarına geri dönmeden önce diğer periyodik temizlik görevlerini (önleme vs.) gerçekleştirir.

Sistem zamanı alınıyor

26 Nisan 2024 20:58:06 UTC

Bu sayfa en son yenilendiğinde Vikipedi'nin sistem zamanı.
Önbelleği temizle

Aşağıdaki tablolar, çeşitli işletim sistemlerinde, programlama dillerinde ve uygulamalarda sistem saatini alma yöntemlerini göstermektedir. (*) Ile işaretlenmiş değerler sisteme bağlıdır ve uygulamalar arasında farklılık gösterebilir. Tüm tarihler Gregoryen veya Gregoryen takvimi olarak verilmiştir.

Bir uygulamanın zaman ölçümünün çözünürlüğünün bu ölçümlerin aynı doğruluğunu ima etmediğini unutmayın. Örneğin, bir sistem, geçerli saati mikrosaniye cinsinden ölçülen bir değer olarak geri getirebilir, ancak aslında sadece 100 Hz (10 ms) frekanslı tek tek saat işaretlerini ayırt edebilecek durumdadır.

İşletim sistemleri

İşletim sistemiKomut veya işlevÇözümÇağ veya aralık
Androidjava.lang.System.currentTimeMillis()1 ms1 Aralık 1970
BIOS (IBM PC)INT 1Ah, AH=00h[1]54.931 ms
18.204 Hz
Geçerli günün gece yarısı
INT 1Ah, AH=02h[2]1 sGeçerli günün gece yarısı
INT 1Ah, AH=04h[3]1 gün1 Ocak 1980 - 31 Aralık 1999 veya 31 Aralık 2079 (sisteme bağlı)
CP/M PlusSystem Control Block:[4]
scb$base+58h, Days since 1 Jan 1978
scb$base+5Ah, Hour (BCD)
scb$base+5Bh, Minute (BCD)
scb$base+5Ch, Second (BCD)
1 s1 Ocak 1978 - 20 Eylül 2067
BDOS function 69h (T_GET):[5]
word, Days since 1 January 1978
byte, Hour (BCD)
byte, Minute (BCD)
byte, Second (BCD)
DOS (Microsoft)Şablon:SampDATE
Şablon:SampTIME
10 ms1 Ocak 1980 - 31 Aralık 2099
INT 21h, AH=2Ch SYSTEM TIME[6]
INT 21h, AH=2Ah SYSTEM DATE[7]
iOS (Apple)CFAbsoluteTimeGetCurrent()[8]< 1 ms1 Ocak 2001 ±10,000 yıl
Mac OS (Apple)CFAbsoluteTimeGetCurrent()[9]< 1 ms[10][note 1]1 Ocak 2001 ±10,000 yıl[10][note 1]
OpenVMS (HP)SYS$GETTIM()100 ns17 Kasım 1858'den AD 31.086'a
z/OS (IBM)STCK[11]2−12 μs
244.14 ps[12]
1 Ocak 1900 - 17 Eylül 2042 UT[13]
Unix, POSIX
(ayrıca bakınız

C tarih ve saat işlevleri)

Şablon:Sampdate
time()
1 s(*)
1 Ocak 1970 t- 19 Ocak 2038
1 Ocak 1970 - AD 292,277,026,596
gettimeofday()1 μs
clock_gettime()1 ns
Windows (Microsoft)GetSystemTime()1 ms1 Ocak 1601 - AD 30,828
GetSystemTimeAsFileTime()100 ns

Programlama dilleri ve uygulamaları

Dil / Uygulamaİşlev veya değişkenÇözümÇağ veya aralık
AdaAda.Calendar.Clock100 μs to
20 ms (*)
1 Ocak 1901 - 31 Aralık 2099 (*)
AWKsystime()1 s(*)
BASIC, True BASICDATE, DATE$
TIME, TIME$
1 s(*)
Business BASICDAY, TIM0.1 s(*)
C (see C date and time functions)time()1 s (*)[note 2](*)[note 2]
C++std::time()
std::chrono::system_clock::now()
1 s (*)[note 2]
1 ns (C++11, OS dependent)
(*)[note 2]
C# (Microsoft)System.DateTime.Now[14]
System.DateTime.UtcNow[15]
100 ns[16]1 Ocak 0001 - 31 Aralık 9999
CICS (IBM)ASKTIME1 ms1 Ocak 1900
COBOLFUNCTION CURRENT-DATE1 s1 Ocak 1601
Common Lisp(get-universal-time)1 s1 Ocak 1900
Delphi (Borland)date
time
1 ms
(kayan nokta)
1 Ocak 1900
Delphi
(Embarcadero Technologies)[17]
System.SysUtils. Time[18]1 ms0/0/0000 0:0:0:000 to 12/31/9999 23:59:59:999 [sic]
System.SysUtils.GetTime[19] (alias for System.SysUtils. Time)
System.SysUtils.Date[20]0/0/00000:0:0:000 - 12/31/9999 0:0:0:000 [sic]
System.DateUtils. Today[21]
System.DateUtils. Tomorrow[22]
System.DateUtils.Yesterday[23]
System.SysUtils.Now[24]1 s0/0/00000:0:0:000 - 12/31/9999 23:59:59:000 [sic]
System.SysUtils.DayOfWeek[25]1 gün1 to 7
System.SysUtils.CurrentYear[26]1 yıl(*)
Emacs Lisp(current-time)1 μs (*)1 Ocak 1970
Erlang (Ericsson)erlang:system_time()31 Temmuz 2017 tarihinde Wayback Machine sitesinde arşivlendi., os:system_time()13 Ağustos 2017 tarihinde Wayback Machine sitesinde arşivlendi.[27]OS bağımlı, e.g. on Linux 1ns[27]1 Ocak 1970[27]
Excel (Microsoft)date()?0 Ocak 1900[28]
FortranDATE_AND_TIME
SYSTEM_CLOCK
(*)[29]

[30]

1 Ocak 1970
CPU_TIME1 μs
Gotime.Now()1 ns1 Ocak 0001
HaskellTime.getClockTime1 ps (*)1 Ocak 1970 (*)
Data. Time.getCurrentTime1 ps (*)17 Kasım 1858 (*)
Java (Sun)java.util.Date()
System.currentTimeMillis()
1 ms1 Ocak 1970
System.nanoTime()[31]1 nskeyfi[31]
Clock.systemUTC()[32]1 nskeyfi[33]
JavaScript(new Date()).getTime()
Date.now()
1 ms1 Ocak 1970
Matlabnow1 s0 Ocak 0000[34]
MUMPS$H (short for $HOROLOG)1 s31 Aralık 1840
LabVIEWTick Count1 ms00:00:00.000 1 Ocak 1904
Get Date/Time in Seconds1 ms00:00:00.000 1 Ocak 1904
Objective-C[NSDate timeIntervalSinceReferenceDate]< 1 ms[35]1 Ocak 2001 ±10,000 Yıl[35]
OCamlUnix.time()1 s1 Ocak 1970
Unix.gettimeofday()1 μs
Extended PascalGetTimeStamp()1 s(*)
Turbo PascalGetTime()
GetDate()
10 ms(*)
Perltime()1 s1 Ocak 1970
Time::HiRes::time[36]1 μs
PHPtime()
mktime()
1 s1 Ocak 1970
microtime()1 μs
Pythondatetime.now().timestamp()1 μs (*)1 Ocak 1970
RPGCURRENT(DATE), %DATE
CURRENT(TIME), %TIME
1 s1 Ocak 0001 - 31 Aralık 9999
CURRENT(TIMESTAMP), %TIMESTAMP1 μs
RubyTime.now()[37]1 μs (*)1 Ocak 1970 (kadar 19 Ocak 2038

Ruby'den önce 1.9.2[38])

SmalltalkTime microsecondClock
(VisualWorks)
1 s (ANSI)
1 μs (VisualWorks)
1 s (Squeak)
1 Ocak 1901 (*)
Time totalSeconds
(Squeak)
SystemClock ticksNowSinceSystemClockEpoch
(Chronos)
SQLCURDATE()
CURTIME()
GETDATE()
NOW()
SYSDATE()
3 ms1 Ocak 1753 - 31 Aralık 9999 (*)
60 s1 Ocak 1900 - 6 Haziran 2079
Standard MLTime.now()1 μs (*)1 Ocak 1970 (*)
TCL[clock seconds]1 s1 Ocak 1970
[clock milliseconds]1 ms
[clock microseconds]1 μs
[clock clicks]1 μs (*)(*)
Windows PowerShellGet-Date[39][40]100 ns[16]1 Ocak 0001 - 31 Aralık 9999
[DateTime]::Now[14]
[DateTime]::UtcNow[15]
Visual Basic .NET (Microsoft)System.DateTime.Now[14]
System.DateTime.UtcNow[15]
100 ns[16]1 Ocak 0001 - 31 Aralık 9999

Ayrıca bakınız

  • Calendar
  • Computation time
  • DATE (command)
  • Epoch
  • GPS time
  • Jiffy
  • Network Time Protocol
  • Process
  • rdate
  • TIME (command)
  • time.h
  • time t
  • Time formatting and storage bugs
  • TIME protocol
  • Time-sharing
  • Time standard
  • Timer
  • Timestamp
  • Unix date command
  • Unix time
  • Unix time command
  • Wall clock time
  • Year 2000 problem
  • Year 2038 problem

Notlar

Kaynakça

Dış bağlantılar