- PR -

西暦2038年問題

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-03 08:17
 5〜6年前までUNIX系を使っていた人ならご存じのはずですが。

 「時間」を、1970年1月1日午前0時0分0秒から経過秒数で持っているため、4バイト(符号1ビット)では2038年中に桁が足りなくなるということです。Solarisのいつ頃からかは対応してあるはずだけど。。。


 「そんなときまで使わんからええやろ」と言っていると、「時間」を2倍して計算する処理があったそうな。先送りの問題が顕在化した例やね。
なか-chan@最愛のiMac
ぬし
会議室デビュー日: 2002/07/17
投稿数: 385
お住まい・勤務地: 和光市・世田谷区
投稿日時: 2004-02-03 11:09
Jittaさんこんにちは。

何のことかと思いましたが、銀行ATMが止まった件の原因がこれだったんですね。
(参照元記事が設定されているのに気が付きませんでした...)

作った当時はそんなに長く使われると思っていなかったんでしょうかね?
人が作るものだから完璧はありえないとしても、ちょっと間違えば怖いですね。

こういうシステムを作る場合ってどこまでありえない状況を想定しているのでしょうか?
テロや戦争でデータセンターごと無くなってしまうなどという状況は今ではもう
当然のように想定、対処されているのでしょうか?
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-02-03 11:17
引用:

何のことかと思いましたが、銀行ATMが止まった件の原因がこれだったんですね。
(参照元記事が設定されているのに気が付きませんでした...)


おおお!昨日の記事だったんですね。見落としてた!
Y2Kの時は世界中大騒ぎしましたが、UNIX関係者はこっちの方も騒いでた気がします。
32bitマシンでtime_tがlongにtypedefされてる限り、絶対に防げないんですよね。
まあでも、今の主流のUNIXはだいたい64bitだろうし、だとすれば問題ないのかな。

Y2K当時の主流の意見は、2038年より前に32bitマシンで稼動するUNIXが無くなるだろう、
というものでした。でも、2倍して使ってたというのは盲点ですね。。。

引用:

こういうシステムを作る場合ってどこまでありえない状況を想定しているのでしょうか?


まあ、ほとんど想定していないと言った方が正しいような・・・
でも、何でtime_tを2倍するんだろう?っていうか、2倍したら溢れるくらいは
さすがに想定しても良い気もするなあ・・・。


[ メッセージ編集済み 編集者: おばけ 編集日時 2004-02-03 11:20 ]
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2004-02-03 11:41
unibon です。こんにちわ。

「2001年9月9日問題(経過秒数が10進数表記で桁数が9桁から10桁に変わる)」などは、あれほど騒がれたのになんだか拍子抜けしますね。名探偵のように頭が柔軟なほうが良いのかもしれません。
問題となる年月日を公募し、当たったら賞金を出すなどすれば、的確な予報が出せるかもしれないと思いました。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2004-02-03 11:47
unibon です。こんにちわ。

引用:

おばけさんの書き込み (2004-02-03 11:17) より:
でも、何でtime_tを2倍するんだろう?っていうか、2倍したら溢れるくらいは
さすがに想定しても良い気もするなあ・・・。


憶測ですが、2つの時刻(たとえばなにかの処理の開始時刻と終了時刻)の平均を求める場合に、
(a / 2) + (b / 2)
とやると精度が落ちるので、
(a + b) / 2
としてたとか。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-03 12:04
引用:

なか-chanさんの書き込み (2004-02-03 11:09) より:

(参照元記事が設定されているのに気が付きませんでした...)


すみません、もっとはっきり書いておくべきでしたね。


> 作った当時はそんなに長く使われると思っていなかったんでしょうかね?
> 人が作るものだから完璧はありえないとしても、ちょっと間違えば怖いですね。

 「ソフトよりハードの寿命が来る」というのが、当時の意見でした。が、「ハードを新しくしてもソフトはそのまま」とか、「耐用年数って何?」な世界では、いつまでも使われるんですよね。。。


> テロや戦争でデータセンターごと無くなってしまうなどという状況は今ではもう
> 当然のように想定、対処されているのでしょうか?

 例えば、某ガス会社は、本社から離れた場所に、活断層の位置も調べて、サブセンターを建てました。システムはそれぞれの場所で二重化されているため、都合四重化されています。センター間は無線LANです。
 これは都市インフラで、ガスは一度止めると復旧が大変だから行ったことで、一般企業であればバックアップデータを遠隔保存するくらい?が、「仕事をする場所」がなくなれば、いくらデータがあってもムダ、と思うのですが・・・

 いや、あのとき、東京で受注したシステムを神戸で作っていたのですが、東京のお客は「神戸の地震なんか関係ないでしょ」。。。我々(開発系の会社)は、人間のバックアップも必要なようです。。。

[ メッセージ編集済み 編集者: Jitta 編集日時 2004-02-03 12:05 ]
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-02-03 23:03
引用:

こういうシステムを作る場合ってどこまでありえない状況を想定しているのでしょうか?


先日、2924億年問題(符号付き64bit整数があふれるとき)を
解決する方法を考えてみました

引用:

「2001年9月9日問題(経過秒数が10進数表記で桁数が9桁から10桁に変わる)」などは、あれほど騒がれたのになんだか拍子抜けしますね。


CVSがコケてしまったとか、あったですよ。
「そんなところで止まるなよ!」と思うですが。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-02-04 01:35
引用:

CVSがコケてしまったとか、あったですよ。


え、そうだったんですか!?
き、気づかなかった・・・

スキルアップ/キャリアアップ(JOB@IT)