表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

2/49

020 どうしましょうか


●020 どうしましょうか


 ときは平成Y+1年、年明け早々、誰もいない研究室で、外付けHDDを前に途方に暮れていた。年明け早々だけど、暮れていた。


 すでに昨年のうちに春季の学会発表のエントリーを済ませていて、あとは締切日までに論文(...いや正確には論文ではなくて「予稿」というのだけど)の執筆をして、当日までにプレゼンの準備をすればよいのだけれども、外付けHDDに保存していた実験データが消えてしまった。


 ちなみに外付けHDDには解析スクリプトや解析データも保存されていて、これらは無事である。論文やプレゼンで使うグラフなどは解析データから生成するので学会発表の準備を進めることは可能だ。


 でも、学会発表の根拠となる実験データを無くしてしまっていてよいのだろうか。発表後に、例えば何年も過ぎた後に実験データが行方不明となっていた、というのは許されて良い気がする。必要なら再現試験をすればよい。でも発表前にデータが無いというのは駄目な気がする。自分基準でも駄目だと思うし、多分、研究室としてもそんな発表は許可しないのではないか。きっとそうだ。発表キャンセルか。


 予定表をみるとボスに相談できるのは1週間後だ。昨年末に何もしなかったのが後悔される。


 私「嗚呼っ」(...ナルホドではなくて、ため息です)


 もう一度、同じパラメータで実験を行えば同じ実験データが得られるはず。もちろん測定誤差は発生し、全く同じ実験データにはならないが主たる主張には影響しない。何度も実験を繰り返してきた私には再現性に自信がある。でも1週間では必要な実験を再度行うには時間が少なすぎる。1ヶ月くらいは必要だろう。


 では、削除されてしまったファイルは復活できないのだろうか(...いや自分が削除したんだけれども)。


 試しに外付けHDDをパソコンに接続すると「/dev/sdb」というデバイスファイルができる(...OSは L1n です、M0c は怖いトラウマ発症中)。「/dev/sdb1」や「/dev/sdb2」というデバイスファイルもできるけどね。


 このファイルをリードすればHDDの全領域のデータを読み出せる。全領域とは使用中/未使用を問わずに全部の領域という意味だ。あ、これらのデバイスファイルの所有者は root なので、アクセスするには sudo するか、chmod o+r でファイルパーミッションを立てる。


 ddコマンドで適当に読み出して、stringsコマンドで処理すると、解析スクリプトや実験時のメモ書きらしき文字列が見つかる。


 ファイルを削除しても、データ自体がHDDに残っているのであれば復活できるかも。


 この1週間はHDDの仕組みを調査してファイルの復活にチャレンジすることにしよう。


 ***


 HDDの最小のアクセス単位をセクタと呼び、以前は 1 セクタは 512 バイトでした。現在のHDDでは、物理的なアクセスの最小単位は 4096 バイトなどと大きくなった。このようなHDDでも、旧式のOSに対応するため、論理的な処理によって 512 バイト単位でのアクセスを可能とする製品もあるそうだ。なので、セクタとの最小アクセス単位が一致しないこともある。歴史的って重たいから。


 そして、OS側でもHDDへのアクセス単位を 4096 バイトなどで処理するようになり、この処理単位をクラスタあるいはアロケーションユニットと言うらしい。昔のHDDで 1 セクタが 512 バイトだと、8 セクタで 1 アロケーションユニットとなる。ああ、面倒だ。


 手元にあるOSはアロケーションユニットが 4096 バイトで、HDDのセクタも 4096 バイトなので、今は良いけどね。...、今って、平成Y+1年なのでよろしく!


 昔は C,H,S の 3 つを指定してHDDにアクセスにしていたそうだ。C はシリンダ、H は ヘッド、S はセクタのことだ。今は LBA(Logical Block Addressing)と言って、全てのセクタに通し番号を付って、その番地アドレスでアクセスする。便利になった。


 LBA のセクタ番号は、最初は 28 ビットだったが 32 ビットに拡張されて、Large LBA では 48 ビットになった。1 セクタ 4096 バイトのHDDなら、32 ビットで 4096 * 2^32 = 16TB まで扱うことができて、48 ビットならその 65536 倍で、...もう十分です。


 このHDDは 1 セクタが 4096 バイトで2TBなので、488,378,646 セクタある。488378646 は 16 進表記で 1D1C1116 です。


 ***


評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ