セマフォがタイムアウトしました


なんて言われても・・・ヽ(´ー`)ノ

「セマフォ?なにそれおいしいの??」状態になる人は多いはず。

内蔵HDDを外付けで変換するケーブルからフォーマットかけようとしたら
サーバマネージャーからそんなメッセージをいただきました。

単純に、今回は内蔵用SATA-HDDを外付けに変換できるケーブルを使ってPCに繋ぎたかったんだけど、
たまたま元々その変換コネクタ純正のケーブルじゃないSATAケーブル使ったんですよ。
SATAケーブルを変換コネクタ純正のケーブルに変更したところ無事解決。

3.5inchのSATA接続の80GBなんて珍しいヽ(´ー`)ノ
CentOS入れていました。もうLinuxからWindowsServerに浮気しっぱなしなのでCentOSとはお別れしようと思い云々・・・
てことで、これからやることはNTFSで初期化→ゼロフォーマット→dskchkかな。

セマフォがタイムアウトについて、

SATAケーブルはSATAケーブルでも、
変換しすぎて脳みそこんがらがっちゃったみたいな感じで、
SATAケーブル自体の長さとか劣化度合とか
うまくHDDとのやり取りができない場合に
「セマフォ」が「タイムアウト」するわけです。

たぶん、「言ってる意味わかんないから出直してきて」みたいな感じなのかなと思いました。

そもそも「セマフォ」とは、

並行して動作しているプロセス間で同期を取ったり割り込み処理の制御を行う機構。また、そのためにプロセス間で交換される信号。もともとは「手旗信号」の意味。特に、複数のプロセスでメモリ領域やディスク上のファイルを共有している場合に、同時にアクセスして内容の破壊や不整合が起きるのを防ぐために使われる。

ふむ。
難しい言葉並べられても・・・ってことになる。

つまり、PC上で何かする際、ひとつのプログラムだけが実行されているってことはなくて、
同時進行で色んな処理がPC内で行われている。
そんな時に、その処理の最中に、上手に「プロセス間で交換される信号」とやらが交換されないと
「セマフォがタイムアウト」するみたいですね。

ということは、今回初めてお目にかかった現象ですが、
この現象というのは別にHDDを外付けで〜とかって場合に限らず起こりうるわけですね。

例えば、デジカメとかフラッシュメモリ的なものでもあり得るのかな。
上にも書いた通り、
PCの内部では、ひとつのプロセスしか走っていないってことはないので、
解決策としては、
*ケーブルがあるならケーブルで直接繋いでみる
*ケーブルが何種類かあるならセマフォがタイムアウトしないケーブルを探してみる
*とりあえず、動かしているプロセスを終了させてみる。(簡単に言ったらブラウザ閉じたりとか)
*メモリだったら、違う方法で読み込んでみる
他にあるのかな〜

そんな頻繁に起こるわけじゃない気もするんですけども、
頻繁に起きるのであれば、
バッティングしてるプロセスを探してみるってゆうのもアリなんですかね。。。

時々厄介な動きしますからね、PCは。
プログラムは終了しているように見えてプロセスは続行されていたりとか。

Posted in PC by prolography at 2月 25th, 2011 .
Tags: ,
海外現地オプショナルツアーなら【VELTRA(ベルトラ)】
ケンコーコム