昔の UNIX 系 OS では halt する前に sync コマンドを叩く習わしがあったとよく聞くことがありますが
1. 最近現役で使われている OS でも「halt」コマンドを実行する前に sync することに意味があるものは存在するのでしょうか? また過去に意味があった OS とは具体的にどの OS のどのバージョンぐらいまでの話なのでしょうか?
2. (halt ではなく)「shutdown」コマンドを使ってシャットダウンするときにも事前に sync をする必要がある|あった OS は過去に存在したことがあるのでしょうか? あったとすれば、それはどの OS のどのバージョンぐらいまでの話でしょうか?
関連: http://nosa.cocolog-nifty.com/sanonosa/2008/05/unixos_9223.html
現在のUnix系OSはsyncを行わなくとも、shutdown/haltしても問題ありません。
これは先立ってsync命令があらかじめ実行されるように、shutdown/haltコマンドに実装されています。
http://www.linux.or.jp/JM/html/gnumaniak/man1/sync.1.html
実経験では2002年ぐらいのKernel2.4(debian,redhat)では、既に実装されていたと記憶しています。
「sync,sync,sync,halt」を行う人も少なくなりましたね。
「~から実装」というソースは見つかりませんでした・・・。
大昔、sync の3回の実行が必要だったのは、halt/shutdown する前ではなく後です。
1. shutdown コマンドでシングルユーザモードに移行
2. シングルユーザモードでsync を3回実行
3. 電源スイッチの操作で電源断
が、当時のシステム停止手順でした。
私が System III を使っていたころは、まだ、この手順でした。
もっと前、shutdownコマンドがまだなかった時代は別のコマンドだったはずですが、
私は実体験がなく、わかりません。
SunOS 4.* は、すでに、shutdown だけでシステム停止できるようになっていました。
shutdownコマンドは 4.0BSDからとありますので、SunOS 4.* に今のshutdownコマンドがあったのは不思議ではないですね。
http://www.openbsd.org/cgi-bin/man.cgi?query=shutdown&apropos=0&...
ありがとうございます。
だいぶ古い時代の話なのですね。
http://ja.wikipedia.org/wiki/UNIX_System_V とあわせて読み解くと、1980年代前半には既に sync 不要となっていたというところでしょうか。
> 1. shutdown コマンドでシングルユーザモードに移行
> 2. シングルユーザモードでsync を3回実行
確かに、先にシングルユーザモードに移行しないと sync してもしょうがないですよね…
なるほど、ありがとうございます。
SunOS 等、Linux 以外の OS での情報もお待ちしております。(このような曖昧な情報でも構いませんので)