Unikso havas 50 jarojn. Kion ĝi signifas?

2020 estas signifa jaro por Unikso: komence de la jaro, la originala operaciumo fariĝis 50-jara. Uniksaj tempoj, ankaŭ konataj kiel "epokaj datoj", estas la nombro da sekundoj, kiuj pasis ekde la 1-a de januaro 1970. Sed kio maltrankviligas la programistojn de la kerno lige kun la duonjarcenta datreveno de Unikso?

Unikso havas 50 jarojn. Kion ĝi signifas?

Kvankam kelkaj el la fruaj evoluoj de Unikso datas de antaŭ la oficiala komenco de ĝia "epoko", januaro 1, 1970 restas la nulpunkto en POSIX-tempo. Tial, kun la komenco de januaro 1, 2020, la platformo oficiale fariĝis ĝuste 50 jarojn aĝa.

Время Unikso vs homa tempo

Rilate al homa tempo, 50 jaroj estas longa tempo. Rilate al Uniksa tempo, 50 jaroj estas nenio speciala, kaj 43 jaroj estus ne malpli signifaj. Uniksaj sistemoj (inkluzive de Linux) konservas dat- kaj horvalorojn kiel la nombron da sekundoj pasintaj ekde 1970-01-01 00:00:00 UTC, skribitan en 32 bitoj. Por determini kiom da sekundoj pasis ekde tiam, kaj tial la nunan Uniksan tempovaloron, vi povas lanĉi la komandon:

$dato ​​+%s

1576883876

La argumento %s post la data komando montras la aktualan daton kaj horon kiel la nombron da sekundoj ekde 1970-01-01.

Unikso havas 50 jarojn. Kion ĝi signifas?

Kio estas la maksimuma dato kiun sistemoj povas stoki? Unikso?

Por kompreni kiom da tempo Unikso-sistemo povas teni, vi devas taksi la kapaciton de 32-bita kampo. Ĝi povas esti kalkulita tiel:

$ eĥo '2^32' | bc

4294967296

Tamen, ĉar Unikso ankaŭ stokas negativajn nombrojn, unu bito estas rezervita por la signo, tiel reduktante la tempovaloron al:

$ eĥo '2^31' | bc

2147483648

Kaj ĉar Uniksa numerado komenciĝas je 0, tio signifas, ke ni havas 2 valorojn, sed la plej granda estas 147—Unikso-dataj tempovaloroj ne povas superi tiun nombron. Same kiel la odometro sur aŭto ne povas montri pli ol 483 648 kilometrojn - aldonu 2 kaj la valoro iras al nulo.

Kiom longe estas jaro en sekundoj?

La nombro da sekundoj en jaro povas esti kalkulita jene:

$espr 24 * 60 * 60 * 365

31536000

En superjaro, unu plia tago estas aldonita:

$espr 24 * 60 * 60 * 366

31622400

Unikso havas 50 jarojn. Kion ĝi signifas?

Kiel Unikso montras sian 50-an naskiĝtagon?

La 1-an de januaro 2020 je 12:00 la horo estos 1577836800. La kalkulo estas iom pli komplika ĉar superjaroj estas konsiderataj. Ekde la komenco de la Unikso-simila epoko, ekzistas 12 tiaj jaroj, komencante en 1972 kaj finiĝantaj en 2016. Tio estas, 38 ordinaraj jaroj pasis.

Jen kiel aspektas la komando expr por kalkuli sekundojn dum la lastaj 50 jaroj:

$espr 24 * 60 * 60 * 365 * 38 + 24 * 60 * 60 * 366 * 12

1577836800

Aŭ tiel, konsiderante pli fruajn kalkulojn:

$espr 31536000 * 38 + 31622400 * 12

1577836800

Ĉi tiu maniero registri tempon igis Uniksajn sistemojn imunaj kontraŭ la problemo Y2K, kiu maltrankviligis homojn fine de 1999, ke la transiro de la jaro 2000 kaŭzus komputilajn sistemojn. La malfacilaĵoj montriĝis multe malpli ol atenditaj. Fakte, nur aplikoj, kiuj registras jarojn en ducifera formato, spertis datojn restarigitajn. Multaj programistoj faris kroman laboron por certigi, ke iliaj aplikoj ne estas tuŝitaj de la afero Y2K.

Kiam estas la tempo Ĉu Unikso havos problemojn?

Similaj malfacilaĵoj atendas Uniksajn sistemojn ne pli frue ol 2038, kiam datoj konservitaj en la supre priskribita formato superos 32-bitan spacon. Restas ankoraŭ 18 jaroj, sed kernaj programistoj jam laboras por eviti estontajn malsukcesojn.

La problemo de 2038 foje estas referita kiel la problemo Y2K38. Se ĝi ne estas solvita antaŭ mardo, la 19-an de januaro 2038, sistemoj post tiu dato povas pensi ke ĝi estas 1901. Unu maniero solvi ĉi tiun problemon estas ŝanĝi al 64-bita reprezentado de dataj kaj horinformoj. Iuj kredas, ke ĉi tio estos multe pli malfacila ol ĝi ŝajnas.

Ĉiukaze, estas tro frue por panikiĝi. Kio vere gravas hodiaŭ estas la 50-a datreveno de Unikso-similaj sistemoj, kiuj estas agnoskitaj kiel unu el la plej gravaj operaciumoj en la historio.



fonto: 3dnews.ru
Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster