neprihlásený Nedeľa, 24. novembra 2024, dnes má meniny Emília
Vydaný Linux 3.17, posúva problém roku 2038 na 2262

Značky: linuxové jadroLinuxLinus Torvalds

DSL.sk, 7.10.2014


Linus Torvalds, autor prvej verzie linuxového jadra a jeho hlavný správca, vydal v noci na pondelok novú verziu jadra 3.17.

V novej verzii pribudlo viacero funkčných noviniek, zároveň bolo uskutočnených viacero významnejších zlepšení a odštartovalo riešenie problému roku 2038.

Linux vo všeobecnosti uchováva čas v podobe počtu uplynutých sekúnd od 1. januára 1970 0:00 UTC času. V prípade 32-bitových platforiem je tento údaj často ešte uchovávaný v 32-bitovom prirodzenom čísle so znamienkom, ktoré ale 19. januára 2038 dosiahne maximálnu kladnú hodnotu 2 147 483 647, následne pretečie na číslo -2 147 483 648 zodpovedajúce v tejto reprezentácii 13. decembru 1901.

To v prípade neošetrenia bude samozrejme viesť k mnohým vážnym problémom. V jadre 3.17 tak začalo intenzívne riešenie tohto problému na všetkých 32-bitových platformách a čas sa v prípade jednej používanej dátovej štruktúry, ktime_t, začal uchovávať v 64-bitovom čísle so znamienkom reprezentujúcim počet nanosekúnd. K jeho pretečeniu príde až v roku 2262.

V jadre sa používajú dve dátové štruktúry na uchovávanie času. V prípade spomínanej ktime_t sa k nej pristupuje pomocou funkcií a nahradiť implementáciu tak so zachovaním kompatibility nebolo problémom. V prípade druhej, timespec, sa priamo používajú dáta v tomto formáte a to aj v oficiálnom vonkajšom ABI rozhraní jadra. Vývojári tak vytvorili alternatívny 64-bitový typ timespec64 a postupne začali nahrádzať timespec za timespec64. Kód v jadre zodpovedný za manažovanie času je v súčasnosti už plne odolný problému roku 2038, vývojári budú musieť ale timespec nahradiť postupne aj v ostatných častiach jadra, pridať nové funkcie do ABI a následne bude musieť začať využívať nové rozhranie aj softvér, najmä v podobe zmeny štandardných linuxových knižníc.

Z funkčných zlepšení bola v jadre 3.17 vylepšená implementácia CIFS Windows protokolu SMB pre prístup k zdieľaným adresárom a ďalším zdrojom. Konkrétne v implementácii SMB2 a SMB3 prišlo k doplneniu funkčnosti zvyšujúcej rýchlosť prenosu najmä veľkých súborov a zároveň u SMB3 pribudla podpora prístupu k súborom bez alokovaných blokov.

Multi-Queue Block IO Queueing Mechanism môže v novej verzii využívať aj SCSI subsystém a implementácia USB cez TCP / IP umožňujúca pripojenie USB zariadenia fyzicky pripojeného k inému počítaču je už označená ako stabilná.

Do jadra pribudla podpora funkčného volania getrandom(), ktoré umožňuje získať náhodná dáta priamo a nie zo zariadení /dev/random a /dev/urandom. To okrem iného rieši problém, keď mohli byť rovnaké náhodné dáta poskytnuté viacerým procesom.

V implementácii bufferov pre DMA prenosy pribudla podpora bariér, ktorá umožňuje pri prenose dát zo alebo do zariadenia počkať asynchrónne na dokončenie prenosu aktuálnych dát a až následne spustiť kód na ich spracovanie. To sa okrem iného umožňuje vyhnúť problémom ako artefakty na obraze z webkamery kvôli aktualizácii buffera počas jeho zobrazovania.

V Linuxe 3.17 tiež pribudla podpora Thunderbolta na počítačoch od Apple a podpora pre DisplayPort 1.2 Multi-Stream Transport umožňujúci cez jeden DisplayPort pripojiť viacero monitorov.


      Zdieľaj na Twitteri



Najnovšie články:

Starship by mohla za najbližšie štyri roky uskutočniť až 400 štartov
Protimonopolný úrad začal prešetrovať, prečo v SR nie sú skutoční virtuálni mobilní operátori
Nový trailer filmu Minecraft
Linux v ďalšej verzii vyradí súborový systém Reiser
Odštartovaná výroba flash pamäte s 321 vrstvami
Apple má prvýkrát použiť vlastný 5G modem v iPhone v marci
Linux dostáva podporu veľkokapacitných pamäťových SDUC kariet
USA požadujú, aby Google predal Chrome a potenciálne aj Android
ISS zvýšila orbitu, aby sa vyhla troskám zo satelitu
Vzniknú fyzické zábavné tematické Minecraft parky


Diskusia:
                               
 

32 bitova pozitivna cast (2 147 483 647) dava cca 68,1 roka casu.
64 bitova pozitivna cast (signed int co je 9 223 372 036 854 775 808) a to je cca 292 471 208 677,54 rokov.
Odpovedať Známka: 0.0 Hodnotiť:
 

Toto iste napadlo aj mne.. redakcia, kde je zrada? :)
Odpovedať Známka: 1.0 Hodnotiť:
 

na nose kundách

Je pes zakopaný
Odpovedať Známka: 8.8 Hodnotiť:
 

Nanosekunda neni pohlavní orgán na nose.
Odpovedať Známka: 8.3 Hodnotiť:
 

Toto niekto oľutuje, keď mu v roku 2262
na nanosekundu presne rupne kryokomora.
Odpovedať Známka: 9.5 Hodnotiť:
 

Tiez sa mi to nezda kedze poctom bitov stupa pocet hodnot exponencialne.
Odpovedať Známka: 4.0 Hodnotiť:
 

Ako som pisal nizsie, presli z ukladania sekund na nanosekundy, kundy jedne.
Odpovedať Známka: 10.0 Hodnotiť:
 

Vidis to som si vobec neuvedomil :) ale tak mame aspon na 250 rokov pokoj.
Odpovedať Známka: 6.8 Hodnotiť:
 

Ja si myslim ze pre vacsinu tu na fore je smrtelnych aj do 2038 :D
Odpovedať Známka: 5.6 Hodnotiť:
 

Ty asi programuješ štýlom "po mne potopa".
Odpovedať Známka: 6.9 Hodnotiť:
 

Ako ste si plusmínus odpovedali, ktime_t uchováva okrem sekúnd aj nanosekundy a 64-bitová reprezentácia ktime_t sa tak používa ako počítadlo nanosekúnd. Takže to môže reprezentovať maximálne 292.3 rokov, od 1.1.1970.
Odpovedať Známka: 9.3 Hodnotiť:
 

to nech mi, prosím, niekto vysvetlí, že prečo pridaním ďalších 32 bitov sa maximálny uchovaný čas predĺži iba štvornásobne ... to im stačilo pridať 2 bity, aby to vydržalo o tých 200 rokov viac, nie? ...
Odpovedať Známka: -2.7 Hodnotiť:
 

článok doplnený, problém vyriešený :) ...
Odpovedať Známka: 8.8 Hodnotiť:
 

Hrozne tieto clanky, ako alpha verzie softu, nikdy niesu dokoncene. :)
Odpovedať Známka: 8.9 Hodnotiť:
 

Článok bol dokončený a autor ten rok 2262 aj sám vypočítal :), v oznámení zmeny sa na to ani nepoukazuje... Len si neuvedomil, že čitatelia nemajú rovnaký kontext, nevidia čo uchováva ktime_t a teda tam úplne chýba informácia o nutnosti počítania času v nanosekundách.
Odpovedať Známka: 9.0 Hodnotiť:
 

Ďakujeme za vyčerpávajúcu odpoveď a posielame kvety.
Odpovedať Známka: 8.7 Hodnotiť:
 

lebo chcu mat presnejsi cas a zistili, ze sekunda je prilis dlha doba. tak si ju este podelili na kusok mensie casti. doteraz bolo + 1 o sekunduj viac, teraz je to + 1.000.000.000. lebo kazdy lubi velke cisla.

ps: 2 bity by im moc nepomohli. mas zauzivane 4/8/16/32/64/128 bitove cisla, tak sa nebudes jebat s drobnymi, proste jebnes plnych 64 a nemas problema.
Odpovedať Známka: 10.0 Hodnotiť:
 

Si zjavne nepochopil probelm. KEBY, opakujem KEBY ostali pri pocitani sekund, ozaj by im stacilo pridat 2 bity a pocitat s 34-bitovymi cislami a 34-bitove pocitadlo by mohlo bezat presne tak isto dlho 68*4 = 272 rokov ako 64-bitove pocitadlo, ktore pocita nanosekundy.
Odpovedať Známka: -8.5 Hodnotiť:
 

pjetro. valium.
valium. pjetro.
pohoda.
klud.
Odpovedať Známka: 8.1 Hodnotiť:
 

Nuž Pjetro, za tie roky, čo nám tu obohacuješ diskusie svojimi príspevkami, v ktorých sa snažíš pôsobiť ako Sheldon Cooper™, si tentokrát veľmi nezabodoval...
Odpovedať Známka: 7.6 Hodnotiť:
 

na zakladnej a strednej na mna hucali furt, dnes to asi nie je in
Odpovedať Známka: 2.0 Hodnotiť:
 

------------- ------------- -------------
Ano, v binarnej sustave sa pridanim dvoch pozicii zvacsi cislo 4-nasobne.

TOTO PLATI PRE VSETKYCH: treba citat clanok: PRESLI NA POCITANIE V NANOSEKUNDACH !!!

pri 64bit kladna cast mame 9223372036854775808 hodnot. Su to ale NANOSEKUNDY, a nie SEKUNDY. Takze to mame nie 292271023045 rokov, ale iba 292,271023045 rokov !!! No a 1970 + 292 = 2262.

AHA JAK KRASNE TO SEDI.
------------- ------------- -------------
Odpovedať Známka: -1.5 Hodnotiť:
 

pjetro pjetro kedysi si bol ikona dnes je to len vrieskanie poloblazna
Odpovedať Známka: 8.2 Hodnotiť:
 

fet robí svoje
Odpovedať Známka: 5.6 Hodnotiť:
 

na zakladnej a strednej na mna hucali furt, dnes to asi nie je in
Odpovedať Známka: -7.5 Hodnotiť:
 

pjetro co sa s tebou porobili nikdy si takyto arogantny nebol? Predpokladam ze si ucil a deti ta pripravili a nervy. Alebo su v tom problemy v sukromi? Mozme si vymenit kontakty som amatersky psichiater.
Odpovedať Známka: 8.0 Hodnotiť:
 

Nesmierne dakujem za uzasnu ponuku jooooooooooooozika. Nepotrebujem psychologa a uz toboz nie psychiatra. Diagnozu si viem urcit aj sam: veeelmi mierny autizmus v podobe veeelmi mierneho aspergerovho syndromu, spojeneho s melancholickou diagnozou SheldonCooperizmu. Pre manzelku nic nove, prave naopak.
Odpovedať Hodnotiť:
 

Ale ti lekari nie su len na diagnozu ale aj na LIECBU!!!
Odpovedať Hodnotiť:
 

...praveze ano, su hlavne na diagnozu. Liecit by sme mali my, farmaceuti, ale system...
Odpovedať Hodnotiť:
 

Ani genius ani psychopat, blahozelam!
Odpovedať Hodnotiť:
 

Pjetro de - trošku klídek. Vybíjaj si energiu aj nejako inak ako nekonečným písaním do diskusií. Minule som videl na jednom českom IT serveri tiež tvoje slohy cez celý monitor... Čas sa dá aj užitočnejšie tráviť ;-)
Odpovedať Známka: 6.7 Hodnotiť:
 

A čo je nové vo Window-soch? Dlaždice v Start menu! Hahaha ...
Odpovedať Známka: 6.1 Hodnotiť:
 

o dva roky ti to pripomeniem, ked bude mat linux vlastne dlazdice :)
teraz Vam musi stacit moznost pripojit monitory za seba cez DP.
Odpovedať Známka: -6.3 Hodnotiť:
 

:O nepouzivam dp ale tak no..
naplanuj dalsi reboot :*
Odpovedať Známka: 6.8 Hodnotiť:
 

o.O
az po nainstalovani updatov, srdiecko...

kedy sa chystas kompilovat jadro? ^X^
Odpovedať Známka: -5.8 Hodnotiť:
 

_ _
O.o
Radsej skompilujem jadro ako platit za backdoor kazde dva roky...
Odpovedať Známka: 6.8 Hodnotiť:
 

radsej si priplatim za poriadne dvere, ktore mi vydrzia 12 rokov, ako menit kazdeho 3/4 roka novu gratis plachtu vo viere, ze ma ochrani ^_^
Odpovedať Známka: -4.5 Hodnotiť:
 

Problem je, ze sice platis za poriadne dvere, ale dostavas podobnu plachtu. Ale pokial to nevidis, tak je vlastne vsetko v poriadku.
Odpovedať Známka: 6.0 Hodnotiť:
 

Celý linux by mali odsunúť až za rok 2262...
Odpovedať Známka: -7.1 Hodnotiť:
 

A ty by si sa mal konecne presunut z doby dinosaurov
Odpovedať Známka: 6.0 Hodnotiť:
 

presunut... ty nepouzivas/nepotrebujes internet? routre? switche? satelit? telefon? v kazdkm odvetvi tvori linux vacsinu! lenze neznaly nevie...
Odpovedať Známka: 2.0 Hodnotiť:
 

Ale Vy chlapci si stále splietate pojmy a dajmy. Na Cisco zariadeniach nie je ich OS zdarma!!! A už vôbec to nie je laciný Lunex z COOP Jednota!
Odpovedať Hodnotiť:
 

Teba mali fotrovci odsunut na nejaky neskorsi rok ... Evidentne si sa vyvijal v nedospelej maternici a zanechalo to na tebe stopy .....
Odpovedať Známka: -3.3 Hodnotiť:
 

Nie som ešte v dôchodkovom veku, ale pamätám si časy, keď počítač zaberal celú budovu, z valcovej tlačiarne sa hrnuli hŕby čísel, pamäť zaberala veľkú kovovú skriňu a dáta boli ukladané na kotúčoch.
Bol pre mňa veľký zázrak, keď som videl prvú kalkulačku, zaberala pol stola, mala veľké červené digitrony a dokázala sčítať, odčítať, násobiť, deliť a mala dokonca aj odmocninu.
S otvorenými ústami som pozeral na telefón s tlačítkami. Už nebolo treba otáčať kotúčom, ktorý počítal impulzy.
Za 40 rokov sa toho zmenilo toľko, že si vôbec netrúfnem predpovedať čo bude v roku 2262.
Možno budú počítače, ale určite sa nebudú podobať na tie dnešné. Napriek snahe americkej vlády a NSA udržať pri živote celosvetový backdoor na nich stopercentne nebudú skurvené widle, ale celkom nové a v dnešnom kontexte nepochopiteľné operačné systémy.
Pre toho kokota, čo chce Linux odsunúť za rok 2262: Neboj sa, rovnako ako tu nebudeš zavadzať ty, nebudem tu ani ja, a určite tu nebude ani Linux.
Odpovedať Známka: -0.9 Hodnotiť:
 

MS ma tolko penazi a do roku 2262 este len bude mat takze tam widle urcite budu, len budu inak vyzerat a inak sa volat.
Odpovedať Hodnotiť:
 

A si si isty, ze v roku 2262 budu este peniaze?
Odpovedať Známka: 10.0 Hodnotiť:
 

chvalabohu, aspoň o jeden problém menej... ;)
Odpovedať Hodnotiť:
 

hned mam krajsi den a o problem menej
Odpovedať Známka: 3.3 Hodnotiť:
 

co mna sere na tomto je fakt, ze NetBSD (od 6) a OpenBSD od (5.5?) uz davno presli na 64bit time_t, ale este hladam, ze ci aj oni s tym chcu rozlisovat nanosekundy alebo ne.
Odpovedať Hodnotiť:
 

nano sekunda ma problem ten, ze to je cas jedneho cyklu procesora taktovaneho 1 GHz. to znamena, ze ked by bolo take rozlysenie, tak by asi ten procesor nic ine nerobil, len pocital cas. ja citam, ze to ma byt s rozlisenim mikrosekundy, co da 300 000 rokov dopredu a dozadu. to znie logickejsie, aj ked taj tam je problem, ze ako casto ten operacny system potom robi kontext switche.
ja by som sa na to vysral a nehal by som to u jednej sekundy, a na 64bit, potom by clovek nemal nikdy viac problem s casom. aj tak este nas to caka u DVB a inych vecach, de tiez treba s tymto problemom nieco porobit.
Odpovedať Hodnotiť:
 

teraz som nasol dobry artikel o tomto:
http://dopice.sk/aQX

je to z roka 2006 a tam uz hovoria, ze vlastne to nie je nic nove, ze 64bit architektury uz vzdy pouzivali taketo rozlisenie a 32bit to davali do dvoch 32bit donutra.

ten ktime_t vyzera byt high precision timer, cize mozno pre kontext switche a podobne, nie pre hodiny.

mozno este pride aj 64bit time_t do seckych architektur, alebo budu chcet zabit dve muchy jednou ranou a teraz to uz secko sprava tak, ze time_t sa bude odvadzat od ktime_t a time_t samostatne uz nebude. a mozno v buducnosti pridu s 96bit ktime_t a bude sa potom moct z teho vyratat odseknutim poslednych 32 bitov 64bitovy time_t. to je moja teoria, ze kam s tym asi scu ist.
Odpovedať Hodnotiť:

Pridať komentár