低レベルのシステム コールなどを含む多くのソフトウェアは、適切に機能するために、正しい時刻を取得して適切に同期することに依存しているようです。この依存関係を回避するために、より良い方法を実装できるかどうか疑問に思っていました..たとえば、ハードウェアで生成された固定サイクル (ティック) などに依存します。
2 に答える
グローバル同期時間に依存せずにソフトウェアを作成することが可能です。詳細については、分散プログラミングに関する本の1つをお読みください。たとえば、次の本をご覧ください。http: //www.amazon.com/Distributed-Systems-Algorithmic-Approach-Information/dp/1584885645/ref=sr_1_12?ie = UTF8&qid = 1341166029&sr = 8-12&keywords = Distributed + systems
本を読む時間がない場合は、ベクタークロックをご覧ください:http://en.wikipedia.org/wiki/Vector_clock
A. 現在のうるう秒エラーは、カーネルのバグが原因でした。これ以上何もない。
B. ほとんどのプログラムは時間を気にしません。
C. 時間を気にするプログラムがありますが、実際のグローバル時間ではなく、ローカル参照だけです。ここでのコントラクトは非常に単純な疑似コードです:
long timeFirst = System.GetTime;
long timeSecond = System.GetTime;
assert (timeFirst <= timeSecond);
D. はい、いくつかのプログラム/サブシステムがあり、正確なグローバル時間が不可欠であり、通常は問題に備えています。(たとえば、GPS 受信機は正確な時間を見つけるために多くの計算を行います。失敗した場合、月にいることは表示されませんが、適切なエラー メッセージが表示されます。)
要約すると、最近のプログラム/システムでは時間が正しく処理されます。カーネルのバグがありました。NTP-IS-INHERENTLY-EVIL のような誇大宣伝をしないでください。:)