Unix tÀhistab oma 50-aastast juubelipÀeva. Mida see tÀhendab?

2020. aasta on Unixile oluline: aasta alguses tĂ€itus originaalsel operatsioonisĂŒsteemil 50 aastat. Unix'i aeg, tuntud ka kui „ajavahemiku kuupĂ€evad”, on sekundite arv, mis on möödunud 1. jaanuarist 1970. Mis aga hĂ€irib tuumaarendajaid seoses Unix'i poole sajandi juubeliga?

Unix tÀhistab oma 50-aastast juubelipÀeva. Mida see tÀhendab?

Kuigi mĂ”ned varased Unix'i arengud eelnevad ametlikule algusele tema „ajaloos”, jÀÀb 1. jaanuar 1970 nullpunktiks POSIX'i ajaloos. Seega, alates 1. jaanuarist 2020, sai platvorm ametlikult just 50 aastat vanaks.

Aeg Unix inimese ajaga

Inimeste mÔÔtmes on 50 aastat pikk aeg. Unix'i ajas ei ole 50 aastat millegi erilisena, 43 aastat oleks olnud mitte vĂ€hem mĂ€rkimisvÀÀrne. Unix'i sĂŒsteemid (sealhulgas Linux) salvestavad kuupĂ€eva ja kellaaja vÀÀrtused kui sekundite arv, mis on möödunud ajast 1970-01-01 00:00:00 UTC, 32-bitise salvestusena. Sekundite arvu mÀÀramiseks, mis on möödunud sellest ajast ning seega praeguse Unix'i aja vÀÀrtuse mÀÀramiseks, saab kasutada kĂ€sku:

$ date +%s

1576883876

Argument %s kÀsu date jÀrel mÀÀrab kuupÀeva ja kellaaja kuvamise praeguses vormis sekundite arvuna 1970-01-01 algusest.

Unix tÀhistab oma 50-aastast juubelipÀeva. Mida see tÀhendab?

Milliseid maksimaalseid kuupĂ€evi saavad Unix sĂŒsteemid hoida? Unix?

Selleks, et mĂ”ista, kui kaugele vĂ”ib Unix'i sĂŒsteem minna, tuleb hinnata 32-bitise vĂ€lja mahtu. Selle saab arvutada jĂ€rgmiselt:

$ echo '2^32' | bc

4294967296

Kuid kuna Unix vĂ”imaldab salvestada ka negatiivseid numbreid, on ĂŒks bitt reserveeritud mĂ€rgiks, vĂ€hendades seega aja vÀÀrtust:

$ echo '2^31' | bc

2147483648

Kuna Unix'i numbrimine algab nullist, tĂ€hendab see, et meil on 2 147 483 648 vÀÀrtust, kuid suurim vÀÀrtus on 2 147 483 647 — Unix'i kuupĂ€eva ja kellaaja vÀÀrtus ei saa ĂŒletada seda numbrit. Nii nagu auto odomeeter ei saa nĂ€idata rohkem kui 999 999 kilomeetrit — lisades 1, nullitakse vÀÀrtus.

Kui palju sekundeid kestab aasta?

Aasta sekundeid saab arvutada jÀrgmiselt:

$ expr 24 * 60 * 60 * 365

31536000

KĂ€imist juhtub veelgi, kui see on liiga hĂŒppeaasta:

$ expr 24 * 60 * 60 * 366

31622400

Unix tÀhistab oma 50-aastast juubelipÀeva. Mida see tÀhendab?

Kuidas Unix tĂ€histab oma 50. sĂŒnnipĂ€eva?

1. jaanuaril 2020 kell 00:00 on aeg 1577836800. Arvutamine on pisut keeruline, kuna tuleb arvestada hĂŒppeaastaid. Unix'i ajastu jooksul on olnud 12 sellist aastat, alates 1972. aastast kuni 2016. aastani. Seega oli tavaliselt 38 aastat.

Nii nÀeb vÀlja kÀsk expr, et arvestada 50 aasta jooksul sekundeid:

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

1577836800

VÔi nii, arvestades eelnevalt tehtud arvutusi:

$ expr 31536000 * 38 + 31622400 * 12

1577836800

Selline kuupĂ€eva vormindamine teeb Unix'i sĂŒsteemid immuunsaks Y2K probleemile, mille ĂŒle muretseti 1999. aastal, et ĂŒleminek 2000. aastasse vĂ”ib pĂ”hjustada arvutite sĂŒsteemides hĂ€ireid. Tegelikult oli raskusi palju vĂ€hem, kui oodati. Ainult rakendused, mis salvestasid aasta kahesilbilise formaadina, kogesid kuupĂ€evade nullimist. Paljude arendajate jaoks oli lisatööd selle tagamiseks, et nende rakendusi ei puudutaks Y2K probleem.

Millal Unix seisab silmitsi probleemidega?

Sarnased raskused ootavad Unix'i sĂŒsteeme mitte varem kui 2038. aastal, kui kuupĂ€evad, mis on salvestatud ĂŒlaltoodud formaadis, ĂŒletavad 32-bitise mahtsuse. JÀÀnud on veel 18 aastat, kuid tuumaravi arendajad töötavad juba selle nimel, et vĂ€ltida tulevasi ebaĂ”nnestumisi.

2038. aasta probleem, mida mĂ”nikord nimetatakse Y2K38 probleemiks. Kui seda ei lahendata teisipĂ€evaks, 19. jaanuariks 2038, vĂ”ivad sĂŒsteemid pĂ€rast seda kuupĂ€eva arvata, et on kĂ€es 1901. aasta. Üks vĂ”imalus selle probleemi lahendamiseks on ĂŒle minna 64-bitisele kuupĂ€eva ja kellaaja esindusele. MĂ”ned arvavad, et ka see on palju keerulisem, kui esmapilgul tundub.

Igal juhul pole veel aeg paanikaks. TĂ€na on tĂ”eliselt oluline Unix'i sĂŒsteemide 50-aastane juubelitĂ€his, mida peetakse teiste hulgas ajaloo kĂ”ige olulisemaks operatsioonisĂŒsteemiks.



Allikas: 3dnews.ru
Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster