Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.

Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.

Like this presentation? Why not share!

- Y2k38 by KiruthikaTamilarasan 385 views
- Will the computer world collapse in... by Joris Berthelot 1172 views
- touch-systems-ltd by Dan Corcoran +LION 184 views
- Why Unix? by Isaac George 142 views
- IP Spoofing, CS265 1 IP Spoofing by Sandra4211 2745 views
- HKG15-206: Solving the year 2038 pr... by Linaro 1334 views

1,250 views

1,052 views

1,052 views

Published on

y2k38 the problem which is supposed to rise

No Downloads

Total views

1,250

On SlideShare

0

From Embeds

0

Number of Embeds

68

Shares

0

Downloads

0

Comments

1

Likes

4

No embeds

No notes for slide

- 1. Presented by,<br />Deepthi Krishna.R<br />
- 2. CURRENT TECHNOLOGY<br /><ul><li>Currently all software and systems that store system time as a signed 32bit integer, and interpret this number as the number of seconds since 00:00:00 January 1, 1970.</li></li></ul><li>THE Y2K38 PROBLEM<br /> The latest time that can be represented this way is 03:14:07 UTC on Tuesday, 19 January 2038. Times beyond this moment will "wrap around" and be stored internally as a negative number, which these systems will interpret as a date in 1901 rather than 2038.<br />
- 3. AN INSTANCE<br />
- 4. WHERE’S THE PROBLEM<br /><ul><li> The structure time_t is a value type which stores time in a 32-bit signed integer. It stores the time as number of seconds elapsed since January 1, 1970.
- 5. So it is capable of representing time which can be addressed within total of 231 seconds.
- 6. According to this, the latest time that it can store is 03:14:07 UTC, Tuesday, January 19, 2038. After this time, the sign bit of the 32-bit signed integer will be set and it will represent a negative number. </li></li></ul><li>WRAP AROUND DATE<br /> The time is stored as number of seconds elapsed since 1st January 1970, this negative number will be added to compute the time as per the POSIX standards. But this being a negative number it will calculate the time by subtracting this many seconds from 1st January 1970 which will eventually generate a historical date-time which will cause the applications to fail. This time will be Friday, December 1901 and is called the wrap-around date<br />
- 7. AN INSTANCE<br />
- 8. WHY IS THE PROBLEM<br /><ul><li>Y2K38 problems arise from programs not allocating enough bits to internal time.
- 9. Unix internal time is commonly stored in a data structure using a long int containing the number of seconds since 1970.
- 10. In a 32-bit machine, this value is sufficient to store time up to 18-jan-2038. After this date, 32-bit clocks will overflow and return erroneous values such as 32-dec-1969 or 13-dec-1901. </li></li></ul><li>2,147,483,647<br />
- 11. An examle C program<br />int main (int argc, char **argv) <br />{ <br /> time_t t; <br /> t = (time_t) 1000000000;<br /> printf ("%d, %s", (int) t, asctime (gmtime (&t))); <br /> t = (time_t) (0x7FFFFFFF); <br /> printf ("%d, %s", (int) t, asctime (gmtime (&t))); <br /> t++; <br /> printf ("%d, %s", (int) t, asctime (gmtime (&t))); <br />return 0; <br />} <br />
- 12. OUTPUT<br /><ul><li>1000000000, Sun Sep 9 01:46:40 2001
- 13. 2147483647, Tue Jan 19 03:14:07 2038
- 14. 2147483648, Fri Dec 13 20:45:52 1901</li></li></ul><li>LIVE EXAMPLE<br /><ul><li>In May 2006, reports surfaced of an early Y2038 problem in the AOL Server software. The software would specify that a database request should "never" time out by specifying a timeout date one billion seconds in the future. One billion seconds (just over 31 years 251 days and 12 hours) after 21:27:28 on 12 May 2006 is beyond the 2038 cutoff date, so after this date, the timeout calculation overflowed and calculated a timeout date that was actually in the past, causing the software to crash.[</li></li></ul><li>THE COUNTDOWN BEGINS<br /><ul><li>32-bit CPUs may be obsolete in desktop computers and servers by 2038.
- 15. Most programs maybe affected in or very close to 2038.
- 16. Hardware, such as clock circuits, which has adopted the Unix time convention, may also be affected if 32-bit registers are used.
- 17. This will likely cause problems for users of these systems due to erroneous calculations</li></li></ul><li>Similar Problems<br /><ul><li>IBM PC hardware suffers from the Year 2116 problem. For a PC, the beginning of time starts at January 1, 1980, and increments by seconds in an unsigned 32-bit integer in a manner similar to UNIX time. By 2116, the integer overflows.
- 18. Windows NT uses a 64-bit integer to track time. However, it uses 100 nanoseconds as its increment and the beginning of time is January 1, 1601, so NT suffers from the Year 2184 problem. </li></li></ul><li>SOLUTION<br /><ul><li>Re-define the time_t structure as 64-bit.
- 19. Change time_t from 32-bit signed to 32-bit unsigned.
- 20. Shift from 32-bit systems to 64-bit systems.</li></li></ul><li>ANY QUERIES?<br />ANY QUERIES?<br />

No public clipboards found for this slide

×
### Save the most important slides with Clipping

Clipping is a handy way to collect and organize the most important slides from a presentation. You can keep your great finds in clipboards organized around topics.

email:- kadavkars67@gmail.com

or swapnilkadavkar@gmail.com