
{"id":30,"date":"2007-01-22T09:36:18","date_gmt":"2007-01-22T12:36:18","guid":{"rendered":"http:\/\/talsoft.com.ar\/weblog\/?p=30"},"modified":"2007-01-22T09:36:18","modified_gmt":"2007-01-22T12:36:18","slug":"problema-del-ano-2038","status":"publish","type":"post","link":"https:\/\/www.talsoft.com.ar\/site\/es\/problema-del-ano-2038\/","title":{"rendered":"Problema del a\u00c3\u00b1o 2038"},"content":{"rendered":"<p>En inform\u00c3\u00a1tica, el problema del a\u00c3\u00b1o 2038 podr\u00c3\u00ada causar que una parte del software fallase en ese a\u00c3\u00b1o. El problema afecta a los programas que usen la representaci\u00c3\u00b3n del tiempo basada en el sistema POSIX, que se basa en contar el n\u00c3\u00bamero de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 (ignorando los segundos intercalares). Esta representaci\u00c3\u00b3n es est\u00c3\u00a1ndar en los sistemas tipo Unix y tambi\u00c3\u00a9n en los programas escritos para muchos otros sistemas operativos debido al gran alcance del lenguaje de programaci\u00c3\u00b3n C. En la mayor\u00c3\u00ada de sistemas de 32 bits, el tipo de dato time_t usado para guardar el contador de segundos es un entero de 32 bits con signo, es decir, que puede representar un rango de n\u00c3\u00bameros entre -2147483648 y 2147483647 (-231 y 231-1; 1 bit para el signo, y 31 para el valor absoluto), por lo que el \u00c3\u00baltimo segundo representable con este formato ser\u00c3\u00a1 a las 03:14:07 UTC del 19 de enero de 2038, cuando el contador llegue a 2147483647. Un segundo despu\u00c3\u00a9s, el contador se desbordar\u00c3\u00a1, y saltar\u00c3\u00a1 al valor -2147483648, que causar\u00c3\u00a1 el fallo de programas que interpretar\u00c3\u00a1n el tiempo como que est\u00c3\u00a1n en 1901 \u00c3\u00b3 1970 (dependiendo de la implementaci\u00c3\u00b3n), en vez de 2038. A su vez, esto causar\u00c3\u00ada c\u00c3\u00a1lculo y procesamiento incorrecto.<\/p>\n<p>No hay una forma sencilla de arreglar este problema para las combinaciones existentes de CPU\/SO. Cambiar la definici\u00c3\u00b3n de time_t para usar un tipo de 64 bits romper\u00c3\u00ada la compatibilidad binaria para el software, almacenamiento de datos, y, por lo general, cualquier cosa que tenga algo que ver con la representaci\u00c3\u00b3n binaria del tiempo. Cambiar time_t a un entero de 32 bits sin signo afectar\u00c3\u00ada a los programas que hacen c\u00c3\u00a1lculos con diferencias de tiempo.<\/p>\n<p>La mayor\u00c3\u00ada de sistemas operativos para arquitecturas de 64 bits utilizan enteros de 64 bits para time_t. La migraci\u00c3\u00b3n a estos sistemas est\u00c3\u00a1 todav\u00c3\u00ada en proceso y se espera que se complete antes del 2038. Sin embargo, cientos de millones de sistemas de 32 bits son utilizados todav\u00c3\u00ada en el 2006, muchos en sistemas embebidos, y no es posible asegurar que todos ellos habr\u00c3\u00a1n sido reemplazados antes del 2038.<\/p>\n<p>Usar un entero de 64 bits retrasar\u00c3\u00ada la fecha del problema unos 290 mil millones de a\u00c3\u00b1os. Para ser m\u00c3\u00a1s precisos, ocurrir\u00c3\u00ada el domingo, 4 de diciembre del a\u00c3\u00b1o 292 277 026 596 a las 15:30:08 UTC.<\/p>\n<p>Fuente: <a href=\"http:\/\/es.wikipedia.org\/wiki\/Problema_del_a\u00c3\u0192\u00c2\u00b1o_2038\"><font color=\"#005ec8\">wikipedia<\/font><\/a><\/p>\n<p>Autor: <a href=\"http:\/\/hackecuador.org\/\">http:\/\/hackecuador.org\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En inform\u00c3\u00a1tica, el problema del a\u00c3\u00b1o 2038 podr\u00c3\u00ada causar que una parte del software fallase en ese a\u00c3\u00b1o. El problema afecta a los programas que usen la representaci\u00c3\u00b3n del tiempo basada en el sistema POSIX, que se basa en contar el n\u00c3\u00bamero de segundos transcurridos desde el 1 de enero de 1970 a las 00:00:00 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[4],"tags":[],"class_list":["post-30","post","type-post","status-publish","format-standard","hentry","category-noticias"],"_links":{"self":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts\/30","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/comments?post=30"}],"version-history":[{"count":0,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/posts\/30\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/media?parent=30"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/categories?post=30"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.talsoft.com.ar\/site\/wp-json\/wp\/v2\/tags?post=30"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}