{"id":9522,"date":"2015-04-06T10:30:18","date_gmt":"2015-04-06T15:30:18","guid":{"rendered":"http:\/\/ctrl-x.com.mx\/ctrlx\/?p=9522"},"modified":"2015-04-06T10:30:18","modified_gmt":"2015-04-06T15:30:18","slug":"el-efecto-2038","status":"publish","type":"post","link":"https:\/\/ctrl-x.com.mx\/ctrlx\/el-efecto-2038\/","title":{"rendered":"El efecto 2038"},"content":{"rendered":"<h4>El &#8220;<strong>Efecto 2038<\/strong>&#8221; es un bug que, en cierta medida, se parece al &#8220;Efecto 2000&#8221; del que tanto se habl\u00f3 en 1999. Este bug, relativo a la codificaci\u00f3n del tiempo en los sistemas de 32 bits, nos emplaza a un posible fallo de sistemas en enero del a\u00f1o 2034.<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"  wp-image-9527 alignright\" src=\"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-content\/uploads\/2015\/04\/y2k.jpg\" alt=\"y2k\" width=\"182\" height=\"119\" \/>Aunque era algo que se conoc\u00eda, en el a\u00f1o 1999 mucha gente entr\u00f3 en &#8220;modo p\u00e1nico&#8221; cuando los informativos y peri\u00f3dicos no paraban de hablar del Efecto 2000. Tambi\u00e9n conocido como Y2K, bajo este t\u00e9rmino se escond\u00eda un bug que pod\u00eda afectar a sistemas muy antiguos que codificaban el a\u00f1o en dos d\u00edgitos; por tanto, la llegada del a\u00f1o 2000 y su &#8220;00&#8221; podr\u00eda interpretarse como el a\u00f1o 1900 y se podr\u00eda desatar el caos absoluto.<br \/>\n<iframe loading=\"lazy\" width=\"853\" height=\"480\" frameborder=\"0\" src=\"https:\/\/www.youtube.com\/embed\/Y0y2Bnv1djA\" allowfullscreen><\/iframe><br \/>\nLleg\u00f3 el 1 de enero del 2000 y, finalmente, no pas\u00f3 nada grave. Los aviones no cayeron del cielo ni se produjo un apag\u00f3n masivo en el suministro el\u00e9ctrico, las empresas invirtieron en solventar el problema y todos los temores se quedaron en una especie de leyenda urbana que muchos recordamos como algo del pasado que, realmente, qued\u00f3 amplificado por los medios de comunicaci\u00f3n y algunas campa\u00f1as gubernamentales algo exageradas.<br \/>\n<iframe loading=\"lazy\" width=\"960\" height=\"720\" frameborder=\"0\" src=\"https:\/\/www.youtube.com\/embed\/A45UAnNktJs\" allowfullscreen><\/iframe><br \/>\nQuiz\u00e1s sea demasiado pronto para pensar en ello y, por este motivo, no se conozca mucho pero el &#8220;<a href=\"http:\/\/es.wikipedia.org\/wiki\/Problema_del_a%C3%B1o_2000\" target=\"_blank\" rel=\"noopener noreferrer\">Efecto 2000<\/a>&#8221; no es el \u00fanico bug relativo a las fechas que existe y, de hecho, dentro de 24 a\u00f1os nos enfrentaremos a algo parecido en lo que se conoce como el <a href=\"http:\/\/es.wikipedia.org\/wiki\/Problema_del_a%C3%B1o_2038\" target=\"_blank\" rel=\"noopener noreferrer\">Efecto 2038<\/a>.<\/p>\n<h5>El Efecto 2038<\/h5>\n<p>Dudo mucho que en el a\u00f1o 2038 nos enfrentemos a un apocalipsis como el que algunos anunciaban con la llegada del a\u00f1o 2000 aunque, en cierta medida, estamos hablando de un problema parecido.<br \/>\nEn la norma IEEE 1003, tambi\u00e9n conocido como <a href=\"http:\/\/es.wikipedia.org\/wiki\/POSIX\" target=\"_blank\" rel=\"noopener noreferrer\">POSIX<\/a>, se definen una serie de est\u00e1ndares que normalizan una serie de interfaces para sistemas operativos y, de esta forma, poder crear aplicaciones multiplataforma. Entre los est\u00e1ndares que define POSIX encontramos la medida de tiempos de los sistemas de 32 bits; es decir, el reloj que usan estos sistemas.<br \/>\nEl reloj que tienen muchos computadores no es m\u00e1s que un contador de segundos que se va incrementando con cada segundo que pasa. La gracia de este sistema es que se toma una fecha como referencia y, cuando se quiere saber la hora, se mira el contador de segundos y se hace la traslaci\u00f3n a formato de fecha tradicional (d\u00eda, mes, a\u00f1o, hora, minutos y segundos). Concretamente, la fecha de referencia es el 1 de enero de 1970 y, por tanto, el tiempo se mide como el n\u00famero de segundos que han pasado desde dicha referencia.<br \/>\nEn un sistema de 32 bits, la variable del tiempo se codifica como un entero con signo y, por tanto, se deja un bit para almacenar el signo y los 31 bits restantes para codificar los segundos. Si hacemos el c\u00e1lculo de 2 elevado a 31 obtenemos como resultado 2.147.483.648 segundos que es un equivalente a unos 68 a\u00f1os.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9523\" src=\"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-content\/uploads\/2015\/04\/Efecto-2038.gif\" alt=\"Efecto-2038\" width=\"600\" height=\"195\" \/><br \/>\nDicho de otra forma, cuando lleguen las 03:14:07 UTC del 19 de enero de 2038, el contador de segundos llegar\u00e1 al m\u00e1ximo n\u00famero que puede almacenar en positivo y, si se sigue incrementando, se saldr\u00e1 del rango de los n\u00fameros positivos y, por desbordamiento, entrar\u00e1 en el intervalo de los n\u00fameros negativos. Tras llegar al n\u00famero 2.147.483.647, el contador se trasladar\u00e1, en el intervalo de un segundo, al -2.147.483.648 y la fecha del sistema pasar\u00e1 al 13 de diciembre de 1901.<br \/>\nEste gran salto al pasado, evidentemente, no es algo simple y es un bug que se mira con cierta atenci\u00f3n porque, al igual que ocurr\u00eda en 1999, nadie sabe a ciencia cierta los efectos que podr\u00eda tener en los sistemas desplegados.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-9525 alignleft\" src=\"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-content\/uploads\/2015\/04\/64bit.png\" alt=\"64bit\" width=\"100\" height=\"100\" \/>\u00bfSon los 64 bits una soluci\u00f3n al problema? Obviamente, migrar hacia sistemas de 64 bits elimina el problema pero existen muchos sistemas antiguos (por ejemplo basados en COBOL) que s\u00ed requerir\u00e1n soluciones (o migraciones).<br \/>\n&nbsp;<br \/>\nSi alguien tiene curiosidad con este tema, quiz\u00e1s le interese probar la <a href=\"http:\/\/www.epochconverter.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">herramienta de conversi\u00f3n<\/a> que ofrecen en <a href=\"http:\/\/epochconverter.com\" target=\"_blank\" rel=\"noopener noreferrer\">Epoch Converter<\/a>.<br \/>\n<iframe loading=\"lazy\" width=\"853\" height=\"480\" frameborder=\"0\" src=\"https:\/\/www.youtube.com\/embed\/ljDYIVEVQeU\" allowfullscreen><\/iframe><\/p>\n<pre>Fuente:hipertextual.com<\/pre>\n<div id=\"s3gt_translate_tooltip\" style=\"left: 255px; top: 2678px;\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>El &#8220;Efecto 2038&#8221; es un bug que, en cierta medida, se parece al &#8220;Efecto 2000&#8221; del que tanto se habl\u00f3 en 1999. Este bug, relativo a la codificaci\u00f3n del tiempo en los sistemas de 32 bits, nos emplaza a un posible fallo de sistemas en enero del a\u00f1o 2034. Aunque era algo que se conoc\u00eda,&hellip; <a class=\"more-link\" href=\"https:\/\/ctrl-x.com.mx\/ctrlx\/el-efecto-2038\/\">Seguir leyendo <span class=\"screen-reader-text\">El efecto 2038<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":9526,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,23,30,51,54],"tags":[80,86,108,134,787,1072,1695,2530,4032,4639,5196,5207],"class_list":["post-9522","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-geek","category-internet","category-seguridad","category-tecnologia","tag-19-de-enero-de-2038","tag-2-147-483-647","tag-32-bits","tag-64-bits","tag-bug","tag-cobol","tag-efecto-2038","tag-ieee-1003","tag-posix","tag-sistemas","tag-unix","tag-utc","entry"],"_links":{"self":[{"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/posts\/9522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/comments?post=9522"}],"version-history":[{"count":0,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/posts\/9522\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/media?parent=9522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/categories?post=9522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ctrl-x.com.mx\/ctrlx\/wp-json\/wp\/v2\/tags?post=9522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}