왜 유닉스 시간은 1970-01-01부터 시작되나요?

왜 유닉스 시간은 1970-01-01부터 시작되나요?

왜 유닉스 시간은 1970-01-01부터 시작되나요? 왜 1971-01-01이나 다른 날짜가 아닌가?

답변1

Google이 내 옆에 있지 않으면 답을 알 수 없습니다.

~에서여기(무료 구독 필요):

리눅스는 공식 "생일"(컴퓨팅 용어로 "에포크"라고 함)인 1970년 1월 1일부터 시작하여 초 단위로 시간을 계산하는 유닉스 전통을 따릅니다.

더 완전한 설명은 여기에서 찾을 수 있습니다.유선 뉴스 기사. 초기 유닉스 엔지니어들은 시간의 시작에 대해 일관된 날짜가 필요했기 때문에 임의로 이 날짜를 선택했으며, 1970년 설날이 가장 편리해 보였다고 설명합니다.

답변2

유닉스는 1970년에 탄생하지 않았습니다.

~에서Wired - Unix가 10억 틱을 기록했습니다.:

유닉스 시대는 1970년 1월 1일 자정이다.오늘은 유닉스의 "생일"이 아니라는 점을 기억하는 것이 중요합니다.- 운영체제의 대략적인 버전은 1960년대쯤에 등장했습니다. 대신에 Bell Labs를 설립한 Dennis Ritchie에 따르면 1970년대 초에 날짜가 시스템에 프로그래밍되는 것은 단지 편리했기 때문입니다. 유닉스 작업을 수행한 최초의 엔지니어 중 한 명입니다.

답변3

나는 이 질문을 좋아한다 :-)

답변해 보겠습니다. (물론 출처: 인터넷)

Unix 시간은 32비트 정수(정수)로 표시되며 양수 또는 음수(부호 있음)일 수 있습니다. Unix는 원래 1960년대와 1970년대에 개발되었으므로 Unix 시간의 "시작"은 1970년 1월 1일 자정 GMT(그리니치 표준시)로 설정되었습니다. 해당 날짜/시간에는 Unix 시간 값 0이 할당되었습니다. 이를 유닉스 시대라고 합니다.

32비트 부호 있는 정수는 -2147483648에서 2147483647 사이의 정수를 나타낼 수 있습니다. Unix 시간은 0에서 시작하므로 음수 Unix 시간 값은 epoch에서 시간이 거꾸로 가고 양수는 시간이 앞으로갑니다. 즉, Unix 시간 범위의 범위는 1901년 12월 13일의 Unix 시간 값 -2147483648 또는 20:45:52 GMT부터 2038년 1월 19일의 Unix 시간 값 -2147483647 또는 3:14:07 GMT까지입니다. 이 날짜는 Unix 시간의 시작, 선사시대, 끝을 나타냅니다.

Unix 시간은 2038년 1월 19일 03:14:07 GMT에 종료됩니다. 2038년 1월 19일 03:14:08 GMT에 여전히 32비트 Unix 시간을 사용하는 모든 컴퓨터에서 오버플로가 발생합니다. 이른바 '2038년 문제'다. 어떤 이들은 이것이 '2000년 문제'보다 더 큰 문제가 될 것이라고 믿는다. 2038년 문제에 대한 해결책은 Unix 시간을 64비트 정수로 저장하는 것입니다. 대부분의 64비트 운영 체제에서는 이미 이 작업을 시작했지만 많은 시스템은 2038년 이전에 업데이트되지 않을 수 있습니다.

답변4

인용하다내 대답SE.레트로컴퓨팅에서,왜 유닉스 시대는 1970년 1월 1일인가?:


이것JdeBP의 코멘트내 관심을 불러 일으켰습니다.

쉿! Dennis Ritchie는 Poul-Henning Kemp, Warren Toomey 및 WIRED를 위해 이를 문서화했습니다. Warner Losh도 이에 대해 보고했습니다. DMR이 실제로 사람들에게 이에 대해 말한 것을 알고 있습니다.

그래서 여기 있습니다데니스 리치이에 대한 댓글과 그가 언급한 오버플로에 대한 간략한 설명입니다.

~에서Wired - Unix가 10억 틱을 기록했습니다.,

유닉스 시대는 1970년 1월 1일 자정이다. 이것은 Unix의 "탄생일"이 아니라는 점을 기억하는 것이 중요합니다. 운영 체제의 대략적인 버전은 1960년대쯤에 만들어졌습니다. 대신 Dennis Ritchie에 따르면 날짜는 단지 편리했기 때문에 1970년대 초에 시스템에 프로그래밍되었습니다. Dennis Ritchie는 초기에 Bell Labs에서 Unix를 연구하던 엔지니어 중 한 명이었습니다.

"당시에는 테이프도 없었고, 여러 파일 시스템을 운영하고 있었고, 계속해서 시간의 근원을 바꾸고 있었다”고 말했다. “그래서 결국 우리는 '시간이 지나도 넘치지 않는 걸 고르자'고 했죠. 하지만. 1970년은 여느 해와 마찬가지로 좋은 해인 것 같았습니다."

1년은 약 3,200만 초로, 10억 초가 지나가는 데 약 31년이 걸린다는 뜻이다. 분명히 올해 초 일부 수학 괴짜들은 2001년이 1970년 이후 31년이라는 사실을 발견했고, 그들 중 일부는 이것이 "오버플로"(날짜 버퍼가 숫자로 가득 차서 컴퓨터가 이상하게 작동하는 현상)를 나타낼 수 있다고 생각했습니다.

그 외에도 더 많은 역사적 내용이 있는데,워너 로체이메일에 명시된,Re: [TUHS] 2038 버그..., 2021년 1월 4일:

내 이해로는 1970년 1월 1일부터, 적어도 Ed6은 아니더라도 Ed5부터라는 것입니다.

4판부터 그랬다.

제3판에서는 1972년 이후 60Hz 틱 수이며 "이는 2.26년마다 위기를 보장합니다."라는 문구가 적혀 있습니다.

시대를 기준으로 삼는 것은... 까다로울 것입니다... 많은 수학이 1970년의 기원을 가정하고 있으며 일관된 분석을 통해서도 모든 것이 명확하지는 않습니다.

덜 추악한 것은 time_t를 서명된 대신 서명되지 않은 것으로 선언하는 것입니다... 코드가 덜 깨질 것입니다... time_t를 64비트로 만들면 많은 오래된 앱처럼 바이너리 호환성에 신경 쓰지 않는다고 명시하더라도 코드도 깨질 것입니다. 프로그램은 모두 time_t가 32비트라는 것을 알고 있습니다.

워너

중요한 날들

  • V11972년 출시
  • V21972년 6월 출판
  • V31973년 2월 출판
  • V41973년 11월 출판
  • V51974년 6월 출판
  • V61975년 5월 출판
  • V71979년 1월 출판
  • V81985년 발매
  • ...

관련 정보