Co to jest czas systemowy?

Czas systemowy reprezentuje sposób, w jaki komputery mierzą upływ czasu. Czas i data kalendarzowa wyświetlane przez system operacyjny (OS) lub uzyskiwane przez różne języki programowania są generowane na podstawie czasu systemowego. Odbywa się to przez zegar systemowy, który odlicza tiki od arbitralnego punktu początkowego zwanego epoką. Każdy system operacyjny używa własnej epoki i znaczników reprezentujących różne długości czasu. Określając, ile tików upłynęło od epoki, a następnie przeliczając je na sekundy, komputer może wyrenderować bieżący czas i datę.

Wczesne komputery osobiste (PC) nie miały możliwości śledzenia czasu. Pierwsze modele z tą funkcjonalnością zostały wyprodukowane przez International Business Machines (IBM). Od tego czasu wszystkie komputery PC i systemy operacyjne zawierają pewien sposób śledzenia czasu i przekształcania go w formę rozpoznawalną dla ludzi. Wraz z pojawieniem się sieci, a zwłaszcza Internetu, komputery PC stały się również zdolne do dostosowywania czasu systemowego do stref czasowych. Możliwe stało się również aktualizowanie czasu systemowego, aby dopasować go do serwera centralnego.

Sposób, w jaki komputery zwykle mierzą czas, polega na liczeniu tików od dowolnego punktu początkowego. Kleszcze nie są powszechnie konwertowalne do pomiaru czasu przydatnego dla ludzi, ponieważ każdy system operacyjny pozwala na upływ innej ilości czasu między nimi. Niektóre systemy liczą jedno tik na każde 100 nanosekund, podczas gdy inne przyrównują jedno tik do jednej sekundy. Jeśli system działa współbieżnie przez wystarczająco długi czas, możliwe jest, że liczba kleszczy osiągnie maksymalną dozwoloną liczbę cyfr i zawinie się do zera. W niektórych przypadkach może to spowodować niestabilność systemu.

Każdy system ma również inną datę początkową, od której liczone są tiki. Niektóre systemy operacyjne używają epoki, która zaczyna się w 1601CE i trwa do 2099CE. Inne, takie jak systemowe podstawowe wejście/wyjście (BIOS) używają epoki, która liczy się od północy bieżącego dnia. W każdym przypadku komputer może policzyć, ile kleszczy wystąpiło od początku epoki, a następnie przekonwertować tę liczbę na datę i godzinę kalendarzową, która jest użyteczna dla użytkownika. Rozdzielczość, jaką może zwrócić czas systemowy, zależy od długości tiku, więc niektóre systemy mogą raportować w milisekundach, podczas gdy inne są ograniczone do najbliższej sekundy.