Unix e ba lilemo li 50. Seo se bolela'ng?

2020 ke selemo sa bohlokoa bakeng sa Unix: sistimi ea mantlha ea ts'ebetso e fetohile lilemo tse 50 qalong ea selemo. Unix time, eo hape e tsejoang e le "epoch date," ke palo ea metsotsoana e seng e fetile ho tloha ka la 1 January, 1970. Empa ke eng e tšoenyang baetsi ba kernel mabapi le selemo sa bo50 sa Unix?

Unix e ba lilemo li 50. Seo se bolela'ng?

Le hoja tse ling tsa tsoelo-pele ea Unix li bile teng pele ho qaleho ea molao ea "mehla" ea eona, January 1, 1970, e ntse e le ntlha ea zero ka nako ea POSIX. Ka hona, ha ho qala la 1 Pherekhong 2020, sethala se fetoha ka molao lilemo tse 50.

Nako Unix khahlano le nako ea motho

Ha ho tluoa tabeng ea nako ea motho, lilemo tse 50 ke nako e telele. Ha ho tluoa tabeng ea nako ea Unix, lilemo tse 50 ha se letho le ikhethang, 'me lilemo tse 43 li ne li tla ba tsa bohlokoa bo tšoanang. Litsamaiso tsa Unix (ho kenyeletsoa le Linux) boleng ba letsatsi le nako ea lebenkele ha palo ea metsotsoana e fetile ho tloha ka 1970-01-01 00:00:00 UTC, e ngotsoeng ka li-bits tse 32. Ho fumana hore na ho fetile metsotsoana e mekae ho tloha ka nako eo, 'me ka hona boleng ba hona joale ba nako ea Unix, u ka tsamaisa taelo:

$ letsatsi +%s

1576883876

Khang ea %s ho taelo ea letsatsi e etsa hore letsatsi le nako ea hona joale li hlahisoe e le palo ea metsotsoana ho tloha 1970-01-01.

Unix e ba lilemo li 50. Seo se bolela'ng?

Ke letsatsi lefe le phahameng leo litsamaiso li ka li bolokang? Unix?

Ho utloisisa hore na sistimi ea Unix e ka boloka nako e kae, o hloka ho hakanya bokhoni ba tšimo ea 32-bit. Sena se ka baloa ka tsela e latelang:

$ echo '2^32' | bc

4294967296

Leha ho le joalo, kaha Unix e lumella linomoro tse fosahetseng ho bolokoa, karolo e le 'ngoe e boloketsoe letšoao, kahoo e fokotsa boleng ba nako ho:

$ echo '2^31' | bc

2147483648

'Me kaha lipalo tsa Unix li qala ho 0, sena se bolela hore re na le litekanyetso tse 2,147,483,648, empa tse kholo ka ho fetisisa ke 2,147,483,647 - letsatsi la Unix le boleng ba nako li ke ke tsa feta palo ena. Joalo ka ha odometer ea koloi e sa khone ho bonts'a lik'hilomithara tse fetang 999,999—eketsa 1, 'me boleng bo khutlela ho zero.

Selemo se nka nako e kae ka metsotsoana?

Palo ea metsotsoana ka selemo e ka baloa ka tsela e latelang:

$ expr 24 * 60 * 60 * 365

31536000

Selemong sa leap, letsatsi le leng hape le eketsoa:

$ expr 24 * 60 * 60 * 366

31622400

Unix e ba lilemo li 50. Seo se bolela'ng?

Unix e bonts'a letsatsi la eona la tsoalo la bo-50 joang?

Ka la 1 Pherekhong 2020, ka 12:00 AM, nako e tla be e le 1577836800. Palo e batla e rarahane le ho feta hobane lilemo tse tlolang li tlameha ho tsotelloa. Ho tloha qalong ea mehla ea Unix, ho bile le lilemo tse joalo tse 12, ho qala ka 1972 ho fihlela ka 2016. Seo se bolela hore lilemo tse tloaelehileng tse 38 li fetile.

Mona ke hore na taelo ea expr e shebahala joang ho bala metsotsoana lilemong tse 50 tse fetileng:

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

1577836800

Kapa ka tsela ena, ho nahanoa ka lipalo tse entsoeng pele:

$expr 31536000 * 38 + 31622400 * 12

1577836800

Mokhoa ona oa ho rekota nako o ile oa etsa hore litsamaiso tsa Unix li se ke tsa hlola li e-ba le bothata ba Y2K, bo neng bo e-na le batho ba tšoenyehileng ho elella bofelong ba 1999 hore phetoho ea Y2K e ne e tla senya mekhoa ea lik'homphieutha. Mathata a ile a bonahala a fokola haholo ho feta kamoo ho neng ho lebelletsoe. Ebile, ke lits'ebetso feela tse tlalehiloeng lilemo ka sebopeho sa linomoro tse peli tse bileng le li-rollovers tsa letsatsi. Bahlahisi ba bangata ba nkile mehato e meng ho netefatsa hore lits'ebetso tsa bona ha li angoe ke bothata ba Y2000K.

Nako ke neng Na Unix e tla ba le mathata?

Litsamaiso tsa Unix li tla tobana le mathata a tšoanang pele ho 2038, ha matsatsi a bolokiloeng ka mokhoa o hlalositsoeng ka holimo a tla feta sebaka sa 32-bit. Ho ntse ho le lilemo tse 18, empa baetsi ba kernel ba se ba ntse ba sebetsa ho qoba liphoso tsena tsa nako e tlang.

Bothata ba Selemo sa 2038 ka linako tse ling bo bitsoa bothata ba Y2K38. Haeba e sa rarolloe ka Labobeli la la 19 Pherekhong 2038, litsamaiso ka mor'a letsatsi leo li ka nahana hore ke 1901. Tsela e 'ngoe ea ho rarolla bothata bona ke ho fetolela setšoantšong sa 64-bit sa tlhahisoleseding ea letsatsi le nako. Ba bang ba lumela hore sena se tla ba thata ho feta kamoo se shebahalang kateng.

Leha ho le joalo, ho sa le hoseng haholo ho tšoha. Seo e leng sa bohlokoa kajeno ke sehopotso sa bo-50 sa litsamaiso tsa Unix, tse amoheloang e le tse ling tsa litsamaiso tsa bohlokoahali tsa ts'ebetso nalaneng.



Source: 3dnews.ru
Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster