10억 초 문제

덤프버전 :


파일:external/image.slidesharecdn.com/fundamentos-del-computador-35-638.jpg
[1]

1. 설명
2. 발생 원인
3. 만약 수정되지 않았다면?
4. 이 문제가 발견됐던 프로그램들
5. 여담
6. 관련 문서
7. 외부 링크


Unix Billennium[2] / 十億秒 問題
1,000,000,000초 문제


1. 설명[편집]


UTC 2001년 9월 9일 1시 46분 40초에 발생한 컴퓨터 버그.


2. 발생 원인[편집]


컴퓨터는 내부적으로 시각을 처리할 때 유닉스 시간을 사용하는데 일부 구형 프로그램의 경우 이 유닉스 시간을 문자열 등의 방법을 통해 9자리 10진수로 저장한다. 그런데 만약 '유닉스 시간이 10억초(약 31.7년)를 넘겨 10진수로 10자리가 되면' 오버플로가 발생해서 프로그램에 정렬과 관련된 문제를 일으킨다. 즉 "999,999,999"다음에 "1,000,000,000"이 되어야 하지만 9자리 수만 저장할 수 있었으므로 맨 앞의 1이 삭제되어 "000,000,000"으로 처리되는 것. 자세한 것은 오버플로 문서 참조.

이 버그는 발견된 이후 곧바로 수정되었다. 그리고 구형 프로그램에만 해당됐던 문제이기 때문에 2년 전의 Y2K보다 파장도 매우 적어서 그냥 하나의 기념일이 되었다.


3. 만약 수정되지 않았다면?[편집]


10억 초마다 시간이 리셋되기 때문에 정렬 관련으로 혼란을 겪을 수 있다. 주로 게시판에서 문제가 생길 가능성이 높다.


4. 이 문제가 발견됐던 프로그램들[편집]




5. 여담[편집]


코렐 사의 '워드퍼펙트'라는 프로그램의 문서 형식 중 하나인 'Filtrix'에서도 10억 초 문제가 발견되었는데, 코렐이 이미 워드퍼펙트에 대한 지원을 중단해버려서 유저들이 직접 패치를 배포했다.

시간 변수의 오버플로 문제라는 점에서 2038년 문제와 비슷하다. 2038년 문제는 32비트 컴퓨터 시스템의 문제이다.

9.11 테러 이틀 전에 발생했다.


6. 관련 문서[편집]


  • 유닉스 시간
  • 오버플로
  • 2000년 문제
  • 10000년 문제
  • 497일 문제
  • 2010년 문제
  • 2038년 문제[3]


7. 외부 링크[편집]


영문 위키피디아의 유닉스 시간
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-10-15 14:00:40에 나무위키 10억 초 문제 문서에서 가져왔습니다.

[1] 위의 사진은 덴마크에서 열린 행사라고 한다.[2] Billion(10억)과 Millennium의 합성어.[3] 유닉스 시간을 32비트 정수로 처리하면서 생기는 문제.