연예인 2038년 1월 19일, 전 세계 32비트 컴퓨터에서 발생할 심각한 문제[38]
페이지 정보
작성자 고기먹는스님 댓글 0건 조회 43회 작성일 24-03-23 05:04본문
2038년 1월 19일 3시 14분 7초(한국시간 12시 14분 7초)
전 세계 컴퓨터에서는 심각한 일이 발생하게 된다.
컴퓨터 시간이 1월 19일 3시 14분 7초 이후에 갑자기 시간이 1901년 12월 13일 20시 45분 52초로 돌아가는 것을 알 수 있다.
왜 이런 일이 발생할까? 유닉스 계열 운영체제를 사용하는 컴퓨터에서는 '유닉스 시간'을 사용하여 시간을 표시한다.
이때 유닉스 시간의 기준 시간은 1970년 1월 1일 0시 0분 0초인데, 그때부터 흐른 시간을 초 단위로 보여주는 것이 바로 '유닉스 시간' 인 것이다.
지금 글을 쓰고 있는 2024년 3월 23일은 약 17억 1100만 초가 지나는 중인데. 지금도 계속 1초가 지날때마다 유닉스 시간도 마찬가지로 지나고 있다.
https://www.epochconverter.com/clock
(유닉스 시간을 볼 수 있는 사이트)
그렇다면 유닉스 시간에 무슨 문제가 있어서 이런 일이 발생하는 것일까? 눈치가 빠른 사람이라면 Decimal이라는 숫자를 보고 어느정도 예상했을 것이다.
바로 '오버플로 현상' 때문인데, 32비트의 경우 컴퓨터로 표현하는 크기의 최대가 2,147,483,647이다.
그 시간이 지나면, 모든 32비트 컴퓨터에서는 32비트 유닉스 시간으로 2038년 1월 19일 3시 14분 7초 이후를 구현할 수 없기 때문에 초기값인 0, 1970년 1월 1일로 돌아가거나, -2,147,483,647초가 앞선 1901년 12월 13일로 돌아가게 되는 것이다.
실제로 네이버 달력 프로그램도 2038년 문제의 영향으로 2037년 12월까지만 표시되고 있다.
(2037년 12월 이후는 무슨 버튼을 눌러도 넘어가지가 않는다)
물론 2038년 문제가 일반적인 대중에게는 큰 영향을 미치지 않을 것이라는 전문가가 많다.
우리는 32비트 컴퓨터 말고도 64비트 컴퓨터도 보편적으로 사용하고 있고, 많은 프로그램들이 64비트에 맞추어 설계되고 있기 때문이다.
또한 2038년까지 14년의 시간이 아직 남아있고, 그 때는 우리가 64비트 운영체제를 대부분 사용하게 될 가능성이 높으니 말이다.
하지만 현재 상황에서는 적지 않은 기관에서 과거 사용하던 32비트 기반 운영체제를 사용하고 있다. 이런 기관에서는 수십 년 이상 업그레이드 하지 않고 과거의 운영체제와 프로그램을 사용하고 있으므로, 기관 입장에서는 2038년 전에 반드시 64비트로 시스템을 바꿔야 하니 참으로 곤란할 수 밖에...
실제로 많은 인증기관의 인증서 유효기간 만료 일자는 2038년 1월로 설정되어 있고, 이 인증서를 기반으로 수많은 인터넷 서버나 어플리케이션, 계정보안과 암호화 작업을 하고 있으므로 2038년 이전에 이러한 인증서들은 반드시 2038년 문제를 해결해야 하는 상황이다...
실제로 아이폰으로 2038년 이후로 시간을 설정한 결과, 2038년 1월 이후로는 시간을 절대 설정할 수가 없다.
참 심각한 결과가 발생할 수 있는 오류지만, 그래도 2000년에 y2k문제를 어렵지 않게 극복한 인류 입장에서 2038년 문제도 쉽게 극복할 수 있을 수 있으므로 아직 크게 걱정하지는 않아도 될 것 같다는 게 필자의 생각이다.
참고로, 64비트의 경우에는 태양이 수명을 다해 폭발하고도 남은, 2922억년 후에 오버플로가 발생하기 때문에 64비트는 인류가 3000억년을 존속하지 않는 한 걱정할 필요는 없다.
끝!
댓글목록
등록된 댓글이 없습니다.