유닉스 타임과 2038년 문제 이야기
https://steemit.com/kr/@yani98/1970-1-1
[급질문]1970년1월1일이 무슨 의미가 있나요?
라고 질문을 올려주셨습니다
1970년은 뭘까요?
글을 보면 스팀잇서버의 시간표시에 대한 내용입니다
우선 결론부터 보면 스팀잇 서버에 기록되어 있는 시간
표시입니다
서버시간은 유닉스타임이라고...
합니다
협정 세계시(UTC)는 1972년 1월 1일부터
시행된 국제 표준시입니다.
협정 세계시를 세계 협정시라고 단어 순서를
바꾸어 표현하고 사용하는 경우도 많습니다.
UTC는 국제원자시와 윤초 보정을 기반으로
표준화되었습니다.
세계시는 1972년 1월 1일 0시를 기점으로 사용합니다
곧 이 날 0시를 기준으로 "원자시"와 "원자초"를 적용하는데
원자초란 국제천문연맹 (IAU)이 1967년, 세슘
원자시계에 기본을 둔 "원자초" 시간단위입니다.
3000만년에 1초의 오차를 보이는 매우 정밀한 시계입니다
GMT 시간 기점은 1970년 1월 1일이고
UTC 시간 기점은 1972년 1월 1일입니다
그런데 UTC 기점보다 더 앞쪽 시간을 사용하고
있네요?
왜일까요?
그건... 유닉스(UNIX)가 1969년에 개발하기
시작하여 1973년에 AT&T 벨 연구소에서 처음
발표된 운영체제라서 그렇습니다
UTC의 약자 역시 국제 전기 통신 연합은 협정 세계시에 대한
통일된 약자를 원했으나, 영어권의 사람들과
프랑스어권의 사람들은 각각 자신의 언어로 된 약자인
CUT(Coordinated Universal Time)와
TUC(Temps Universel Coordonné)를 사용하길 원했습니다.
이 분쟁은 결국 두 언어 모두 C, T, U로 구성되어 있다는
것에 착안하여 UTC라는 약어를 탄생시켰습니다.
"UTC"는 보통 "Universal Time Code"이나
"Universal Time Convention"의 약어라 알려지기도
하는데 이는 틀린 것이라고 합니다.
32비트로 표현된 유닉스 시간은
1970년 1월 1일 00:00 (UTC)에서 2,147,483,647 (231 - 1)
지난 후인 2038년 1월 19일 03:14:08 UTC에
2038년 문제를 발생시킨다고하죠
year 2038 problem, Unix Millennium bug, y2k38
라고
하는데 32비트운영체제의 버퍼오버플로 오류가 발생하게
된다고 하네요
해결책은 64비트운영체제로 바꾸면 된다고 합니다
64비트인경우에는 1970년01월01일로 표시되지않고
1601년 01월 01일 00:00:00.0000000 (00000000 : 00000000)
이런 형태로 표시된다고 하네요
질문에 친절한 포스팅 감사합니다.
의문이 풀렸네요.
감사합니다
!!! 힘찬 하루 보내요!
https://steemit.com/kr/@mmcartoon-kr/5r5d5c
어마어마합니다!! 상금이 2억원!!!!!!
공모하고 싶은데.. 그림실력이... ㅠㅠ