Unix té 50 anys. Què vol dir?

El 2020 és un any important per a Unix: a principis d'any, el sistema operatiu original va complir 50 anys. Els temps Unix, també coneguts com a "dates d'època", són el nombre de segons que han passat des de l'1 de gener de 1970. Però, què preocupa als desenvolupadors del nucli en relació amb el mig segle d'aniversari d'Unix?

Unix té 50 anys. Què vol dir?

Encara que alguns dels primers desenvolupaments d'Unix són anteriors a l'inici oficial de la seva "era", l'1 de gener de 1970 continua sent el punt zero en l'època POSIX. Per tant, a principis de l'1 de gener de 2020, la plataforma va complir oficialment exactament 50 anys.

Temps Unix vs temps humà

En termes de temps humà, 50 anys és molt de temps. En termes de temps d'Unix, 50 anys no són res d'especial, i 43 anys no serien menys significatius. Sistemes Unix (inclosos Linux) emmagatzema els valors de data i hora com el nombre de segons transcorreguts des de l'1 de gener de 1970 a les 00:00:00 UTC, escrits en 32 bits. Per determinar quants segons han passat des de llavors, i per tant el valor de temps actual d'Unix, podeu executar l'ordre:

$data +%s

1576883876

L'argument %s després de l'ordre date mostra la data i l'hora actuals com a nombre de segons des del 1970-01-01.

Unix té 50 anys. Què vol dir?

Quina és la data màxima que poden emmagatzemar els sistemes? Unix?

Per entendre quant de temps pot contenir un sistema Unix, cal estimar la capacitat d'un camp de 32 bits. Es pot calcular així:

$ eco '2^32' | bc

4294967296

Tanmateix, com que Unix també emmagatzema nombres negatius, es reserva un bit per al signe, reduint així el valor del temps a:

$ eco '2^31' | bc

2147483648

I com que la numeració Unix comença a 0, això significa que tenim 2 valors, però el més gran és 147; els valors de data i hora Unix no poden superar aquest nombre. De la mateixa manera que l'odòmetre d'un cotxe no pot mostrar més de 483 quilòmetres: afegiu 648 i el valor passa a zero.

Quant dura un any en segons?

El nombre de segons en un any es pot calcular de la següent manera:

$expr 24 * 60 * 60 * 365

31536000

En un any de traspàs, s'afegeix un dia més:

$expr 24 * 60 * 60 * 366

31622400

Unix té 50 anys. Què vol dir?

Com mostra Unix el seu 50è aniversari?

L'1 de gener de 2020 a les 12:00 hores l'hora serà 1577836800. El càlcul és una mica més complicat perquè s'han de tenir en compte els anys de traspàs. Des de l'inici de l'era Unix, n'hi ha hagut 12, començant el 1972 i acabant el 2016. És a dir, han passat 38 anys ordinaris.

Així és com té l'ordre expr per comptar els segons durant els darrers 50 anys:

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

1577836800

O així, tenint en compte els càlculs anteriors:

$expr 31536000 * 38 + 31622400 * 12

1577836800

Aquesta manera d'enregistrar el temps va fer que els sistemes Unix fossin immunes al problema de l'any 2, que va fer que la gent es preocupés a finals de 1999 que la transició de l'any 2000 causaria estralls als sistemes informàtics. Les dificultats van resultar ser molt menors del que s'esperava. De fet, només les aplicacions que registren anys en format de dos dígits han experimentat un restabliment de dates. Molts desenvolupadors han fet un treball addicional per garantir que les seves aplicacions no es vegin afectades pel problema Y2K.

Quan és el moment Unix tindrà problemes?

Dificultats similars esperen als sistemes Unix no abans del 2038, quan les dates emmagatzemades en el format descrit anteriorment superaran l'espai de 32 bits. Encara queden 18 anys, però els desenvolupadors del nucli ja estan treballant per evitar futurs errors.

El problema 2038 de vegades es coneix com el problema Y2K38. Si no es resol abans del dimarts 19 de gener de 2038, els sistemes posteriors a aquesta data poden pensar que és el 1901. Una manera de resoldre aquest problema és canviar a una representació de 64 bits de la informació de data i hora. Alguns creuen que això serà molt més difícil del que sembla.

En qualsevol cas, és massa aviat per entrar en pànic. El que és realment important avui és el 50è aniversari dels sistemes Unix, que són reconeguts com un dels sistemes operatius més importants de la història.



Font: 3dnews.ru
Compreu allotjament fiable per a llocs amb protecció DDoS, servidors VPS VDS 🔥 Compra allotjament web fiable amb protecció DDoS, servidors VPS VDS | ProHoster