UNIX laiks

UNIX laiks jeb POSIX laiks ir laika pieraksta sistēma, kura sākotnēji tika ieviesta UNIX operētājsistēmās, bet to plaši izmanto arī citās datorsistēmās. Šajā sistēmā laiks tiek skaitīts sekundēs, kas pagājušas kopš  pusnakts pēc UTC, kas tiek uzskatīts par UNIX epohas (Unix Epoch) sākumu. Tā kā šajā formātā netiek iekļautas koordinācijas sekundes (piem., 1998. gada 31. decembra plkst. 23.59.60), tad tas nav precīzs UTC laika attēlojums. UNIX sistēmās pašreizējo UNIX laika vērtību parasti var uzzināt ar komandrindas komandu .

Vēsturiski datoros UNIX laiks parasti tika glabāts kā 32 bitus liels vesels skaitlis, kur viens bits ir paredzēts skaitļa zīmei. Tādējādi ar to var kodēt laiku 136 gadu garumā ar minimālo datumu 13.12.1901., maksimālo — 19.01.2038. (skat. 2038. gada problēma). Jaunākajās sistēmās datu tips  parasti ir palielināts līdz 64 bitiem, kas ļauj iekodēt laiku aptuveni 293 miljardus gadu pirms vai pēc 1970. gada, kas virzienā uz pagātni vairāk kā 20 reizes pārsniedz Visuma vecumu.

 Vēsture 
Sākotnēji UNIX laiks tika glabāts sekundes sešdesmitdaļās, jo tajā laikā Unix aparatūras sistēmas pulkstenis darbojās 60 Hz frekvencē. Taču vēlāk tas tika vairākkārt mainīts. Pirmajā UNIX programmēšanas rokasgrāmatā, kas iznāca , Unix laiku jau definēja kā "laiku kopš 1971. gada 1. janvāra plkst. 00.00.00, mērīta sekundes sešdesmitdaļās". Glabājot laiku 32 bitu veselā skaitlī izmantojot šādu formātu, tas ļāva saglabāt tikai  sekundes sešpadsmitdaļas, kas atbilst  sekundēm, kas, savukārt, atbilst tikai aptuveni astoņarpus gadiem. Šī iemesla dēļ formāts vēlāk tika mainīts un beigās noteikts kā "sekunžu skaits kopš 1970. gada 1. janvāra plkst. 00.00.00 UTC".

Kad tika rakstīta pirmā POSIX specifikācija, radās diskusijas, kā precīzi definēt datu tipu  attiecībā uz koordinācijas sekundēm. Beigās tika nolemts tās neņemt vērā, lai nesarežģītu C standarta bibliotēkas funkcijas.

 Atsauces 

Kategorija:Laiks
laiks