Unix ana umri wa miaka 50. Ina maana gani?

2020 ni mwaka muhimu kwa Unix: mfumo wa awali wa uendeshaji uligeuka umri wa miaka 50 mwanzoni mwa mwaka. Wakati wa Unix, unaojulikana pia kama "tarehe ya epoch," ni idadi ya sekunde ambazo zimepita tangu Januari 1, 1970. Lakini ni nini kinachowahusu watengenezaji wa kernel kuhusu maadhimisho ya miaka 50 ya Unix?

Unix ana umri wa miaka 50. Ina maana gani?

Ingawa baadhi ya maendeleo ya mapema ya Unix yalitangulia mwanzo rasmi wa "zama" yake, Januari 1, 1970, inabakia kuwa sufuri katika wakati wa POSIX. Kwa hivyo, na kuanza kwa Januari 1, 2020, jukwaa linageuka rasmi miaka 50.

Wakati Unix dhidi ya wakati wa mwanadamu

Kwa upande wa wakati wa mwanadamu, miaka 50 ni muda mrefu. Kwa upande wa wakati wa Unix, miaka 50 si kitu maalum, na miaka 43 haingekuwa muhimu sana. Mifumo ya Unix (ikiwa ni pamoja na Linux) thamani za tarehe na wakati wa kuhifadhi kama idadi ya sekunde zilizopita tangu 1970-01-01 00:00:00 UTC, iliyoandikwa kwa biti 32. Ili kubaini ni sekunde ngapi zimepita tangu wakati huo, na kwa hivyo thamani ya sasa ya wakati wa Unix, unaweza kuendesha amri:

Tarehe $ +%s

1576883876

Hoja ya %s kwa amri ya tarehe husababisha tarehe na wakati wa sasa kuonyeshwa kama idadi ya sekunde tangu 1970-01-01.

Unix ana umri wa miaka 50. Ina maana gani?

Ni tarehe gani ya juu ambayo mifumo inaweza kuhifadhi? Unix?

Ili kuelewa ni muda gani mfumo wa Unix unaweza kuhifadhi, unahitaji kukadiria uwezo wa uga wa 32-bit. Hii inaweza kuhesabiwa kama ifuatavyo:

$ echo '2^32' | bc

4294967296

Walakini, kwa kuwa Unix inaruhusu nambari hasi kuhifadhiwa, sehemu moja imehifadhiwa kwa ishara, na hivyo kupunguza thamani ya wakati kwa:

$ echo '2^31' | bc

2147483648

Na kwa kuwa nambari za Unix huanzia 0, hii inamaanisha kuwa tuna thamani 2,147,483,648, lakini kubwa zaidi ni 2,147,483,647—tarehe na saa ya Unix haiwezi kuzidi nambari hii. Kama vile odometer ya gari haiwezi kuonyesha zaidi ya kilomita 999,999—ongeza 1, na thamani itawekwa upya hadi sifuri.

Je, ni muda gani mwaka kwa sekunde?

Idadi ya sekunde kwa mwaka inaweza kuhesabiwa kama ifuatavyo:

$ expr 24 * 60 * 60 * 365

31536000

Katika mwaka wa kurukaruka, siku moja zaidi huongezwa:

$ expr 24 * 60 * 60 * 366

31622400

Unix ana umri wa miaka 50. Ina maana gani?

Je, Unix inaonyeshaje siku yake ya kuzaliwa ya 50?

Tarehe 1 Januari 2020, saa 12:00 asubuhi, saa itakuwa 1577836800. Hesabu ni ngumu zaidi kwa sababu miaka mirefu lazima izingatiwe. Tangu kuanza kwa enzi ya Unix, kumekuwa na miaka 12 kama hii, kuanzia 1972 na kumalizika 2016. Hiyo ina maana miaka 38 ya kawaida imepita.

Hivi ndivyo amri ya expr inaonekana kama kuhesabu sekunde katika miaka 50 iliyopita:

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

1577836800

Au kama hii, kwa kuzingatia mahesabu yaliyofanywa hapo awali:

$expr 31536000 * 38 + 31622400 * 12

1577836800

Mbinu hii ya kurekodi muda ilifanya mifumo ya Unix isipate tatizo la Y2K, ambalo lilifanya watu kuwa na wasiwasi mwishoni mwa 1999 kwamba mpito wa Y2K ungeleta uharibifu kwenye mifumo ya kompyuta. Matatizo yaligeuka kuwa machache sana kuliko ilivyotarajiwa. Kwa hakika, ni programu tumizi ambazo zilirekodi miaka katika umbizo la tarakimu mbili pekee zilipitia uboreshaji wa tarehe. Wasanidi wengi walichukua hatua za ziada ili kuhakikisha kuwa programu zao hazikuathiriwa na tatizo la Y2000K.

Wakati ni lini Je, Unix itaingia kwenye matatizo?

Mifumo ya Unix itakabiliwa na changamoto kama hizo si mapema zaidi ya 2038, wakati tarehe zilizohifadhiwa katika muundo ulioelezwa hapo juu zitazidi nafasi ya 32-bit. Hiyo bado imesalia miaka 18, lakini watengenezaji wa kernel tayari wanafanya kazi ili kuzuia hitilafu hizi za siku zijazo.

Tatizo la Mwaka wa 2038 wakati mwingine hujulikana kama tatizo la Y2K38. Ikiwa haitatatuliwa kufikia Jumanne, Januari 19, 2038, mifumo baada ya tarehe hiyo inaweza kufikiri ni 1901. Njia moja ya kutatua tatizo hili ni kubadili uwakilishi wa 64-bit wa maelezo ya tarehe na saa. Wengine wanaamini kuwa hii itakuwa ngumu zaidi kuliko inavyoonekana.

Kwa hali yoyote, ni mapema sana kuogopa. Kilicho muhimu sana leo ni maadhimisho ya miaka 50 ya mifumo ya Unix, ambayo inatambulika kama baadhi ya mifumo muhimu zaidi ya uendeshaji katika historia.



Chanzo: 3dnews.ru
Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster