O Unix completou 50 anos. O que isso significa?

O ano de 2020 é marcante para o Unix: no início do ano, o sistema operacional original completou 50 anos. O tempo Unix, conhecido também como "data de época", é a quantidade de segundos que se passaram desde 1 de janeiro de 1970. Mas o que realmente preocupa os desenvolvedores do núcleo em relação ao aniversário de meio século do Unix?

O Unix completou 50 anos. O que isso significa?

Embora alguns dos primeiros desenvolvimentos do Unix tenham ocorrido antes do início oficial da sua "época", 1 de janeiro de 1970 continua a ser o ponto zero no tempo do POSIX. Portanto, a partir de 1 de janeiro de 2020, a plataforma completou exatamente 50 anos.

Tempo Unix contra o tempo humano

Do ponto de vista do tempo humano, 50 anos é um longo período. Do ponto de vista do tempo Unix, 50 anos não tem nada de especial, e 43 anos seriam igualmente significativos. Os sistemas Unix (incluindo Linux) armazenam valores de data e hora como o número de segundos desde 1970-01-01 00:00:00 UTC, utilizando uma representação de 32 bits. Para determinar quantos segundos se passaram desde então e, portanto, o valor atual do tempo Unix, pode-se executar o comando:

$ date +%s

1576883876

O argumento %s após o comando date especifica a exibição da data e hora atuais como o número de segundos desde o início de 1970-01-01.

O Unix completou 50 anos. O que isso significa?

Qual é a data máxima que os sistemas Unix podem armazenar? Unix?

Para entender quanto tempo um sistema Unix pode conter, é necessário avaliar a capacidade do campo de 32 bits. Isso pode ser calculado da seguinte forma:

$ echo '2^32' | bc

4294967296

No entanto, como o Unix permite armazenar números negativos, um bit é reservado para o sinal, reduzindo, assim, o valor do tempo para:

$ echo '2^31' | bc

2147483648

E como a numeração Unix começa em 0, isso significa que temos 2.147.483.648 valores, mas o maior deles é 2.147.483.647 — o valor da data e hora Unix não pode exceder esse número. Assim como o hodômetro de um carro não pode marcar mais de 999.999 quilômetros — adicionar 1 deve zerar o valor.

Quanto dura um ano em segundos?

O número de segundos em um ano pode ser calculado da seguinte forma:

$ expr 24 * 60 * 60 * 365

31536000

Em um ano bissexto, adiciona-se mais um dia:

$ expr 24 * 60 * 60 * 366

31622400

O Unix completou 50 anos. O que isso significa?

Como o Unix representa seu 50º aniversário?

Em 1 de janeiro de 2020, à meia-noite, será o tempo 1577836800. O cálculo é um pouco mais complicado, pois é necessário levar em consideração os anos bissextos. Desde o início da época Unix, houve 12 desses anos, começando em 1972 e terminando em 2016. Portanto, passaram-se 38 anos comuns.

Assim é como o comando expr se parece para contar os segundos dos últimos 50 anos:

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

1577836800

Ou assim, levando em consideração os cálculos anteriores:

$ expr 31536000 * 38 + 31622400 * 12

1577836800

Esse método de registro de tempo tornou os sistemas Unix imunes ao problema Y2K, que preocupou as pessoas no final de 1999, temendo que a transição para o ano 2000 pudesse danificar os sistemas computacionais. As dificuldades foram muito menores do que o esperado. De fato, apenas aplicações que registravam anos em formato de dois dígitos enfrentaram o estouro de datas. Muitos desenvolvedores realizaram trabalho adicional para garantir que suas aplicações não seriam afetadas pelo problema Y2K.

Quando o Unix enfrentará problemas?

Dificuldades semelhantes aguardam os sistemas Unix não antes de 2038, quando as datas armazenadas no formato descrito acima ultrapassarem o espaço de 32 bits. Faltam ainda 18 anos, mas os desenvolvedores do kernel já estão trabalhando para evitar falhas futuras.

O problema de 2038 é às vezes chamado de problema Y2K38. Se não for resolvido até terça-feira, 19 de janeiro de 2038, após essa data, os sistemas podem pensar que é o ano de 1901. Uma das maneiras de resolver esse problema é mudar para a representação de data e hora de 64 bits. Alguns acreditam que isso será muito mais complicado do que parece.

De qualquer forma, ainda é cedo para entrar em pânico. E o que realmente importa hoje é o 50º aniversário dos sistemas Unix, que são reconhecidos como um dos sistemas operacionais mais importantes da história.



Fonte: 3dnews.ru
Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster