유닉스 시간

Unix time, Unix time stamp, POSIX time 등으로 불린다.

1 개요

유닉스 계열의 운영체제를 사용하는 컴퓨터에서 시간을 표시하는 방법이다. 1970년 1월 1일 0시 0분 0초 UTC에서부터 몇 초나 지났는지를 표시한다. 그레고리력을 따르지만 윤초는 따지지 않고 무시된다.

엔터프라이즈 시장은 물론이고 요즘은 소비자 시장에도 유닉스 계열의 운영체제가 워낙 많이 쓰이다 보니 알게 모르게 여기저기 많이 쓰인다. 당장 웬만한 사람들이 손 안에 유닉스 시간이 째깍째깍 흐르는 물건들을 하나씩 들고 다니고 있으니 더 설명이 필요한지?

2 트리비아

2.1 2038년 문제

32비트 시스템에서는 정말 심각한 문제이다. 유닉스 시간이 32비트 시스템에서 표시할 수 있는 최대의 정수인 2,147,483,647에 도달하는 2038년 1월 19일 3시 14분 7초(UTC)가 지나면, 온 세상의 유닉스 시간을 쓰는 장비들의 유닉스 시간이 모조리 -2,147,483,647 또는 0으로 돌아가서 거하게 혼파망이 되는 것이다. iOS의 1970년 벽돌 문제가 전 지구급으로 발생한다면 이 얼마나 끔찍하고 무시무시한가!

자세한 내용은 해당 항목을 참조할 것.

2.2 10억초 문제

2038년 문제와 비슷한 오버플로우 문제이다. 자세한 내용은 해당 항목을 참조할 것.

2.3 아이폰 벽돌 문제

64비트 프로세서를 사용하고 iOS 9 이후 버전을 탑재한 아이폰(5s, 6/6+, 6s/6s+)에서 시간을 수동으로 1970년 1월 1일로 설정 후 재부팅하면 벽돌이 된다. 유닉스 시간이 0과 같거나 보다 작은 값에 대한 예외 처리를 잘못 한 것으로 보인다. 2038년 문제 셀프 체험 버전 9.3에서 해결되었다.

2.4 의미있는 숫자

  • 2005년 3월 18일 01:58:31 UTC

유닉스 시간으로 1,111,111,111이다.

  • 2009년 2월 13일 23:31:30 UTC

유닉스 시간으로 1,234,567,890이다.
구글도 이를 기념하여 로고를 만들었다. "당시 로고 이미지"

  • 2040년 6월 2일 12:57:02 UTC

유닉스 시간으로 2,222,222,222이다.
물론 2038년 문제를 해결한 이후에 나오는 숫자이다.

3 외부 링크

영문 위키피디아의 유닉스 시간
현재 유닉스 시간 보기